From c4a5061851eb71c8068fa9228c437f1d39b246ec Mon Sep 17 00:00:00 2001 From: alborrajo Date: Tue, 6 Sep 2022 20:58:09 +0200 Subject: [PATCH 01/72] Fixed issues in the skill changer when having skills set for more than one vocation --- .../Handler/SkillGetCurrentSetSkillListHandler.cs | 8 +++----- .../Handler/SkillGetLearnedSkillListHandler.cs | 1 + .../Handler/SkillGetSetAbilityListHandler.cs | 4 +++- .../Handler/SkillGetSetSkillListHandler.cs | 4 ++-- .../Entity/PacketStructure/C2SSkillGetSetSkillListReq.cs | 8 +++++++- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs index 4d5bbb3a1..09c6faad4 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs @@ -8,7 +8,7 @@ namespace Arrowgene.Ddon.GameServer.Handler { - public class SkillGetCurrentSetSkillListHandler : PacketHandler + public class SkillGetCurrentSetSkillListHandler : StructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(SkillGetCurrentSetSkillListHandler)); @@ -16,11 +16,9 @@ public SkillGetCurrentSetSkillListHandler(DdonGameServer server) : base(server) { } - public override PacketId Id => PacketId.C2S_SKILL_GET_CURRENT_SET_SKILL_LIST_REQ; - - public override void Handle(GameClient client, IPacket packet) + public override void Handle(GameClient client, StructurePacket packet) { - // TODO: Filter so only the current job skills are sent? + // TODO: Filter so only the current job skills are sent? Not sure S2CSkillGetCurrentSetSkillListRes res = new S2CSkillGetCurrentSetSkillListRes(); res.NormalSkillList = client.Character.NormalSkills; res.SetCustomSkillList = client.Character.CustomSkills; diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs index 603b13278..ee48c1876 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs @@ -18,6 +18,7 @@ public SkillGetLearnedSkillListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { + // TODO: Move this to DB client.Send(new S2CSkillGetLearnedSkillListRes() { SetAcquierementParam = SkillGetAcquirableSkillListHandler.AllSkills .Select(skill => new CDataLearnedSetAcquirementParam() { diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs index 20ed1f143..dd8b82288 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs @@ -16,7 +16,9 @@ public SkillGetSetAbilityListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - client.Send(new S2CSkillGetSetAbilityListRes()); + client.Send(new S2CSkillGetSetAbilityListRes() { + SetAcquierementParam = client.Character.Abilities + }); } } } \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs index 49e88618a..b5dca6cfe 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs @@ -1,3 +1,4 @@ +using System.Linq; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; @@ -16,9 +17,8 @@ public SkillGetSetSkillListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - // This response should return skills set for every job. client.Send(new S2CSkillGetSetSkillListRes() { - SetAcquierementParam = client.Character.CustomSkills + SetAcquierementParam = client.Character.CustomSkills.Where(x => x.Job == packet.Structure.Job).ToList() }); } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillGetSetSkillListReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillGetSetSkillListReq.cs index f8ca79113..11babb765 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillGetSetSkillListReq.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillGetSetSkillListReq.cs @@ -1,4 +1,5 @@ using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Entity.PacketStructure @@ -7,16 +8,21 @@ public class C2SSkillGetSetSkillListReq : IPacketStructure { public PacketId Id => PacketId.C2S_SKILL_GET_SET_SKILL_LIST_REQ; + public JobId Job { get; set; } + public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, C2SSkillGetSetSkillListReq obj) { + WriteByte(buffer, (byte) obj.Job); } public override C2SSkillGetSetSkillListReq Read(IBuffer buffer) { - return new C2SSkillGetSetSkillListReq(); + return new C2SSkillGetSetSkillListReq() { + Job = (JobId) ReadByte(buffer) + }; } } } From 0ce3df4ac73d37fe2925363f0c6c2a2262b0d048 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Tue, 6 Sep 2022 21:08:30 +0200 Subject: [PATCH 02/72] Handling of Shout and Party chat messages --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index b42da4767..4cae55f38 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -72,8 +72,12 @@ private void Deliver(GameClient client, ChatResponse response) switch (response.Type) { case LobbyChatMsgType.Say: + case LobbyChatMsgType.Shout: response.Recipients.AddRange(_server.Clients); break; + case LobbyChatMsgType.Party: + response.Recipients.AddRange(client.Party.Members); + break; default: response.Recipients.Add(client); break; From bfa17f65fd1e665de358409d744a433cd40b74b4 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Wed, 7 Sep 2022 22:48:55 +0200 Subject: [PATCH 03/72] Identified Instance and Context related packets --- .../Chat/Command/Commands/EnemyCommand.cs | 2 +- .../Handler/ContextGetSetContextHandler.cs | 24 ++++++--- .../Handler/PartyPartyJoinHandler.cs | 1 - .../Handler/StageAreaChangeHandler.cs | 2 +- .../Entity/EntitySerializer.cs | 15 +++--- .../C2SContextSetContextNtc.cs | 37 +++++++++++++ .../C2SInstanceEnemyGroupEntryNtc.cs | 34 ++++++++++++ .../C2SInstanceEnemyGroupLeaveNtc.cs | 34 ++++++++++++ .../C2SInstanceEnemyKillReq.cs | 8 +-- .../C2SInstanceGetEnemySetListReq.cs | 8 +-- .../S2CContextMasterChangeNtc.cs | 35 ++++++++++++ .../S2CContextMasterInfoNtc.cs | 36 +++++++++++++ ...ntextNtc.cs => S2CContextSetContextNtc.cs} | 12 ++--- .../S2CContext_35_14_16_Ntc.cs | 35 ------------ .../S2CContext_35_15_16_Ntc.cs | 35 ------------ ...2_16_Ntc.cs => S2CInstanceAreaResetNtc.cs} | 12 ++--- .../S2CInstanceEnemyRepopNtc.cs | 8 +-- .../S2CInstanceGetEnemySetListRes.cs | 8 +-- .../Entity/Structure/CDataMasterInfo.cs | 34 ++++++++++++ ...StageLayoutId.cs => CDataStageLayoutId.cs} | 12 ++--- .../Entity/Structure/CData_35_14_16.cs | 33 ------------ Arrowgene.Ddon.Shared/Model/StageId.cs | 6 +-- Arrowgene.Ddon.Shared/Network/PacketId.cs | 54 ++++++++++--------- 23 files changed, 304 insertions(+), 181 deletions(-) create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SContextSetContextNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupEntryNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupLeaveNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterChangeNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterInfoNtc.cs rename Arrowgene.Ddon.Shared/Entity/PacketStructure/{S2CSetContextNtc.cs => S2CContextSetContextNtc.cs} (67%) delete mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_14_16_Ntc.cs delete mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_15_16_Ntc.cs rename Arrowgene.Ddon.Shared/Entity/PacketStructure/{S2CInstance_13_42_16_Ntc.cs => S2CInstanceAreaResetNtc.cs} (53%) create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataMasterInfo.cs rename Arrowgene.Ddon.Shared/Entity/Structure/{CStageLayoutId.cs => CDataStageLayoutId.cs} (68%) delete mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CData_35_14_16.cs diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/EnemyCommand.cs b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/EnemyCommand.cs index ac3b7d40c..274833004 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/EnemyCommand.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/EnemyCommand.cs @@ -45,7 +45,7 @@ public override void Execute(string[] command, GameClient client, ChatMessage me b1.WriteByte(0x01); b1.WriteByte(0x00); b1.WriteByte(0x00); - Packet test1 = new Packet(PacketId.S2C_INSTANCE_13_42_16_NTC, b1.GetAllBytes()); + Packet test1 = new Packet(PacketId.S2C_INSTANCE_AREA_RESET_NTC, b1.GetAllBytes()); // client.Send(test1); diff --git a/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs index 0bdacd473..7f17a8b18 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs @@ -1,4 +1,6 @@ -using Arrowgene.Ddon.Server; +using System; +using System.Collections.Generic; +using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; @@ -21,17 +23,23 @@ public override void Handle(GameClient client, StructurePacket() { + new CDataMasterInfo() { + UniqueId = packet.Structure.Base.UniqueId, + Unk0 = 0 + } + } + }); // We believe it may be telling the client to load a persistent context. // If it's not sent, it will load a new context. // Sending S2CInstance_13_42_16_Ntc resets it (Like its done in StageAreaChangeHandler) - S2CContextSetContextBaseNtc baseNtc = new S2CContextSetContextBaseNtc(); - baseNtc.Base = packet.Structure.Base; + // Send to all or just the host? + client.Party.SendToAll(new S2CContextSetContextBaseNtc() { + Base = packet.Structure.Base + }); foreach(GameClient member in client.Party.Members) { diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs index efca24f3c..525ea3abf 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs @@ -1,4 +1,3 @@ -using System.Linq; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; diff --git a/Arrowgene.Ddon.GameServer/Handler/StageAreaChangeHandler.cs b/Arrowgene.Ddon.GameServer/Handler/StageAreaChangeHandler.cs index 5738e2639..4e36773af 100644 --- a/Arrowgene.Ddon.GameServer/Handler/StageAreaChangeHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/StageAreaChangeHandler.cs @@ -38,7 +38,7 @@ public override void Handle(GameClient client, StructurePacket not a packet - Create(new CData_35_14_16.Serializer()); Create(new CData_772E80.Serializer()); Create(new CDataSpSkill.Serializer()); Create(new CDataAbilityLevelParam.Serializer()); @@ -91,6 +90,7 @@ static EntitySerializer() Create(new CDataLobbyContextPlayer.Serializer()); Create(new CDataLobbyMemberInfoSerializer()); Create(new CDataLoginSettingSerializer()); + Create(new CDataMasterInfo.Serializer()); Create(new CDataMatchingProfileSerializer()); Create(new CDataMoonSchedule.Serializer()); Create(new CDataNamedEnemyParamClient.Serializer()); @@ -140,7 +140,7 @@ static EntitySerializer() Create(new CDataWarpPoint.Serializer()); Create(new CDataWeatherLoop.Serializer()); Create(new CDataWeatherSchedule.Serializer()); - Create(new CStageLayoutId.Serializer()); + Create(new CDataStageLayoutId.Serializer()); Create(new UnkownCharacterData0Serializer()); Create(new UnkownCharacterData1Serializer()); @@ -166,9 +166,12 @@ static EntitySerializer() Create(new C2SConnectionMoveInServerReq.Serializer()); Create(new C2SConnectionMoveOutServerReq.Serializer()); Create(new C2SContextGetSetContextReq.Serializer()); + Create(new C2SContextSetContextNtc.Serializer()); Create(new C2SGpGetValidChatComGroupReq.Serializer()); Create(new C2SInnGetStayPriceReq.Serializer()); Create(new C2SInnStayInnReq.Serializer()); + Create(new C2SInstanceEnemyGroupEntryNtc.Serializer()); + Create(new C2SInstanceEnemyGroupLeaveNtc.Serializer()); Create(new C2SInstanceEnemyKillReq.Serializer()); Create(new C2SInstanceExchangeOmInstantKeyValueReq.Serializer()); Create(new C2SInstanceGetEnemySetListReq.Serializer()); @@ -270,19 +273,19 @@ static EntitySerializer() Create(new S2CConnectionLogoutRes.Serializer()); Create(new S2CConnectionMoveInServerRes.Serializer()); Create(new S2CConnectionMoveOutServerRes.Serializer()); - Create(new S2CContext_35_14_16_Ntc.Serializer()); - Create(new S2CContext_35_15_16_Ntc.Serializer()); Create(new S2CContextGetPartyMypawnContextNtc.Serializer()); Create(new S2CContextGetLobbyPlayerContextNtc.Serializer()); Create(new S2CContextGetPartyPlayerContextNtc.Serializer()); Create(new S2CContextGetSetContextRes.Serializer()); + Create(new S2CContextMasterChangeNtc.Serializer()); + Create(new S2CContextMasterInfoNtc.Serializer()); Create(new S2CContextSetContextBaseNtc.Serializer()); Create(new S2CGpGetValidChatComGroupRes.Serializer()); Create(new S2CInnGetStayPriceRes.Serializer()); Create(new S2CInnStayInnRes.Serializer()); Create(new S2CInstance_13_20_16_Ntc.Serializer()); Create(new S2CInstance_13_23_16_Ntc.Serializer()); - Create(new S2CInstance_13_42_16_Ntc.Serializer()); + Create(new S2CInstanceAreaResetNtc.Serializer()); Create(new S2CInstanceEnemyKillRes.Serializer()); Create(new S2CInstanceEnemyRepopNtc.Serializer()); Create(new S2CInstanceExchangeOmInstantKeyValueRes.Serializer()); @@ -361,7 +364,7 @@ static EntitySerializer() Create(new S2CSkillSetOffSkillRes.Serializer()); Create(new S2CSkillSetSkillRes.Serializer()); Create(new S2CSetCommunicationShortcutRes.Serializer()); - Create(new S2CSetContextNtc.Serializer()); + Create(new S2CContextSetContextNtc.Serializer()); Create(new S2CSetShortcutRes.Serializer()); Create(new S2CStageAreaChangeRes.Serializer()); Create(new S2CStageGetStageListRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SContextSetContextNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SContextSetContextNtc.cs new file mode 100644 index 000000000..a10904b36 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SContextSetContextNtc.cs @@ -0,0 +1,37 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SContextSetContextNtc : IPacketStructure + { + public PacketId Id => PacketId.C2S_CONTEXT_SET_CONTEXT_NTC; + + public C2SContextSetContextNtc() + { + Base = new CDataContextSetBase(); + Additional = new CDataContextSetAdditional(); + } + + public CDataContextSetBase Base { get; set; } + public CDataContextSetAdditional Additional { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SContextSetContextNtc obj) + { + WriteEntity(buffer, obj.Base); + WriteEntity(buffer, obj.Additional); + } + + public override C2SContextSetContextNtc Read(IBuffer buffer) + { + C2SContextSetContextNtc obj = new C2SContextSetContextNtc(); + obj.Base = ReadEntity(buffer); + obj.Additional = ReadEntity(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupEntryNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupEntryNtc.cs new file mode 100644 index 000000000..58633cac0 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupEntryNtc.cs @@ -0,0 +1,34 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SInstanceEnemyGroupEntryNtc : IPacketStructure + { + public PacketId Id => PacketId.C2S_INSTANCE_ENEMY_GROUP_ENTRY_NTC; + + public C2SInstanceEnemyGroupEntryNtc() + { + LayoutId = new CDataStageLayoutId(); + } + + public CDataStageLayoutId LayoutId { get; set; } + + public class Serializer : PacketEntitySerializer + { + + public override void Write(IBuffer buffer, C2SInstanceEnemyGroupEntryNtc obj) + { + WriteEntity(buffer, obj.LayoutId); + } + + public override C2SInstanceEnemyGroupEntryNtc Read(IBuffer buffer) + { + C2SInstanceEnemyGroupEntryNtc obj = new C2SInstanceEnemyGroupEntryNtc(); + obj.LayoutId = ReadEntity(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupLeaveNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupLeaveNtc.cs new file mode 100644 index 000000000..cd3468122 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyGroupLeaveNtc.cs @@ -0,0 +1,34 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SInstanceEnemyGroupLeaveNtc : IPacketStructure + { + public PacketId Id => PacketId.C2S_INSTANCE_ENEMY_GROUP_LEAVE_NTC; + + public C2SInstanceEnemyGroupLeaveNtc() + { + LayoutId = new CDataStageLayoutId(); + } + + public CDataStageLayoutId LayoutId { get; set; } + + public class Serializer : PacketEntitySerializer + { + + public override void Write(IBuffer buffer, C2SInstanceEnemyGroupLeaveNtc obj) + { + WriteEntity(buffer, obj.LayoutId); + } + + public override C2SInstanceEnemyGroupLeaveNtc Read(IBuffer buffer) + { + C2SInstanceEnemyGroupLeaveNtc obj = new C2SInstanceEnemyGroupLeaveNtc(); + obj.LayoutId = ReadEntity(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyKillReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyKillReq.cs index 4de7e295c..9dc757959 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyKillReq.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceEnemyKillReq.cs @@ -10,7 +10,7 @@ public class C2SInstanceEnemyKillReq : IPacketStructure public C2SInstanceEnemyKillReq() { - LayoutId=new CStageLayoutId(); + LayoutId=new CDataStageLayoutId(); SetId=0; InnerId=0; DropPosX=0; @@ -21,7 +21,7 @@ public C2SInstanceEnemyKillReq() RegionFlag=0; } - public CStageLayoutId LayoutId { get; set; } + public CDataStageLayoutId LayoutId { get; set; } public uint SetId { get; set; } public uint InnerId { get; set; } public double DropPosX { get; set; } @@ -36,7 +36,7 @@ public class Serializer : PacketEntitySerializer public override void Write(IBuffer buffer, C2SInstanceEnemyKillReq obj) { - WriteEntity(buffer, obj.LayoutId); + WriteEntity(buffer, obj.LayoutId); WriteUInt32(buffer, obj.SetId); WriteUInt32(buffer, obj.InnerId); WriteDouble(buffer, obj.DropPosX); @@ -50,7 +50,7 @@ public override void Write(IBuffer buffer, C2SInstanceEnemyKillReq obj) public override C2SInstanceEnemyKillReq Read(IBuffer buffer) { C2SInstanceEnemyKillReq obj = new C2SInstanceEnemyKillReq(); - obj.LayoutId = ReadEntity(buffer); + obj.LayoutId = ReadEntity(buffer); obj.SetId = ReadUInt32(buffer); obj.InnerId = ReadUInt32(buffer); obj.DropPosX = ReadDouble(buffer); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceGetEnemySetListReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceGetEnemySetListReq.cs index cd8671237..817217dfc 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceGetEnemySetListReq.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SInstanceGetEnemySetListReq.cs @@ -10,11 +10,11 @@ public class C2SInstanceGetEnemySetListReq : IPacketStructure public C2SInstanceGetEnemySetListReq() { - LayoutId = new CStageLayoutId(); + LayoutId = new CDataStageLayoutId(); SubGroupId = 0; } - public CStageLayoutId LayoutId { get; set; } + public CDataStageLayoutId LayoutId { get; set; } public byte SubGroupId { get; set; } public class Serializer : PacketEntitySerializer @@ -22,14 +22,14 @@ public class Serializer : PacketEntitySerializer public override void Write(IBuffer buffer, C2SInstanceGetEnemySetListReq obj) { - WriteEntity(buffer, obj.LayoutId); + WriteEntity(buffer, obj.LayoutId); WriteByte(buffer, obj.SubGroupId); } public override C2SInstanceGetEnemySetListReq Read(IBuffer buffer) { C2SInstanceGetEnemySetListReq obj = new C2SInstanceGetEnemySetListReq(); - obj.LayoutId = ReadEntity(buffer); + obj.LayoutId = ReadEntity(buffer); obj.SubGroupId = ReadByte(buffer); return obj; } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterChangeNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterChangeNtc.cs new file mode 100644 index 000000000..87418d782 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterChangeNtc.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CContextMasterChangeNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_CONTEXT_MASTER_CHANGE_NTC; + + public S2CContextMasterChangeNtc() + { + Unk0 = new List(); + } + + public List Unk0 { get; set; } // Probably a list of heartbeats for the different contexts? + + public class Serializer : PacketEntitySerializer + { + + public override void Write(IBuffer buffer, S2CContextMasterChangeNtc obj) + { + WriteEntityList(buffer, obj.Unk0); + } + + public override S2CContextMasterChangeNtc Read(IBuffer buffer) + { + S2CContextMasterChangeNtc obj = new S2CContextMasterChangeNtc(); + obj.Unk0 = ReadEntityList(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterInfoNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterInfoNtc.cs new file mode 100644 index 000000000..e4086bb97 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextMasterInfoNtc.cs @@ -0,0 +1,36 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + // Does exactly the same as MasterChangeNtc + public class S2CContextMasterInfoNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_CONTEXT_MASTER_INFO_NTC; + + public S2CContextMasterInfoNtc() + { + Unk0 = new List(); + } + + public List Unk0 { get; set; } + + public class Serializer : PacketEntitySerializer + { + + public override void Write(IBuffer buffer, S2CContextMasterInfoNtc obj) + { + WriteEntityList(buffer, obj.Unk0); + } + + public override S2CContextMasterInfoNtc Read(IBuffer buffer) + { + S2CContextMasterInfoNtc obj = new S2CContextMasterInfoNtc(); + obj.Unk0 = ReadEntityList(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetContextNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextSetContextNtc.cs similarity index 67% rename from Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetContextNtc.cs rename to Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextSetContextNtc.cs index 3fc7490e9..8e7fad283 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetContextNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextSetContextNtc.cs @@ -4,11 +4,11 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { - public class S2CSetContextNtc : IPacketStructure + public class S2CContextSetContextNtc : IPacketStructure { public PacketId Id => PacketId.S2C_CONTEXT_SET_CONTEXT_NTC; - public S2CSetContextNtc() + public S2CContextSetContextNtc() { Base = new CDataContextSetBase(); Additional = new CDataContextSetAdditional(); @@ -17,17 +17,17 @@ public S2CSetContextNtc() public CDataContextSetBase Base { get; set; } public CDataContextSetAdditional Additional { get; set; } - public class Serializer : PacketEntitySerializer + public class Serializer : PacketEntitySerializer { - public override void Write(IBuffer buffer, S2CSetContextNtc obj) + public override void Write(IBuffer buffer, S2CContextSetContextNtc obj) { WriteEntity(buffer, obj.Base); WriteEntity(buffer, obj.Additional); } - public override S2CSetContextNtc Read(IBuffer buffer) + public override S2CContextSetContextNtc Read(IBuffer buffer) { - S2CSetContextNtc obj = new S2CSetContextNtc(); + S2CContextSetContextNtc obj = new S2CContextSetContextNtc(); obj.Base = ReadEntity(buffer); obj.Additional = ReadEntity(buffer); return obj; diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_14_16_Ntc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_14_16_Ntc.cs deleted file mode 100644 index a4bfeed6b..000000000 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_14_16_Ntc.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; -using Arrowgene.Buffers; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Network; - -namespace Arrowgene.Ddon.Shared.Entity.PacketStructure -{ - public class S2CContext_35_14_16_Ntc : IPacketStructure - { - public PacketId Id => PacketId.S2C_CONTEXT_35_14_16_NTC; - - public S2CContext_35_14_16_Ntc() - { - Unk0 = new List(); - } - - public List Unk0 { get; set; } // Probably a list of heartbeats for the different contexts? - - public class Serializer : PacketEntitySerializer - { - - public override void Write(IBuffer buffer, S2CContext_35_14_16_Ntc obj) - { - WriteEntityList(buffer, obj.Unk0); - } - - public override S2CContext_35_14_16_Ntc Read(IBuffer buffer) - { - S2CContext_35_14_16_Ntc obj = new S2CContext_35_14_16_Ntc(); - obj.Unk0 = ReadEntityList(buffer); - return obj; - } - } - } -} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_15_16_Ntc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_15_16_Ntc.cs deleted file mode 100644 index 706895cbd..000000000 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContext_35_15_16_Ntc.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; -using Arrowgene.Buffers; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Network; - -namespace Arrowgene.Ddon.Shared.Entity.PacketStructure -{ - public class S2CContext_35_15_16_Ntc : IPacketStructure - { - public PacketId Id => PacketId.S2C_CONTEXT_35_15_16_NTC; - - public S2CContext_35_15_16_Ntc() - { - Unk0 = new List(); - } - - public List Unk0 { get; set; } - - public class Serializer : PacketEntitySerializer - { - - public override void Write(IBuffer buffer, S2CContext_35_15_16_Ntc obj) - { - WriteEntityList(buffer, obj.Unk0); - } - - public override S2CContext_35_15_16_Ntc Read(IBuffer buffer) - { - S2CContext_35_15_16_Ntc obj = new S2CContext_35_15_16_Ntc(); - obj.Unk0 = ReadEntityList(buffer); - return obj; - } - } - } -} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstance_13_42_16_Ntc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceAreaResetNtc.cs similarity index 53% rename from Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstance_13_42_16_Ntc.cs rename to Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceAreaResetNtc.cs index 20c46d851..cb8a242c1 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstance_13_42_16_Ntc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceAreaResetNtc.cs @@ -3,19 +3,19 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { - public class S2CInstance_13_42_16_Ntc : IPacketStructure + public class S2CInstanceAreaResetNtc : IPacketStructure { - public PacketId Id => PacketId.S2C_INSTANCE_13_42_16_NTC; + public PacketId Id => PacketId.S2C_INSTANCE_AREA_RESET_NTC; - public class Serializer : PacketEntitySerializer + public class Serializer : PacketEntitySerializer { - public override void Write(IBuffer buffer, S2CInstance_13_42_16_Ntc obj) + public override void Write(IBuffer buffer, S2CInstanceAreaResetNtc obj) { } - public override S2CInstance_13_42_16_Ntc Read(IBuffer buffer) + public override S2CInstanceAreaResetNtc Read(IBuffer buffer) { - return new S2CInstance_13_42_16_Ntc(); + return new S2CInstanceAreaResetNtc(); } } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemyRepopNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemyRepopNtc.cs index 0889e6aaf..be6565dd2 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemyRepopNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemyRepopNtc.cs @@ -10,12 +10,12 @@ public class S2CInstanceEnemyRepopNtc : IPacketStructure public S2CInstanceEnemyRepopNtc() { - LayoutId = new CStageLayoutId(); + LayoutId = new CDataStageLayoutId(); EnemyData = new CDataLayoutEnemyData(); WaitSecond = 0; } - public CStageLayoutId LayoutId { get; set; } + public CDataStageLayoutId LayoutId { get; set; } public CDataLayoutEnemyData EnemyData { get; set; } public uint WaitSecond { get; set; } @@ -24,7 +24,7 @@ public class Serializer : PacketEntitySerializer public override void Write(IBuffer buffer, S2CInstanceEnemyRepopNtc obj) { - WriteEntity(buffer, obj.LayoutId); + WriteEntity(buffer, obj.LayoutId); WriteEntity(buffer, obj.EnemyData); WriteUInt32(buffer, obj.WaitSecond); } @@ -32,7 +32,7 @@ public override void Write(IBuffer buffer, S2CInstanceEnemyRepopNtc obj) public override S2CInstanceEnemyRepopNtc Read(IBuffer buffer) { S2CInstanceEnemyRepopNtc obj = new S2CInstanceEnemyRepopNtc(); - obj.LayoutId = ReadEntity(buffer); + obj.LayoutId = ReadEntity(buffer); obj.EnemyData = ReadEntity(buffer); obj.WaitSecond = ReadUInt32(buffer); return obj; diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceGetEnemySetListRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceGetEnemySetListRes.cs index d2afe052f..859c98322 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceGetEnemySetListRes.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceGetEnemySetListRes.cs @@ -10,7 +10,7 @@ public class S2CInstanceGetEnemySetListRes : ServerResponse { public override PacketId Id => PacketId.S2C_INSTANCE_GET_ENEMY_SET_LIST_RES; public S2CInstanceGetEnemySetListRes() { - LayoutId=new CStageLayoutId(); + LayoutId=new CDataStageLayoutId(); SubGroupId=0; RandomSeed=61235; QuestId=0; @@ -19,7 +19,7 @@ public S2CInstanceGetEnemySetListRes() { NamedParamList=new List(); } - public CStageLayoutId LayoutId { get; set; } + public CDataStageLayoutId LayoutId { get; set; } public byte SubGroupId { get; set; } public uint RandomSeed { get; set; } public uint QuestId { get; set; } @@ -33,7 +33,7 @@ public class Serializer : PacketEntitySerializer public override void Write(IBuffer buffer, S2CInstanceGetEnemySetListRes obj) { WriteServerResponse(buffer, obj); - WriteEntity(buffer, obj.LayoutId); + WriteEntity(buffer, obj.LayoutId); WriteByte(buffer, obj.SubGroupId); WriteUInt32(buffer, obj.RandomSeed); WriteUInt32(buffer, obj.QuestId); @@ -46,7 +46,7 @@ public override S2CInstanceGetEnemySetListRes Read(IBuffer buffer) { S2CInstanceGetEnemySetListRes obj = new S2CInstanceGetEnemySetListRes(); ReadServerResponse(buffer, obj); - obj.LayoutId = ReadEntity(buffer); + obj.LayoutId = ReadEntity(buffer); obj.SubGroupId = ReadByte(buffer); obj.RandomSeed = ReadUInt32(buffer); obj.QuestId = ReadUInt32(buffer); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataMasterInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataMasterInfo.cs new file mode 100644 index 000000000..0487f2533 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataMasterInfo.cs @@ -0,0 +1,34 @@ +using Arrowgene.Buffers; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataMasterInfo + { + public CDataMasterInfo() + { + UniqueId=0; + Unk0=0; + } + + public ulong UniqueId { get; set; } // Context's Unique ID + public sbyte Unk0 { get; set; } + + // Could the casting be troublesome? + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataMasterInfo obj) + { + WriteUInt64(buffer, obj.UniqueId); + WriteByte(buffer, (byte) obj.Unk0); + } + + public override CDataMasterInfo Read(IBuffer buffer) + { + CDataMasterInfo obj = new CDataMasterInfo(); + obj.UniqueId = ReadUInt64(buffer); + obj.Unk0 = (sbyte) ReadByte(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CStageLayoutId.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataStageLayoutId.cs similarity index 68% rename from Arrowgene.Ddon.Shared/Entity/Structure/CStageLayoutId.cs rename to Arrowgene.Ddon.Shared/Entity/Structure/CDataStageLayoutId.cs index 1fe7987f1..fe40619ce 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CStageLayoutId.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataStageLayoutId.cs @@ -5,30 +5,30 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure /// /// CStageLayoutID /// - public class CStageLayoutId + public class CDataStageLayoutId { public uint StageId { get; set; } public byte LayerNo { get; set; } public uint GroupId { get; set; } - public CStageLayoutId() { + public CDataStageLayoutId() { StageId = 0; LayerNo = 0; GroupId = 0; } - public class Serializer : EntitySerializer + public class Serializer : EntitySerializer { - public override void Write(IBuffer buffer, CStageLayoutId obj) + public override void Write(IBuffer buffer, CDataStageLayoutId obj) { WriteUInt32(buffer, obj.StageId); WriteByte(buffer, obj.LayerNo); WriteUInt32(buffer, obj.GroupId); } - public override CStageLayoutId Read(IBuffer buffer) + public override CDataStageLayoutId Read(IBuffer buffer) { - CStageLayoutId obj = new CStageLayoutId(); + CDataStageLayoutId obj = new CDataStageLayoutId(); obj.StageId = ReadUInt32(buffer); obj.LayerNo = ReadByte(buffer); obj.GroupId = ReadUInt32(buffer); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CData_35_14_16.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CData_35_14_16.cs deleted file mode 100644 index 17e113317..000000000 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CData_35_14_16.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Arrowgene.Buffers; - -namespace Arrowgene.Ddon.Shared.Entity.Structure -{ - public class CData_35_14_16 - { - public CData_35_14_16() - { - UniqueId=0; - Unk0=0; - } - - public ulong UniqueId { get; set; } - public byte Unk0 { get; set; } - - public class Serializer : EntitySerializer - { - public override void Write(IBuffer buffer, CData_35_14_16 obj) - { - WriteUInt64(buffer, obj.UniqueId); - WriteByte(buffer, obj.Unk0); - } - - public override CData_35_14_16 Read(IBuffer buffer) - { - CData_35_14_16 obj = new CData_35_14_16(); - obj.UniqueId = ReadUInt64(buffer); - obj.Unk0 = ReadByte(buffer); - return obj; - } - } - } -} diff --git a/Arrowgene.Ddon.Shared/Model/StageId.cs b/Arrowgene.Ddon.Shared/Model/StageId.cs index dbf4f0e89..0b163618b 100644 --- a/Arrowgene.Ddon.Shared/Model/StageId.cs +++ b/Arrowgene.Ddon.Shared/Model/StageId.cs @@ -7,7 +7,7 @@ public readonly struct StageId { public static StageId Invalid = new StageId(0, 0, 0); - public static StageId FromStageLayoutId(CStageLayoutId stageLayoutId) + public static StageId FromStageLayoutId(CDataStageLayoutId stageLayoutId) { return new StageId(stageLayoutId.StageId, stageLayoutId.LayerNo, stageLayoutId.GroupId); } @@ -23,9 +23,9 @@ public StageId(uint id, byte layerNo, uint groupId) GroupId = groupId; } - public CStageLayoutId ToStageLayoutId() + public CDataStageLayoutId ToStageLayoutId() { - return new CStageLayoutId + return new CDataStageLayoutId { StageId = Id, LayerNo = LayerNo, diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index bb5b26dbb..5584e06ff 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -827,6 +827,8 @@ private static Dictionary InitializeLoginPacketIds() // Group: 13 - (INSTANCE) public static readonly PacketId C2S_INSTANCE_GET_ENEMY_SET_LIST_REQ = new PacketId(13, 0, 1, "C2S_INSTANCE_GET_ENEMY_SET_LIST_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_INSTANCE_GET_ENEMY_SET_LIST_RES = new PacketId(13, 0, 2, "S2C_INSTANCE_GET_ENEMY_SET_LIST_RES", ServerType.Game, PacketSource.Server); // 敵セットリスト取得に + public static readonly PacketId C2S_INSTANCE_ENEMY_GROUP_ENTRY_NTC = new PacketId(13, 1, 16, "C2S_INSTANCE_ENEMY_GROUP_ENTRY_NTC", ServerType.Game, PacketSource.Client); + public static readonly PacketId C2S_INSTANCE_ENEMY_GROUP_LEAVE_NTC = new PacketId(13, 2, 16, "C2S_INSTANCE_ENEMY_GROUP_LEAVE_NTC", ServerType.Game, PacketSource.Client); public static readonly PacketId C2S_INSTANCE_ENEMY_KILL_REQ = new PacketId(13, 3, 1, "C2S_INSTANCE_ENEMY_KILL_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_INSTANCE_ENEMY_KILL_RES = new PacketId(13, 3, 2, "S2C_INSTANCE_ENEMY_KILL_RES", ServerType.Game, PacketSource.Server); // 敵死亡リクエスト結果に public static readonly PacketId C2S_INSTANCE_GET_ITEM_SET_LIST_REQ = new PacketId(13, 5, 1, "C2S_INSTANCE_GET_ITEM_SET_LIST_REQ", ServerType.Game, PacketSource.Client); @@ -871,20 +873,20 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES = new PacketId(13, 26, 2, "S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES", ServerType.Game, PacketSource.Server); // インスタンスエリア共有メモリ保存(MtString)に public static readonly PacketId C2S_INSTANCE_GET_INSTANT_KEY_VALUE_STR_REQ = new PacketId(13, 27, 1, "C2S_INSTANCE_GET_INSTANT_KEY_VALUE_STR_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES = new PacketId(13, 27, 2, "S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES", ServerType.Game, PacketSource.Server); // インスタンスエリア共有メモリ取得(MtString)に - public static readonly PacketId S2C_INSTANCE_13_29_16_NTC = new PacketId(13, 29, 16, "S2C_INSTANCE_13_29_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_30_16_NTC = new PacketId(13, 30, 16, "S2C_INSTANCE_13_30_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_31_16_NTC = new PacketId(13, 31, 16, "S2C_INSTANCE_13_31_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_BREAK_REGION_NTC = new PacketId(13, 29, 16, "S2C_INSTANCE_13_29_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_DIE_NTC = new PacketId(13, 30, 16, "S2C_INSTANCE_13_30_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC = new PacketId(13, 31, 16, "S2C_INSTANCE_13_31_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_32_16_NTC = new PacketId(13, 32, 16, "S2C_INSTANCE_13_32_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_33_16_NTC = new PacketId(13, 33, 16, "S2C_INSTANCE_13_33_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_34_16_NTC = new PacketId(13, 34, 16, "S2C_INSTANCE_13_34_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_35_16_NTC = new PacketId(13, 35, 16, "S2C_INSTANCE_13_35_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NOTICE = new PacketId(13, 33, 16, "S2C_INSTANCE_13_33_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NOTICE = new PacketId(13, 34, 16, "S2C_INSTANCE_13_34_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_STAGE_BOSS_ANNIHILATE_NTC = new PacketId(13, 35, 16, "S2C_INSTANCE_13_35_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_36_16_NTC = new PacketId(13, 36, 16, "S2C_INSTANCE_13_36_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_37_16_NTC = new PacketId(13, 37, 16, "S2C_INSTANCE_13_37_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_38_16_NTC = new PacketId(13, 38, 16, "S2C_INSTANCE_13_38_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_39_16_NTC = new PacketId(13, 39, 16, "S2C_INSTANCE_13_39_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_POP_DROP_ITEM_NOTICE = new PacketId(13, 39, 16, "S2C_INSTANCE_13_39_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_ENEMY_REPOP_NTC = new PacketId(13, 40, 16, "S2C_INSTANCE_ENEMY_REPOP_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_40_16_NTC"); - public static readonly PacketId S2C_INSTANCE_13_41_16_NTC = new PacketId(13, 41, 16, "S2C_INSTANCE_13_41_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_13_42_16_NTC = new PacketId(13, 42, 16, "S2C_INSTANCE_13_42_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENCOUNTER_PAWN_NOTICE = new PacketId(13, 41, 16, "S2C_INSTANCE_13_41_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_AREA_RESET_NTC = new PacketId(13, 42, 16, "S2C_INSTANCE_13_42_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_INSTANCE_GET_EX_OM_INFO_REQ = new PacketId(13, 43, 1, "C2S_INSTANCE_GET_EX_OM_INFO_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_INSTANCE_GET_EX_OM_INFO_RES = new PacketId(13, 43, 2, "S2C_INSTANCE_GET_EX_OM_INFO_RES", ServerType.Game, PacketSource.Server); // 拡張OM情報取得に @@ -1587,14 +1589,15 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_CONTEXT_35_4_16_NTC = new PacketId(35, 4, 16, "S2C_CONTEXT_35_4_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_CONTEXT_GET_SET_CONTEXT_REQ = new PacketId(35, 7, 1, "C2S_CONTEXT_GET_SET_CONTEXT_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_CONTEXT_GET_SET_CONTEXT_RES = new PacketId(35, 7, 2, "S2C_CONTEXT_GET_SET_CONTEXT_RES", ServerType.Game, PacketSource.Server); // セットコンテキスト取得に + public static readonly PacketId C2S_CONTEXT_SET_CONTEXT_NTC = new PacketId(35, 9, 16, "C2S_CONTEXT_SET_CONTEXT_NTC", ServerType.Game, PacketSource.Client); public static readonly PacketId C2S_CONTEXT_MASTER_THROW_REQ = new PacketId(35, 10, 1, "C2S_CONTEXT_MASTER_THROW_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_CONTEXT_MASTER_THROW_RES = new PacketId(35, 10, 2, "S2C_CONTEXT_MASTER_THROW_RES", ServerType.Game, PacketSource.Server); // マスター移譲に - public static readonly PacketId S2C_CONTEXT_35_10_16_NTC = new PacketId(35, 10, 16, "S2C_CONTEXT_35_10_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_CONTEXT_MASTER_THROW_NTC = new PacketId(35, 10, 16, "S2C_CONTEXT_35_10_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_CONTEXT_SET_CONTEXT_BASE_NTC = new PacketId(35, 11, 16, "S2C_CONTEXT_SET_CONTEXT_BASE_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_11_16_NTC"); public static readonly PacketId S2C_CONTEXT_35_12_16_NTC = new PacketId(35, 12, 16, "S2C_CONTEXT_35_12_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_CONTEXT_SET_CONTEXT_NTC = new PacketId(35, 13, 16, "S2C_CONTEXT_SET_CONTEXT_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_13_16_NTC"); - public static readonly PacketId S2C_CONTEXT_35_14_16_NTC = new PacketId(35, 14, 16, "S2C_CONTEXT_35_14_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_CONTEXT_35_15_16_NTC = new PacketId(35, 15, 16, "S2C_CONTEXT_35_15_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_CONTEXT_MASTER_CHANGE_NTC = new PacketId(35, 14, 16, "S2C_CONTEXT_35_14_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_CONTEXT_MASTER_INFO_NTC = new PacketId(35, 15, 16, "S2C_CONTEXT_35_15_16_NTC", ServerType.Game, PacketSource.Server); // Group: 36 - (BAZAAR) public static readonly PacketId C2S_BAZAAR_GET_CHARACTER_LIST_REQ = new PacketId(36, 0, 1, "C2S_BAZAAR_GET_CHARACTER_LIST_REQ", ServerType.Game, PacketSource.Client); @@ -2728,6 +2731,8 @@ private static Dictionary InitializeGamePacketIds() // Group: 13 - (INSTANCE) AddPacketIdEntry(packetIds, C2S_INSTANCE_GET_ENEMY_SET_LIST_REQ); AddPacketIdEntry(packetIds, S2C_INSTANCE_GET_ENEMY_SET_LIST_RES); + AddPacketIdEntry(packetIds, C2S_INSTANCE_ENEMY_GROUP_ENTRY_NTC); + AddPacketIdEntry(packetIds, C2S_INSTANCE_ENEMY_GROUP_LEAVE_NTC); AddPacketIdEntry(packetIds, C2S_INSTANCE_ENEMY_KILL_REQ); AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_KILL_RES); AddPacketIdEntry(packetIds, C2S_INSTANCE_GET_ITEM_SET_LIST_REQ); @@ -2772,20 +2777,20 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES); AddPacketIdEntry(packetIds, C2S_INSTANCE_GET_INSTANT_KEY_VALUE_STR_REQ); AddPacketIdEntry(packetIds, S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_29_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_30_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_31_16_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_BREAK_REGION_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_DIE_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_32_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_33_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_34_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_35_16_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NOTICE); + AddPacketIdEntry(packetIds, S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NOTICE); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_STAGE_BOSS_ANNIHILATE_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_36_16_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_37_16_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_38_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_39_16_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_POP_DROP_ITEM_NOTICE); AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_REPOP_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_41_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_13_42_16_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENCOUNTER_PAWN_NOTICE); + AddPacketIdEntry(packetIds, S2C_INSTANCE_AREA_RESET_NTC); AddPacketIdEntry(packetIds, C2S_INSTANCE_GET_EX_OM_INFO_REQ); AddPacketIdEntry(packetIds, S2C_INSTANCE_GET_EX_OM_INFO_RES); @@ -3490,12 +3495,13 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_CONTEXT_GET_SET_CONTEXT_RES); AddPacketIdEntry(packetIds, C2S_CONTEXT_MASTER_THROW_REQ); AddPacketIdEntry(packetIds, S2C_CONTEXT_MASTER_THROW_RES); - AddPacketIdEntry(packetIds, S2C_CONTEXT_35_10_16_NTC); + AddPacketIdEntry(packetIds, C2S_CONTEXT_SET_CONTEXT_NTC); + AddPacketIdEntry(packetIds, S2C_CONTEXT_MASTER_THROW_NTC); AddPacketIdEntry(packetIds, S2C_CONTEXT_SET_CONTEXT_BASE_NTC); AddPacketIdEntry(packetIds, S2C_CONTEXT_35_12_16_NTC); AddPacketIdEntry(packetIds, S2C_CONTEXT_SET_CONTEXT_NTC); - AddPacketIdEntry(packetIds, S2C_CONTEXT_35_14_16_NTC); - AddPacketIdEntry(packetIds, S2C_CONTEXT_35_15_16_NTC); + AddPacketIdEntry(packetIds, S2C_CONTEXT_MASTER_CHANGE_NTC); + AddPacketIdEntry(packetIds, S2C_CONTEXT_MASTER_INFO_NTC); // Group: 36 - (BAZAAR) AddPacketIdEntry(packetIds, C2S_BAZAAR_GET_CHARACTER_LIST_REQ); From c7a9d7706882221f7def08f763e5efea10a175cb Mon Sep 17 00:00:00 2001 From: alborrajo Date: Wed, 7 Sep 2022 22:49:08 +0200 Subject: [PATCH 04/72] Fixed broken animations after switching to EX skill --- .../Handler/SkillChangeExSkillHandler.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs index 8970f2916..f59a039b5 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs @@ -38,6 +38,11 @@ public override void Handle(GameClient client, StructurePacket new CDataCommonU8(skill.SlotNo)).ToList() }); + + // Inform party members of the change + S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(client.Character); + partyPlayerContextNtc.Context.Base.MemberIndex = client.Party.Members.IndexOf(client); + client.Party.SendToAll(partyPlayerContextNtc); } private uint GetBaseSkillId(uint skillId) From 4ffb48cf0441d559036df12e634d5e2e864ab577 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Thu, 8 Sep 2022 17:30:19 +0200 Subject: [PATCH 05/72] No more Adventure Guide notice --- .../QuestGetAdventureGuideQuestNoticeHandler.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs index 6f713f5bf..6af32044e 100644 --- a/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/QuestGetAdventureGuideQuestNoticeHandler.cs @@ -1,4 +1,5 @@ -using Arrowgene.Ddon.GameServer.Dump; +using Arrowgene.Buffers; +using Arrowgene.Ddon.GameServer.Dump; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Network; @@ -19,7 +20,13 @@ public QuestGetAdventureGuideQuestNoticeHandler(DdonGameServer server) : base(se public override void Handle(GameClient client, IPacket packet) { - client.Send(GameFull.Dump_162); + //client.Send(GameFull.Dump_162); + + IBuffer buffer = new StreamBuffer(); + buffer.WriteInt32(0); // error + buffer.WriteInt32(0); // result + buffer.WriteBool(false); // notice + client.Send(new Packet(PacketId.S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_NOTICE_RES, buffer.GetAllBytes())); } } } From 51cca4575c42fd18540e5e81a62e42ef7ed183cb Mon Sep 17 00:00:00 2001 From: alborrajo Date: Thu, 8 Sep 2022 17:37:19 +0200 Subject: [PATCH 06/72] Normalized PacketIds, NOTICE -> NTC --- .../CharacterDecideCharacterIdHandler.cs | 2 +- .../Entity/EntitySerializer.cs | 2 +- .../C2SPartySendBinaryMsgAllNtc.cs | 2 +- .../C2SPartySendBinaryMsgNtc.cs | 2 +- ... S2CCharacterContentsReleaseElementNtc.cs} | 12 ++-- .../S2CItemUpdateCharacterItemNtc.cs | 2 +- ...sgNotice.cs => S2CLobbyLobbyDataMsgNtc.cs} | 2 +- .../S2CPartyRecvBinaryMsgAllNtc.cs | 2 +- .../S2CPartyRecvBinaryMsgNtc.cs | 2 +- Arrowgene.Ddon.Shared/Network/PacketId.cs | 70 +++++++++---------- 10 files changed, 49 insertions(+), 49 deletions(-) rename Arrowgene.Ddon.Shared/Entity/PacketStructure/{S2CCharacterContentsReleaseElementNotice.cs => S2CCharacterContentsReleaseElementNtc.cs} (71%) rename Arrowgene.Ddon.Shared/Entity/PacketStructure/{S2CLobbyLobbyDataMsgNotice.cs => S2CLobbyLobbyDataMsgNtc.cs} (99%) diff --git a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs index c63fa90c8..bd52d32ff 100644 --- a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs @@ -55,7 +55,7 @@ public override void Handle(GameClient client, IPacket packet) client.Send(res); // Unlocks menu options such as inventory, warping, etc. - S2CCharacterContentsReleaseElementNotice contentsReleaseElementNotice = EntitySerializer.Get().Read(GameFull.data_Dump_20); + S2CCharacterContentsReleaseElementNtc contentsReleaseElementNotice = EntitySerializer.Get().Read(GameFull.data_Dump_20); client.Send(contentsReleaseElementNotice); } } diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 534b10188..0d9399aba 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -258,7 +258,7 @@ static EntitySerializer() Create(new S2CCharacterCharacterPointReviveRes.Serializer()); Create(new S2CCharacterCommunityCharacterStatusUpdateNtc.Serializer()); Create(new S2CCharacterDecideCharacterIdRes.Serializer()); - Create(new S2CCharacterContentsReleaseElementNotice.Serializer()); + Create(new S2CCharacterContentsReleaseElementNtc.Serializer()); Create(new S2CCharacterPawnGoldenReviveRes.Serializer()); Create(new S2CCharacterPawnPointReviveRes.Serializer()); Create(new S2CCharacterSetOnlineStatusRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgAllNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgAllNtc.cs index 1be74a689..d50262e64 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgAllNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgAllNtc.cs @@ -5,7 +5,7 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class C2SPartySendBinaryMsgAllNtc : IPacketStructure { - public PacketId Id => PacketId.C2S_PARTY_SEND_BINARY_MSG_ALL_NOTICE; + public PacketId Id => PacketId.C2S_PARTY_SEND_BINARY_MSG_ALL_NTC; public C2SPartySendBinaryMsgAllNtc() { diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgNtc.cs index 0ee598b25..44e4648aa 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartySendBinaryMsgNtc.cs @@ -7,7 +7,7 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class C2SPartySendBinaryMsgNtc : IPacketStructure { - public PacketId Id => PacketId.C2S_PARTY_SEND_BINARY_MSG_NOTICE; + public PacketId Id => PacketId.C2S_PARTY_SEND_BINARY_MSG_NTC; public C2SPartySendBinaryMsgNtc() { diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterContentsReleaseElementNotice.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterContentsReleaseElementNtc.cs similarity index 71% rename from Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterContentsReleaseElementNotice.cs rename to Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterContentsReleaseElementNtc.cs index 3bcd91460..0919bfe65 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterContentsReleaseElementNotice.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterContentsReleaseElementNtc.cs @@ -5,29 +5,29 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { - public class S2CCharacterContentsReleaseElementNotice : IPacketStructure + public class S2CCharacterContentsReleaseElementNtc : IPacketStructure { // List of content elements to release (Menu options, such as inventory, warp...) public PacketId Id => PacketId.S2C_CHARACTER_CONTENTS_RELEASE_ELEMENT_NTC; - public S2CCharacterContentsReleaseElementNotice() + public S2CCharacterContentsReleaseElementNtc() { CharacterReleaseElements = new List(); } public List CharacterReleaseElements { get; set; } - public class Serializer : PacketEntitySerializer + public class Serializer : PacketEntitySerializer { - public override void Write(IBuffer buffer, S2CCharacterContentsReleaseElementNotice obj) + public override void Write(IBuffer buffer, S2CCharacterContentsReleaseElementNtc obj) { WriteEntityList(buffer, obj.CharacterReleaseElements); } - public override S2CCharacterContentsReleaseElementNotice Read(IBuffer buffer) + public override S2CCharacterContentsReleaseElementNtc Read(IBuffer buffer) { - S2CCharacterContentsReleaseElementNotice obj = new S2CCharacterContentsReleaseElementNotice(); + S2CCharacterContentsReleaseElementNtc obj = new S2CCharacterContentsReleaseElementNtc(); obj.CharacterReleaseElements = ReadEntityList(buffer); return obj; } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CItemUpdateCharacterItemNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CItemUpdateCharacterItemNtc.cs index 6d2531041..014555555 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CItemUpdateCharacterItemNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CItemUpdateCharacterItemNtc.cs @@ -7,7 +7,7 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class S2CItemUpdateCharacterItemNtc : IPacketStructure { - public PacketId Id => PacketId.S2C_ITEM_UPDATE_CHARACTER_ITEM_NOTICE; + public PacketId Id => PacketId.S2C_ITEM_UPDATE_CHARACTER_ITEM_NTC; public S2CItemUpdateCharacterItemNtc() { diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CLobbyLobbyDataMsgNotice.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CLobbyLobbyDataMsgNtc.cs similarity index 99% rename from Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CLobbyLobbyDataMsgNotice.cs rename to Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CLobbyLobbyDataMsgNtc.cs index b2e227317..a3ba9bbd3 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CLobbyLobbyDataMsgNotice.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CLobbyLobbyDataMsgNtc.cs @@ -6,7 +6,7 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class S2CLobbyLobbyDataMsgNotice : IPacketStructure { - public PacketId Id => PacketId.S2C_LOBBY_LOBBY_DATA_MSG_NOTICE; + public PacketId Id => PacketId.S2C_LOBBY_LOBBY_DATA_MSG_NTC; public S2CLobbyLobbyDataMsgNotice() { diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgAllNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgAllNtc.cs index 382b92584..c56016002 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgAllNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgAllNtc.cs @@ -6,7 +6,7 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class S2CPartyRecvBinaryMsgAllNtc : IPacketStructure { - public PacketId Id => PacketId.S2C_PARTY_RECV_BINARY_MSG_ALL_NOTICE; + public PacketId Id => PacketId.S2C_PARTY_RECV_BINARY_MSG_ALL_NTC; public uint CharacterId { get; set; } public byte[] Data { get; set; } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgNtc.cs index b40aad49e..4e34e97d3 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyRecvBinaryMsgNtc.cs @@ -6,7 +6,7 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class S2CPartyRecvBinaryMsgNtc : IPacketStructure { - public PacketId Id => PacketId.S2C_PARTY_RECV_BINARY_MSG_NOTICE; + public PacketId Id => PacketId.S2C_PARTY_RECV_BINARY_MSG_NTC; public uint CharacterId { get; set; } public byte[] Data { get; set; } diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index 5584e06ff..b8317a992 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -155,7 +155,7 @@ public override int GetHashCode() public static readonly PacketId C2L_CLIENT_CHALLENGE_REQ = new PacketId(1, 0, 1, "C2L_CLIENT_CHALLENGE_REQ", ServerType.Login, PacketSource.Client); public static readonly PacketId L2C_CLIENT_CHALLENGE_RES = new PacketId(1, 0, 2, "L2C_CLIENT_CHALLENGE_RES", ServerType.Login, PacketSource.Server); - public static readonly PacketId L2C_LOGIN_SERVER_CERT_NOTICE = new PacketId(1, 1, 16, "L2C_LOGIN_SERVER_CERT_NOTICE", ServerType.Login, PacketSource.Server); + public static readonly PacketId L2C_LOGIN_SERVER_CERT_NTC = new PacketId(1, 1, 16, "L2C_LOGIN_SERVER_CERT_NTC", ServerType.Login, PacketSource.Server); public static readonly PacketId C2L_GET_GAME_SERVER_LIST_RES = new PacketId(2, 0, 1, "C2L_GET_GAME_SERVER_LIST_RES", ServerType.Login, PacketSource.Client); public static readonly PacketId L2C_GET_GAME_SERVER_LIST_RES = new PacketId(2, 0, 2, "L2C_GET_GAME_SERVER_LIST_RES", ServerType.Login, PacketSource.Server); @@ -202,7 +202,7 @@ private static Dictionary InitializeLoginPacketIds() AddPacketIdEntry(packetIds, L2C_EJECTION_NTC); AddPacketIdEntry(packetIds, C2L_CLIENT_CHALLENGE_REQ); AddPacketIdEntry(packetIds, L2C_CLIENT_CHALLENGE_RES); - AddPacketIdEntry(packetIds, L2C_LOGIN_SERVER_CERT_NOTICE); + AddPacketIdEntry(packetIds, L2C_LOGIN_SERVER_CERT_NTC); AddPacketIdEntry(packetIds, C2L_GET_GAME_SERVER_LIST_RES); AddPacketIdEntry(packetIds, L2C_GET_GAME_SERVER_LIST_RES); AddPacketIdEntry(packetIds, C2L_GET_GAME_SESSION_KEY_REQ); @@ -292,7 +292,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_CHARACTER_CONTENTS_RELEASE_ELEMENT_NTC = new PacketId(2, 6, 16, "S2C_CHARACTER_CONTENTS_RELEASE_ELEMENT_NTC", ServerType.Game, PacketSource.Server, "S2C_CHARACTER_2_6_16_NTC"); public static readonly PacketId S2C_CHARACTER_COMMUNITY_CHARACTER_STATUS_UPDATE_NTC = new PacketId(2, 7, 16, "S2C_CHARACTER_COMMUNITY_CHARACTER_STATUS_UPDATE_NTC", ServerType.Game, PacketSource.Server, "S2C_CHARACTER_2_7_16_NTC"); public static readonly PacketId S2C_CHARACTER_2_8_16_NTC = new PacketId(2, 8, 16, "S2C_CHARACTER_2_8_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_CHARACTER_2_9_16_NTC = new PacketId(2, 9, 16, "S2C_CHARACTER_2_9_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_CHARACTER_GET_CHARACTER_STATUS_NTC = new PacketId(2, 9, 16, "S2C_CHARACTER_GET_CHARACTER_STATUS_NTC", ServerType.Game, PacketSource.Server, "S2C_CHARACTER_2_9_16_NTC"); public static readonly PacketId S2C_CHARACTER_2_10_16_NTC = new PacketId(2, 10, 16, "S2C_CHARACTER_2_10_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_CHARACTER_2_11_16_NTC = new PacketId(2, 11, 16, "S2C_CHARACTER_2_11_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_REQ = new PacketId(2, 12, 1, "C2S_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_REQ", ServerType.Game, PacketSource.Client); @@ -341,7 +341,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_LOBBY_LOBBY_CHAT_MSG_RES = new PacketId(3, 2, 2, "S2C_LOBBY_LOBBY_CHAT_MSG_RES", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_LOBBY_LOBBY_CHAT_MSG_NTC = new PacketId(3, 2, 16, "S2C_LOBBY_LOBBY_CHAT_MSG_NTC", ServerType.Game, PacketSource.Server, "S2C_LOBBY_3_2_16_NTC"); public static readonly PacketId C2S_LOBBY_LOBBY_DATA_MSG_REQ = new PacketId(3, 3, 16, "C2S_LOBBY_LOBBY_DATA_MSG_REQ", ServerType.Game, PacketSource.Client, "C2S_LOBBY_3_3_16_NTC"); // Even though its SubID is 16, it's called REQ in the PS4 build - public static readonly PacketId S2C_LOBBY_LOBBY_DATA_MSG_NOTICE = new PacketId(3, 4, 16, "S2C_LOBBY_LOBBY_DATA_MSG_NOTICE", ServerType.Game, PacketSource.Server, "S2C_LOBBY_3_4_16_NTC"); + public static readonly PacketId S2C_LOBBY_LOBBY_DATA_MSG_NTC = new PacketId(3, 4, 16, "S2C_LOBBY_LOBBY_DATA_MSG_NTC", ServerType.Game, PacketSource.Server, "S2C_LOBBY_3_4_16_NTC"); // Group: 4 - (CHAT) public static readonly PacketId C2S_CHAT_SEND_TELL_MSG_REQ = new PacketId(4, 0, 1, "C2S_CHAT_SEND_TELL_MSG_REQ", ServerType.Game, PacketSource.Client); @@ -407,10 +407,10 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_PARTY_PARTY_MEMBER_SESSION_STATUS_NTC = new PacketId(6, 20, 16, "S2C_PARTY_PARTY_MEMBER_SESSION_STATUS_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_20_16_NTC"); public static readonly PacketId S2C_PARTY_6_21_16_NTC = new PacketId(6, 21, 16, "S2C_PARTY_6_21_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_PARTY_6_22_16_NTC = new PacketId(6, 22, 16, "S2C_PARTY_6_22_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId C2S_PARTY_SEND_BINARY_MSG_ALL_NOTICE = new PacketId(6, 23, 16, "C2S_PARTY_SEND_BINARY_MSG_ALL_NOTICE", ServerType.Game, PacketSource.Client, "C2S_PARTY_6_23_16_NTC"); - public static readonly PacketId S2C_PARTY_RECV_BINARY_MSG_ALL_NOTICE = new PacketId(6, 24, 16, "S2C_PARTY_RECV_BINARY_MSG_ALL_NOTICE", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_24_16_NTC"); - public static readonly PacketId C2S_PARTY_SEND_BINARY_MSG_NOTICE = new PacketId(6, 25, 16, "C2S_PARTY_SEND_BINARY_MSG_NOTICE", ServerType.Game, PacketSource.Client, "C2S_PARTY_6_25_16_NTC"); - public static readonly PacketId S2C_PARTY_RECV_BINARY_MSG_NOTICE = new PacketId(6, 26, 16, "S2C_PARTY_RECV_BINARY_MSG_NOTICE", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_26_16_NTC"); + public static readonly PacketId C2S_PARTY_SEND_BINARY_MSG_ALL_NTC = new PacketId(6, 23, 16, "C2S_PARTY_SEND_BINARY_MSG_ALL_NTC", ServerType.Game, PacketSource.Client, "C2S_PARTY_6_23_16_NTC"); + public static readonly PacketId S2C_PARTY_RECV_BINARY_MSG_ALL_NTC = new PacketId(6, 24, 16, "S2C_PARTY_RECV_BINARY_MSG_ALL_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_24_16_NTC"); + public static readonly PacketId C2S_PARTY_SEND_BINARY_MSG_NTC = new PacketId(6, 25, 16, "C2S_PARTY_SEND_BINARY_MSG_NTC", ServerType.Game, PacketSource.Client, "C2S_PARTY_6_25_16_NTC"); + public static readonly PacketId S2C_PARTY_RECV_BINARY_MSG_NTC = new PacketId(6, 26, 16, "S2C_PARTY_RECV_BINARY_MSG_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_26_16_NTC"); // Group: 7 - (QUICK) public static readonly PacketId C2S_QUICK_PARTY_REGISTER_REQ = new PacketId(7, 0, 1, "C2S_QUICK_PARTY_REGISTER_REQ", ServerType.Game, PacketSource.Client); @@ -541,7 +541,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_ITEM_GET_ITEM_STORAGE_INFO_RES = new PacketId(10, 9, 2, "S2C_ITEM_GET_ITEM_STORAGE_INFO_RES", ServerType.Game, PacketSource.Server); // アイテムストレージ情報取得に public static readonly PacketId S2C_ITEM_EXTEND_ITEM_SLOT_NTC = new PacketId(10, 10, 16, "S2C_ITEM_EXTEND_ITEM_SLOT_NTC", ServerType.Game, PacketSource.Server, "S2C_ITEM_10_10_16_NTC"); public static readonly PacketId S2C_ITEM_10_11_16_NTC = new PacketId(10, 11, 16, "S2C_ITEM_10_11_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_ITEM_UPDATE_CHARACTER_ITEM_NOTICE = new PacketId(10, 12, 16, "S2C_ITEM_UPDATE_CHARACTER_ITEM_NOTICE", ServerType.Game, PacketSource.Server, "S2C_ITEM_10_12_16_NTC"); + public static readonly PacketId S2C_ITEM_UPDATE_CHARACTER_ITEM_NTC = new PacketId(10, 12, 16, "S2C_ITEM_UPDATE_CHARACTER_ITEM_NTC", ServerType.Game, PacketSource.Server, "S2C_ITEM_10_12_16_NTC"); public static readonly PacketId S2C_ITEM_10_13_16_NTC = new PacketId(10, 13, 16, "S2C_ITEM_10_13_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_ITEM_10_14_16_NTC = new PacketId(10, 14, 16, "S2C_ITEM_10_14_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_ITEM_GET_PAY_COST_REQ = new PacketId(10, 15, 1, "C2S_ITEM_GET_PAY_COST_REQ", ServerType.Game, PacketSource.Client); @@ -873,20 +873,20 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES = new PacketId(13, 26, 2, "S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES", ServerType.Game, PacketSource.Server); // インスタンスエリア共有メモリ保存(MtString)に public static readonly PacketId C2S_INSTANCE_GET_INSTANT_KEY_VALUE_STR_REQ = new PacketId(13, 27, 1, "C2S_INSTANCE_GET_INSTANT_KEY_VALUE_STR_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES = new PacketId(13, 27, 2, "S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES", ServerType.Game, PacketSource.Server); // インスタンスエリア共有メモリ取得(MtString)に - public static readonly PacketId S2C_INSTANCE_ENEMY_BREAK_REGION_NTC = new PacketId(13, 29, 16, "S2C_INSTANCE_13_29_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_ENEMY_DIE_NTC = new PacketId(13, 30, 16, "S2C_INSTANCE_13_30_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC = new PacketId(13, 31, 16, "S2C_INSTANCE_13_31_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_BREAK_REGION_NTC = new PacketId(13, 29, 16, "S2C_INSTANCE_ENEMY_BREAK_REGION_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_29_16_NTC"); + public static readonly PacketId S2C_INSTANCE_ENEMY_DIE_NTC = new PacketId(13, 30, 16, "S2C_INSTANCE_ENEMY_DIE_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_30_16_NTC"); + public static readonly PacketId S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC = new PacketId(13, 31, 16, "S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_31_16_NTC"); public static readonly PacketId S2C_INSTANCE_13_32_16_NTC = new PacketId(13, 32, 16, "S2C_INSTANCE_13_32_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NOTICE = new PacketId(13, 33, 16, "S2C_INSTANCE_13_33_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NOTICE = new PacketId(13, 34, 16, "S2C_INSTANCE_13_34_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_ENEMY_STAGE_BOSS_ANNIHILATE_NTC = new PacketId(13, 35, 16, "S2C_INSTANCE_13_35_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NTC = new PacketId(13, 33, 16, "S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_33_16_NTC"); + public static readonly PacketId S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NTC = new PacketId(13, 34, 16, "S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_34_16_NTC"); + public static readonly PacketId S2C_INSTANCE_13_35_16_NTC = new PacketId(13, 35, 16, "S2C_INSTANCE_13_35_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_36_16_NTC = new PacketId(13, 36, 16, "S2C_INSTANCE_13_36_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_37_16_NTC = new PacketId(13, 37, 16, "S2C_INSTANCE_13_37_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_INSTANCE_13_38_16_NTC = new PacketId(13, 38, 16, "S2C_INSTANCE_13_38_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_POP_DROP_ITEM_NOTICE = new PacketId(13, 39, 16, "S2C_INSTANCE_13_39_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_POP_DROP_ITEM_NTC = new PacketId(13, 39, 16, "S2C_INSTANCE_POP_DROP_ITEM_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_39_16_NTC"); public static readonly PacketId S2C_INSTANCE_ENEMY_REPOP_NTC = new PacketId(13, 40, 16, "S2C_INSTANCE_ENEMY_REPOP_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_40_16_NTC"); - public static readonly PacketId S2C_INSTANCE_ENCOUNTER_PAWN_NOTICE = new PacketId(13, 41, 16, "S2C_INSTANCE_13_41_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_INSTANCE_AREA_RESET_NTC = new PacketId(13, 42, 16, "S2C_INSTANCE_13_42_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_INSTANCE_ENCOUNTER_PAWN_NTC = new PacketId(13, 41, 16, "S2C_INSTANCE_ENCOUNTER_PAWN_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_41_16_NTC"); + public static readonly PacketId S2C_INSTANCE_AREA_RESET_NTC = new PacketId(13, 42, 16, "S2C_INSTANCE_AREA_RESET_NTC", ServerType.Game, PacketSource.Server, "S2C_INSTANCE_13_42_16_NTC"); public static readonly PacketId C2S_INSTANCE_GET_EX_OM_INFO_REQ = new PacketId(13, 43, 1, "C2S_INSTANCE_GET_EX_OM_INFO_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_INSTANCE_GET_EX_OM_INFO_RES = new PacketId(13, 43, 2, "S2C_INSTANCE_GET_EX_OM_INFO_RES", ServerType.Game, PacketSource.Server); // 拡張OM情報取得に @@ -1501,7 +1501,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_JOB_CHANGE_JOB_NTC = new PacketId(33, 1, 16, "S2C_JOB_CHANGE_JOB_NTC", ServerType.Game, PacketSource.Server, "S2C_JOB_33_1_16_NTC"); public static readonly PacketId C2S_JOB_CHANGE_PAWN_JOB_REQ = new PacketId(33, 2, 1, "C2S_JOB_CHANGE_PAWN_JOB_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_JOB_CHANGE_PAWN_JOB_RES = new PacketId(33, 2, 2, "S2C_JOB_CHANGE_PAWN_JOB_RES", ServerType.Game, PacketSource.Server); // ポーンジョブチェンジに - public static readonly PacketId S2C_JOB_33_2_16_NTC = new PacketId(33, 2, 16, "S2C_JOB_33_2_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_JOB_CHANGE_PAWN_JOB_NTC = new PacketId(33, 2, 16, "S2C_JOB_CHANGE_PAWN_JOB_NTC", ServerType.Game, PacketSource.Server, "S2C_JOB_33_2_16_NTC"); public static readonly PacketId S2C_JOB_33_3_16_NTC = new PacketId(33, 3, 16, "S2C_JOB_33_3_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_JOB_33_4_16_NTC = new PacketId(33, 4, 16, "S2C_JOB_33_4_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_JOB_RESET_JOBPOINT_REQ = new PacketId(33, 5, 1, "C2S_JOB_RESET_JOBPOINT_REQ", ServerType.Game, PacketSource.Client); @@ -1592,12 +1592,12 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId C2S_CONTEXT_SET_CONTEXT_NTC = new PacketId(35, 9, 16, "C2S_CONTEXT_SET_CONTEXT_NTC", ServerType.Game, PacketSource.Client); public static readonly PacketId C2S_CONTEXT_MASTER_THROW_REQ = new PacketId(35, 10, 1, "C2S_CONTEXT_MASTER_THROW_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_CONTEXT_MASTER_THROW_RES = new PacketId(35, 10, 2, "S2C_CONTEXT_MASTER_THROW_RES", ServerType.Game, PacketSource.Server); // マスター移譲に - public static readonly PacketId S2C_CONTEXT_MASTER_THROW_NTC = new PacketId(35, 10, 16, "S2C_CONTEXT_35_10_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_CONTEXT_MASTER_THROW_NTC = new PacketId(35, 10, 16, "S2C_CONTEXT_MASTER_THROW_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_10_16_NTC"); public static readonly PacketId S2C_CONTEXT_SET_CONTEXT_BASE_NTC = new PacketId(35, 11, 16, "S2C_CONTEXT_SET_CONTEXT_BASE_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_11_16_NTC"); public static readonly PacketId S2C_CONTEXT_35_12_16_NTC = new PacketId(35, 12, 16, "S2C_CONTEXT_35_12_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_CONTEXT_SET_CONTEXT_NTC = new PacketId(35, 13, 16, "S2C_CONTEXT_SET_CONTEXT_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_13_16_NTC"); - public static readonly PacketId S2C_CONTEXT_MASTER_CHANGE_NTC = new PacketId(35, 14, 16, "S2C_CONTEXT_35_14_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_CONTEXT_MASTER_INFO_NTC = new PacketId(35, 15, 16, "S2C_CONTEXT_35_15_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_CONTEXT_MASTER_CHANGE_NTC = new PacketId(35, 14, 16, "S2C_CONTEXT_MASTER_CHANGE_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_14_16_NTC"); + public static readonly PacketId S2C_CONTEXT_MASTER_INFO_NTC = new PacketId(35, 15, 16, "S2C_CONTEXT_MASTER_INFO_NTC", ServerType.Game, PacketSource.Server, "S2C_CONTEXT_35_15_16_NTC"); // Group: 36 - (BAZAAR) public static readonly PacketId C2S_BAZAAR_GET_CHARACTER_LIST_REQ = new PacketId(36, 0, 1, "C2S_BAZAAR_GET_CHARACTER_LIST_REQ", ServerType.Game, PacketSource.Client); @@ -2196,7 +2196,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_CHARACTER_CONTENTS_RELEASE_ELEMENT_NTC); AddPacketIdEntry(packetIds, S2C_CHARACTER_COMMUNITY_CHARACTER_STATUS_UPDATE_NTC); AddPacketIdEntry(packetIds, S2C_CHARACTER_2_8_16_NTC); - AddPacketIdEntry(packetIds, S2C_CHARACTER_2_9_16_NTC); + AddPacketIdEntry(packetIds, S2C_CHARACTER_GET_CHARACTER_STATUS_NTC); AddPacketIdEntry(packetIds, S2C_CHARACTER_2_10_16_NTC); AddPacketIdEntry(packetIds, S2C_CHARACTER_2_11_16_NTC); AddPacketIdEntry(packetIds, C2S_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_REQ); @@ -2245,7 +2245,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_LOBBY_LOBBY_CHAT_MSG_RES); AddPacketIdEntry(packetIds, S2C_LOBBY_LOBBY_CHAT_MSG_NTC); AddPacketIdEntry(packetIds, C2S_LOBBY_LOBBY_DATA_MSG_REQ); - AddPacketIdEntry(packetIds, S2C_LOBBY_LOBBY_DATA_MSG_NOTICE); + AddPacketIdEntry(packetIds, S2C_LOBBY_LOBBY_DATA_MSG_NTC); // Group: 4 - (CHAT) AddPacketIdEntry(packetIds, C2S_CHAT_SEND_TELL_MSG_REQ); @@ -2311,10 +2311,10 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_MEMBER_SESSION_STATUS_NTC); AddPacketIdEntry(packetIds, S2C_PARTY_6_21_16_NTC); AddPacketIdEntry(packetIds, S2C_PARTY_6_22_16_NTC); - AddPacketIdEntry(packetIds, C2S_PARTY_SEND_BINARY_MSG_ALL_NOTICE); - AddPacketIdEntry(packetIds, S2C_PARTY_RECV_BINARY_MSG_ALL_NOTICE); - AddPacketIdEntry(packetIds, C2S_PARTY_SEND_BINARY_MSG_NOTICE); - AddPacketIdEntry(packetIds, S2C_PARTY_RECV_BINARY_MSG_NOTICE); + AddPacketIdEntry(packetIds, C2S_PARTY_SEND_BINARY_MSG_ALL_NTC); + AddPacketIdEntry(packetIds, S2C_PARTY_RECV_BINARY_MSG_ALL_NTC); + AddPacketIdEntry(packetIds, C2S_PARTY_SEND_BINARY_MSG_NTC); + AddPacketIdEntry(packetIds, S2C_PARTY_RECV_BINARY_MSG_NTC); // Group: 7 - (QUICK) AddPacketIdEntry(packetIds, C2S_QUICK_PARTY_REGISTER_REQ); @@ -2445,7 +2445,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_ITEM_GET_ITEM_STORAGE_INFO_RES); AddPacketIdEntry(packetIds, S2C_ITEM_EXTEND_ITEM_SLOT_NTC); AddPacketIdEntry(packetIds, S2C_ITEM_10_11_16_NTC); - AddPacketIdEntry(packetIds, S2C_ITEM_UPDATE_CHARACTER_ITEM_NOTICE); + AddPacketIdEntry(packetIds, S2C_ITEM_UPDATE_CHARACTER_ITEM_NTC); AddPacketIdEntry(packetIds, S2C_ITEM_10_13_16_NTC); AddPacketIdEntry(packetIds, S2C_ITEM_10_14_16_NTC); AddPacketIdEntry(packetIds, C2S_ITEM_GET_PAY_COST_REQ); @@ -2781,15 +2781,15 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_DIE_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_32_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NOTICE); - AddPacketIdEntry(packetIds, S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NOTICE); - AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_STAGE_BOSS_ANNIHILATE_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NTC); + AddPacketIdEntry(packetIds, S2C_INSTANCE_13_35_16_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_36_16_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_37_16_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_13_38_16_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_POP_DROP_ITEM_NOTICE); + AddPacketIdEntry(packetIds, S2C_INSTANCE_POP_DROP_ITEM_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_ENEMY_REPOP_NTC); - AddPacketIdEntry(packetIds, S2C_INSTANCE_ENCOUNTER_PAWN_NOTICE); + AddPacketIdEntry(packetIds, S2C_INSTANCE_ENCOUNTER_PAWN_NTC); AddPacketIdEntry(packetIds, S2C_INSTANCE_AREA_RESET_NTC); AddPacketIdEntry(packetIds, C2S_INSTANCE_GET_EX_OM_INFO_REQ); AddPacketIdEntry(packetIds, S2C_INSTANCE_GET_EX_OM_INFO_RES); @@ -3405,7 +3405,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_JOB_CHANGE_JOB_NTC); AddPacketIdEntry(packetIds, C2S_JOB_CHANGE_PAWN_JOB_REQ); AddPacketIdEntry(packetIds, S2C_JOB_CHANGE_PAWN_JOB_RES); - AddPacketIdEntry(packetIds, S2C_JOB_33_2_16_NTC); + AddPacketIdEntry(packetIds, S2C_JOB_CHANGE_PAWN_JOB_NTC); AddPacketIdEntry(packetIds, S2C_JOB_33_3_16_NTC); AddPacketIdEntry(packetIds, S2C_JOB_33_4_16_NTC); AddPacketIdEntry(packetIds, C2S_JOB_RESET_JOBPOINT_REQ); From 60fed51a4f0ab43129ffdd483334c782d1be1fab Mon Sep 17 00:00:00 2001 From: alborrajo Date: Thu, 8 Sep 2022 17:39:44 +0200 Subject: [PATCH 07/72] Reversed character related packets --- .../Sql/Core/DdonSqlDbCharacter.cs | 1 + Arrowgene.Ddon.GameServer/Dump/InGameDump.cs | 39 +- .../Enemy/EnemyManager.cs | 4 +- .../Handler/WarpGetReturnLocationHandler.cs | 2 +- .../Handler/CreateCharacterHandler.cs | 340 +++++++++--------- .../Entity/EntitySerializer.cs | 7 + .../C2SEquipGetCharacterEquipListReq.cs | 22 ++ .../S2CCharacterGetCharacterStatusNtc.cs | 70 ++++ .../S2CEquipGetCharacterEquipListRes.cs | 43 +++ .../S2CInstanceEnemySubGroupAppearNtc.cs | 36 ++ .../PacketStructure/S2CJob_33_3_16_Ntc.cs | 62 ++++ .../Entity/Structure/CDataCharacterInfo.cs | 6 +- .../Structure/CDataCharacterLevelParam.cs | 51 +++ .../Structure/CDataEquipElementParam.cs | 12 +- .../Entity/Structure/CDataPawnEquipInfo.cs | 37 ++ 15 files changed, 543 insertions(+), 189 deletions(-) create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipGetCharacterEquipListReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterGetCharacterStatusNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipGetCharacterEquipListRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemySubGroupAppearNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CJob_33_3_16_Ntc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterLevelParam.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnEquipInfo.cs diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index fe14e86b2..5df3f4d24 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -30,6 +30,7 @@ public abstract partial class DdonSqlDb : SqlDb "koshi_offset", "koshi_size", "ankle_offset", "fat", "muscle", "motion_filter" }; + // Im not convinced most of these fields has to be stored in DB private static readonly string[] CDataStatusInfoFields = new string[] { "character_id", "hp", "stamina", "revive_point", "max_hp", "max_stamina", "white_hp", "gain_hp", "gain_stamina", diff --git a/Arrowgene.Ddon.GameServer/Dump/InGameDump.cs b/Arrowgene.Ddon.GameServer/Dump/InGameDump.cs index 518d6c9dd..ee6617d44 100644 --- a/Arrowgene.Ddon.GameServer/Dump/InGameDump.cs +++ b/Arrowgene.Ddon.GameServer/Dump/InGameDump.cs @@ -5230,11 +5230,34 @@ public static class InGameDump public static byte[] data_Dump_48 = new byte[] /* 29.0.2 */ { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x0, 0x8, 0x39, 0x41, - 0x43, 0x30, 0x43, 0x34, 0x31, 0x38, 0x1, 0x1, 0x0, 0x8, 0x31, 0x41, 0x33, 0x30, 0x46, 0x46, - 0x39, 0x38, 0x2, 0x1, 0x0, 0x8, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x36, 0x43, 0x3, 0x1, - 0x0, 0x8, 0x39, 0x45, 0x45, 0x41, 0x42, 0x41, 0x39, 0x30, 0x4, 0x1, 0x0, 0x8, 0x41, 0x39, - 0x41, 0x37, 0x37, 0x45, 0x45, 0x46, 0x5, 0x1, 0x0, 0x8, 0x35, 0x36, 0x33, 0x32, 0x33, 0x42, + 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, + + // CharacterEquipInfo + 0x0, 0x0, 0x0, 0x13, // List size + + // what?????? + 0x0, 0x8, 0x39, 0x41, 0x43, 0x30, 0x43, 0x34, 0x31, 0x38, // EquipItemUId (9AC0C418) + 0x1, // EquipCategory + 0x1, // EquipType + + 0x0, 0x8, 0x31, 0x41, 0x33, 0x30, 0x46, 0x46, 0x39, 0x38, // EquipItemUId (1A30FF98) + 0x2, // EquipCategory + 0x1, // EquipType + + 0x0, 0x8, 0x45, 0x33, 0x33, 0x33, 0x34, 0x44, 0x36, 0x43, // EquipItemUId (E3334D6C) + 0x3, // EquipCategory + 0x1, // EquipType + + 0x0, 0x8, 0x39, 0x45, 0x45, 0x41, 0x42, 0x41, 0x39, 0x30, // EquipItemUId (9EEABA90) + 0x4, // EquipCategory + 0x1, // EquipType + + 0x0, 0x8, 0x41, 0x39, 0x41, 0x37, 0x37, 0x45, 0x45, 0x46, // EquipItemUId (A9A77EEF) + 0x5, // EquipCategory + 0x1, // EquipType + + 0x0, 0x8, 0x35, 0x36, 0x33, 0x32, 0x33, 0x42, 0x34, 0x30, 0x6, 0x1, 0x0, 0x8, 0x38, 0x33, 0x42, 0x45, 0x31, 0x45, 0x34, 0x37, 0x7, 0x1, 0x0, 0x8, 0x30, 0x42, 0x34, 0x37, 0x34, 0x37, 0x46, 0x45, 0x8, 0x1, 0x0, 0x8, 0x35, 0x31, 0x36, 0x45, 0x42, 0x32, 0x38, 0x46, 0x9, 0x1, 0x0, 0x8, 0x44, 0x39, 0x39, 0x37, 0x36, 0x43, @@ -5560,12 +5583,14 @@ public static class InGameDump 0x5, 0x0, 0x4, 0x0, 0x0, 0x0, 0xCF, 0x1, - 0x5, 0x0, 0x11, 0x0, 0x0, 0x0, 0x4, 0xA, + 0x5, + 0x0, 0x11, 0x0, 0x0, 0x0, 0x4, 0xA, 0x5, 0x0, 0x12, 0x0, 0x0, 0x0, 0xC, 0x8, - 0x5, 0x0, 0x13, 0x0, 0x0, 0x0, 0x3, 0xA, + 0x5, + 0x0, 0x13, 0x0, 0x0, 0x0, 0x3, 0xA, 0x5, 0x0, 0x14, 0x0, 0x0, 0x0, 0xB, 0x6, diff --git a/Arrowgene.Ddon.GameServer/Enemy/EnemyManager.cs b/Arrowgene.Ddon.GameServer/Enemy/EnemyManager.cs index 0637a790d..e4429162e 100644 --- a/Arrowgene.Ddon.GameServer/Enemy/EnemyManager.cs +++ b/Arrowgene.Ddon.GameServer/Enemy/EnemyManager.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; using Arrowgene.Ddon.Database; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared; @@ -26,7 +26,7 @@ public EnemyManager(AssetRepository assetRepository, IDatabase database) _assetRepository.AssetChanged += AssetRepositoryOnAssetChanged; } - public List GetSpawns(CStageLayoutId stageLayoutId, byte subGroupId) + public List GetSpawns(CDataStageLayoutId stageLayoutId, byte subGroupId) { return GetSpawns(StageId.FromStageLayoutId(stageLayoutId), subGroupId); } diff --git a/Arrowgene.Ddon.GameServer/Handler/WarpGetReturnLocationHandler.cs b/Arrowgene.Ddon.GameServer/Handler/WarpGetReturnLocationHandler.cs index c8ae7d80d..5be07a31a 100644 --- a/Arrowgene.Ddon.GameServer/Handler/WarpGetReturnLocationHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/WarpGetReturnLocationHandler.cs @@ -17,7 +17,7 @@ public WarpGetReturnLocationHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { S2CWarpGetReturnLocationRes response = new S2CWarpGetReturnLocationRes(); - response.JumpLocation.stageId = 0; + response.JumpLocation.stageId = 1; // White Dragon Temple response.JumpLocation.startPos = 0; client.Send(response); diff --git a/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs index 0802f5395..2677056fc 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs @@ -338,72 +338,72 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataEquipElementParam { - u0 = 0x2, - u2 = 0x02 + SlotNo = 0x2, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x3, - u2 = 0x02 + SlotNo = 0x3, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x4, - u2 = 0x02 + SlotNo = 0x4, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x5, - u2 = 0x02 + SlotNo = 0x5, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x6, - u2 = 0x50 + SlotNo = 0x6, + ItemId = 0x50 }, new CDataEquipElementParam { - u0 = 0x7, - u2 = 0x3C + SlotNo = 0x7, + ItemId = 0x3C }, new CDataEquipElementParam { - u0 = 0x8, - u2 = 0x05 + SlotNo = 0x8, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x9, - u2 = 0x07 + SlotNo = 0x9, + ItemId = 0x07 }, new CDataEquipElementParam { - u0 = 0xA, - u2 = 0x04 + SlotNo = 0xA, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xB, - u2 = 0x04 + SlotNo = 0xB, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xC, - u2 = 0x04 + SlotNo = 0xC, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xD, - u2 = 0x04 + SlotNo = 0xD, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xE, - u2 = 0x00 + SlotNo = 0xE, + ItemId = 0x00 }, new CDataEquipElementParam { - u0 = 0xF, - u2 = 0x05 + SlotNo = 0xF, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x10, - u2 = 0x05 + SlotNo = 0x10, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x11, - u2 = 0x05 + SlotNo = 0x11, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x12, - u2 = 0x05 + SlotNo = 0x12, + ItemId = 0x05 }, } }, @@ -439,72 +439,72 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataEquipElementParam { - u0 = 0x2, - u2 = 0x02 + SlotNo = 0x2, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x3, - u2 = 0x02 + SlotNo = 0x3, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x4, - u2 = 0x02 + SlotNo = 0x4, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x5, - u2 = 0x02 + SlotNo = 0x5, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x6, - u2 = 0x50 + SlotNo = 0x6, + ItemId = 0x50 }, new CDataEquipElementParam { - u0 = 0x7, - u2 = 0x3C + SlotNo = 0x7, + ItemId = 0x3C }, new CDataEquipElementParam { - u0 = 0x8, - u2 = 0x05 + SlotNo = 0x8, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x9, - u2 = 0x07 + SlotNo = 0x9, + ItemId = 0x07 }, new CDataEquipElementParam { - u0 = 0xA, - u2 = 0x04 + SlotNo = 0xA, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xB, - u2 = 0x04 + SlotNo = 0xB, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xC, - u2 = 0x04 + SlotNo = 0xC, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xD, - u2 = 0x04 + SlotNo = 0xD, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xE, - u2 = 0x00 + SlotNo = 0xE, + ItemId = 0x00 }, new CDataEquipElementParam { - u0 = 0xF, - u2 = 0x05 + SlotNo = 0xF, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x10, - u2 = 0x05 + SlotNo = 0x10, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x11, - u2 = 0x05 + SlotNo = 0x11, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x12, - u2 = 0x05 + SlotNo = 0x12, + ItemId = 0x05 }, } }, @@ -540,72 +540,72 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataEquipElementParam { - u0 = 0x2, - u2 = 0x02 + SlotNo = 0x2, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x3, - u2 = 0x02 + SlotNo = 0x3, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x4, - u2 = 0x02 + SlotNo = 0x4, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x5, - u2 = 0x02 + SlotNo = 0x5, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x6, - u2 = 0x50 + SlotNo = 0x6, + ItemId = 0x50 }, new CDataEquipElementParam { - u0 = 0x7, - u2 = 0x3C + SlotNo = 0x7, + ItemId = 0x3C }, new CDataEquipElementParam { - u0 = 0x8, - u2 = 0x05 + SlotNo = 0x8, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x9, - u2 = 0x07 + SlotNo = 0x9, + ItemId = 0x07 }, new CDataEquipElementParam { - u0 = 0xA, - u2 = 0x04 + SlotNo = 0xA, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xB, - u2 = 0x04 + SlotNo = 0xB, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xC, - u2 = 0x04 + SlotNo = 0xC, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xD, - u2 = 0x04 + SlotNo = 0xD, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xE, - u2 = 0x00 + SlotNo = 0xE, + ItemId = 0x00 }, new CDataEquipElementParam { - u0 = 0xF, - u2 = 0x05 + SlotNo = 0xF, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x10, - u2 = 0x05 + SlotNo = 0x10, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x11, - u2 = 0x05 + SlotNo = 0x11, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x12, - u2 = 0x05 + SlotNo = 0x12, + ItemId = 0x05 }, } }, @@ -641,72 +641,72 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataEquipElementParam { - u0 = 0x2, - u2 = 0x02 + SlotNo = 0x2, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x3, - u2 = 0x02 + SlotNo = 0x3, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x4, - u2 = 0x02 + SlotNo = 0x4, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x5, - u2 = 0x02 + SlotNo = 0x5, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x6, - u2 = 0x50 + SlotNo = 0x6, + ItemId = 0x50 }, new CDataEquipElementParam { - u0 = 0x7, - u2 = 0x3C + SlotNo = 0x7, + ItemId = 0x3C }, new CDataEquipElementParam { - u0 = 0x8, - u2 = 0x05 + SlotNo = 0x8, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x9, - u2 = 0x07 + SlotNo = 0x9, + ItemId = 0x07 }, new CDataEquipElementParam { - u0 = 0xA, - u2 = 0x04 + SlotNo = 0xA, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xB, - u2 = 0x04 + SlotNo = 0xB, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xC, - u2 = 0x04 + SlotNo = 0xC, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xD, - u2 = 0x04 + SlotNo = 0xD, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xE, - u2 = 0x00 + SlotNo = 0xE, + ItemId = 0x00 }, new CDataEquipElementParam { - u0 = 0xF, - u2 = 0x05 + SlotNo = 0xF, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x10, - u2 = 0x05 + SlotNo = 0x10, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x11, - u2 = 0x05 + SlotNo = 0x11, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x12, - u2 = 0x05 + SlotNo = 0x12, + ItemId = 0x05 }, } }, @@ -742,72 +742,72 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataEquipElementParam { - u0 = 0x2, - u2 = 0x02 + SlotNo = 0x2, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x3, - u2 = 0x02 + SlotNo = 0x3, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x4, - u2 = 0x02 + SlotNo = 0x4, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x5, - u2 = 0x02 + SlotNo = 0x5, + ItemId = 0x02 }, new CDataEquipElementParam { - u0 = 0x6, - u2 = 0x50 + SlotNo = 0x6, + ItemId = 0x50 }, new CDataEquipElementParam { - u0 = 0x7, - u2 = 0x3C + SlotNo = 0x7, + ItemId = 0x3C }, new CDataEquipElementParam { - u0 = 0x8, - u2 = 0x05 + SlotNo = 0x8, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x9, - u2 = 0x07 + SlotNo = 0x9, + ItemId = 0x07 }, new CDataEquipElementParam { - u0 = 0xA, - u2 = 0x04 + SlotNo = 0xA, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xB, - u2 = 0x04 + SlotNo = 0xB, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xC, - u2 = 0x04 + SlotNo = 0xC, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xD, - u2 = 0x04 + SlotNo = 0xD, + ItemId = 0x04 }, new CDataEquipElementParam { - u0 = 0xE, - u2 = 0x00 + SlotNo = 0xE, + ItemId = 0x00 }, new CDataEquipElementParam { - u0 = 0xF, - u2 = 0x05 + SlotNo = 0xF, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x10, - u2 = 0x05 + SlotNo = 0x10, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x11, - u2 = 0x05 + SlotNo = 0x11, + ItemId = 0x05 }, new CDataEquipElementParam { - u0 = 0x12, - u2 = 0x05 + SlotNo = 0x12, + ItemId = 0x05 }, } }, diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 0d9399aba..445e56862 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -41,6 +41,7 @@ static EntitySerializer() Create(new CDataCharacterEquipInfo.Serializer()); Create(new CDataCharacterInfoSerializer()); Create(new CDataCharacterJobDataSerializer()); + Create(new CDataCharacterLevelParam.Serializer()); Create(new CDataCharacterListElement.Serializer()); Create(new CDataCharacterListInfoSerializer()); Create(new CDataCharacterMessageSerializer()); @@ -106,6 +107,7 @@ static EntitySerializer() Create(new CDataPartyPlayerContext.Serializer()); Create(new CDataPawnCraftData.Serializer()); Create(new CDataPawnCraftSkill.Serializer()); + Create(new CDataPawnEquipInfo.Serializer()); Create(new CDataPawnJobChangeInfo.Serializer()); Create(new CDataPawnInfo.Serializer()); Create(new CDataPawnList.Serializer()); @@ -167,6 +169,7 @@ static EntitySerializer() Create(new C2SConnectionMoveOutServerReq.Serializer()); Create(new C2SContextGetSetContextReq.Serializer()); Create(new C2SContextSetContextNtc.Serializer()); + Create(new C2SEquipGetCharacterEquipListReq.Serializer()); Create(new C2SGpGetValidChatComGroupReq.Serializer()); Create(new C2SInnGetStayPriceReq.Serializer()); Create(new C2SInnStayInnReq.Serializer()); @@ -258,6 +261,7 @@ static EntitySerializer() Create(new S2CCharacterCharacterPointReviveRes.Serializer()); Create(new S2CCharacterCommunityCharacterStatusUpdateNtc.Serializer()); Create(new S2CCharacterDecideCharacterIdRes.Serializer()); + Create(new S2CCharacterGetCharacterStatusNtc.Serializer()); Create(new S2CCharacterContentsReleaseElementNtc.Serializer()); Create(new S2CCharacterPawnGoldenReviveRes.Serializer()); Create(new S2CCharacterPawnPointReviveRes.Serializer()); @@ -280,6 +284,7 @@ static EntitySerializer() Create(new S2CContextMasterChangeNtc.Serializer()); Create(new S2CContextMasterInfoNtc.Serializer()); Create(new S2CContextSetContextBaseNtc.Serializer()); + Create(new S2CEquipGetCharacterEquipListRes.Serializer()); Create(new S2CGpGetValidChatComGroupRes.Serializer()); Create(new S2CInnGetStayPriceRes.Serializer()); Create(new S2CInnStayInnRes.Serializer()); @@ -288,6 +293,7 @@ static EntitySerializer() Create(new S2CInstanceAreaResetNtc.Serializer()); Create(new S2CInstanceEnemyKillRes.Serializer()); Create(new S2CInstanceEnemyRepopNtc.Serializer()); + Create(new S2CInstanceEnemySubGroupAppearNtc.Serializer()); Create(new S2CInstanceExchangeOmInstantKeyValueRes.Serializer()); Create(new S2CInstanceGetEnemySetListRes.Serializer()); Create(new S2CInstanceGetGatheringItemListRes.Serializer()); @@ -301,6 +307,7 @@ static EntitySerializer() Create(new S2CItemSortGetItemSortdataBinRes.Serializer()); Create(new S2CItemSortGetItemSortdataBinNtc.Serializer()); Create(new S2CItemUseBagItemRes.Serializer()); + Create(new S2CJob_33_3_16_Ntc.Serializer()); Create(new S2CJobChangeJobNtc.Serializer()); Create(new S2CJobChangeJobRes.Serializer()); Create(new S2CJobGetJobChangeListRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipGetCharacterEquipListReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipGetCharacterEquipListReq.cs new file mode 100644 index 000000000..a2c87e849 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipGetCharacterEquipListReq.cs @@ -0,0 +1,22 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SEquipGetCharacterEquipListReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_EQUIP_GET_CHARACTER_EQUIP_LIST_REQ; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SEquipGetCharacterEquipListReq obj) + { + } + + public override C2SEquipGetCharacterEquipListReq Read(IBuffer buffer) + { + return new C2SEquipGetCharacterEquipListReq(); + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterGetCharacterStatusNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterGetCharacterStatusNtc.cs new file mode 100644 index 000000000..c76036449 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterGetCharacterStatusNtc.cs @@ -0,0 +1,70 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CCharacterGetCharacterStatusNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_CHARACTER_GET_CHARACTER_STATUS_NTC; + + public S2CCharacterGetCharacterStatusNtc() + { + StatusInfo = new CDataStatusInfo(); + JobParam = new CDataCharacterJobData(); + CharacterParam = new CDataCharacterLevelParam(); + EditInfo = new CDataEditInfo(); + EquipDataList = new List(); + VisualEquipDataList = new List(); + EquipJobItemList = new List(); + } + + public uint CharacterId { get; set; } + public CDataStatusInfo StatusInfo { get; set; } + public CDataCharacterJobData JobParam { get; set; } + public CDataCharacterLevelParam CharacterParam { get; set; } + public CDataEditInfo EditInfo { get; set; } + public List EquipDataList { get; set; } + public List VisualEquipDataList { get; set; } + public List EquipJobItemList { get; set; } + public bool HideHead { get; set; } + public bool HideLantern { get; set; } + public uint JewelryNum { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CCharacterGetCharacterStatusNtc obj) + { + WriteUInt32(buffer, obj.CharacterId); + WriteEntity(buffer, obj.StatusInfo); + WriteEntity(buffer, obj.JobParam); + WriteEntity(buffer, obj.CharacterParam); + WriteEntity(buffer, obj.EditInfo); + WriteEntityList(buffer, obj.EquipDataList); + WriteEntityList(buffer, obj.VisualEquipDataList); + WriteEntityList(buffer, obj.EquipJobItemList); + WriteBool(buffer, obj.HideHead); + WriteBool(buffer, obj.HideLantern); + WriteUInt32(buffer, obj.JewelryNum); + } + + public override S2CCharacterGetCharacterStatusNtc Read(IBuffer buffer) + { + S2CCharacterGetCharacterStatusNtc obj = new S2CCharacterGetCharacterStatusNtc(); + obj.CharacterId = ReadUInt32(buffer); + obj.StatusInfo = ReadEntity(buffer); + obj.JobParam = ReadEntity(buffer); + obj.CharacterParam = ReadEntity(buffer); + obj.EditInfo = ReadEntity(buffer); + obj.EquipDataList = ReadEntityList(buffer); + obj.VisualEquipDataList = ReadEntityList(buffer); + obj.EquipJobItemList = ReadEntityList(buffer); + obj.HideHead = ReadBool(buffer); + obj.HideLantern = ReadBool(buffer); + obj.JewelryNum = ReadUInt32(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipGetCharacterEquipListRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipGetCharacterEquipListRes.cs new file mode 100644 index 000000000..4dddd5410 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipGetCharacterEquipListRes.cs @@ -0,0 +1,43 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CEquipGetCharacterEquipListRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_EQUIP_GET_CHARACTER_EQUIP_LIST_RES; + + public S2CEquipGetCharacterEquipListRes() + { + CharacterEquipList = new List(); + EquipJobItemList = new List(); + PawnEquipItemList = new List(); + } + public List CharacterEquipList { get; set; } + public List EquipJobItemList { get; set; } + public List PawnEquipItemList { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CEquipGetCharacterEquipListRes obj) + { + WriteServerResponse(buffer, obj); + WriteEntityList(buffer, obj.CharacterEquipList); + WriteEntityList(buffer, obj.EquipJobItemList); + WriteEntityList(buffer, obj.PawnEquipItemList); + } + + public override S2CEquipGetCharacterEquipListRes Read(IBuffer buffer) + { + S2CEquipGetCharacterEquipListRes obj = new S2CEquipGetCharacterEquipListRes(); + ReadServerResponse(buffer, obj); + obj.CharacterEquipList = ReadEntityList(buffer); + obj.EquipJobItemList = ReadEntityList(buffer); + obj.PawnEquipItemList = ReadEntityList(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemySubGroupAppearNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemySubGroupAppearNtc.cs new file mode 100644 index 000000000..8792c8968 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CInstanceEnemySubGroupAppearNtc.cs @@ -0,0 +1,36 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CInstanceEnemySubGroupAppearNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NTC; + + public S2CInstanceEnemySubGroupAppearNtc() + { + LayoutId = new CDataStageLayoutId(); + } + + public CDataStageLayoutId LayoutId { get; set; } + public byte SubGroupId { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CInstanceEnemySubGroupAppearNtc obj) + { + WriteEntity(buffer, obj.LayoutId); + WriteByte(buffer, obj.SubGroupId); + } + + public override S2CInstanceEnemySubGroupAppearNtc Read(IBuffer buffer) + { + S2CInstanceEnemySubGroupAppearNtc obj = new S2CInstanceEnemySubGroupAppearNtc(); + obj.LayoutId = ReadEntity(buffer); + obj.SubGroupId = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CJob_33_3_16_Ntc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CJob_33_3_16_Ntc.cs new file mode 100644 index 000000000..a40828346 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CJob_33_3_16_Ntc.cs @@ -0,0 +1,62 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CJob_33_3_16_Ntc : IPacketStructure + { + public PacketId Id => PacketId.S2C_JOB_33_3_16_NTC; + + public S2CJob_33_3_16_Ntc() + { + CharacterId=0; + CharacterJobData=new CDataCharacterJobData(); + EquipItemInfo=new List(); + SetAcquirementParamList=new List(); + SetAbilityParamList=new List(); + LearnNormalSkillParamList=new List(); + EquipJobItemList=new List(); + Unk0=new CDataJobChangeJobResUnk0(); + } + + public uint CharacterId { get; set; } + public CDataCharacterJobData CharacterJobData { get; set; } + public List EquipItemInfo { get; set; } + public List SetAcquirementParamList { get; set; } + public List SetAbilityParamList { get; set; } + public List LearnNormalSkillParamList { get; set; } + public List EquipJobItemList { get; set; } + public CDataJobChangeJobResUnk0 Unk0 { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CJob_33_3_16_Ntc obj) + { + WriteUInt32(buffer, obj.CharacterId); + WriteEntity(buffer, obj.CharacterJobData); + WriteEntityList(buffer, obj.EquipItemInfo); + WriteEntityList(buffer, obj.SetAcquirementParamList); + WriteEntityList(buffer, obj.SetAbilityParamList); + WriteEntityList(buffer, obj.LearnNormalSkillParamList); + WriteEntityList(buffer, obj.EquipJobItemList); + WriteEntity(buffer, obj.Unk0); + } + + public override S2CJob_33_3_16_Ntc Read(IBuffer buffer) + { + S2CJob_33_3_16_Ntc obj = new S2CJob_33_3_16_Ntc(); + obj.CharacterId = ReadUInt32(buffer); + obj.CharacterJobData = ReadEntity(buffer); + obj.EquipItemInfo = ReadEntityList(buffer); + obj.SetAcquirementParamList = ReadEntityList(buffer); + obj.SetAbilityParamList = ReadEntityList(buffer); + obj.LearnNormalSkillParamList = ReadEntityList(buffer); + obj.EquipJobItemList = ReadEntityList(buffer); + obj.Unk0 = ReadEntity(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs index 52f354276..bd8211570 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs @@ -23,7 +23,7 @@ public CDataCharacterInfo() CharacterEquipViewDataList = new List(); CharacterEquipJobItemList = new List(); JewelrySlotNum = 0; - CharacterItemSlotInfoList = new List(); + CharacterItemSlotInfoList = new List(); UnkCharData0 = new List(); UnkCharData1 = new List(); // Currencies? 1 is G, 2 is RP... MyPawnSlotNum = 0; @@ -61,7 +61,7 @@ public CDataCharacterJobData ActiveCharacterJobData public List CharacterEquipViewDataList; public List CharacterEquipJobItemList; public byte JewelrySlotNum; - public List CharacterItemSlotInfoList; + public List CharacterItemSlotInfoList; // One of these is CDataWalletPoint, can't determine which. public List UnkCharData0; @@ -136,7 +136,7 @@ public override CDataCharacterInfo Read(IBuffer buffer) obj.CharacterEquipViewDataList = ReadEntityList(buffer); obj.CharacterEquipJobItemList = ReadEntityList(buffer); obj.JewelrySlotNum = ReadByte(buffer); - obj.CharacterItemSlotInfoList = ReadEntityList(buffer); + obj.CharacterItemSlotInfoList = ReadEntityList(buffer); obj.UnkCharData0 = ReadEntityList(buffer); obj.UnkCharData1 = ReadEntityList(buffer); obj.MyPawnSlotNum = ReadByte(buffer); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterLevelParam.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterLevelParam.cs new file mode 100644 index 000000000..b385a482b --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterLevelParam.cs @@ -0,0 +1,51 @@ +using Arrowgene.Buffers; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataCharacterLevelParam + { + public ushort Attack { get; set; } + public ushort MagAttack { get; set; } + public ushort Defence { get; set; } + public ushort MagDefence { get; set; } + public ushort Strength { get; set; } + public ushort DownPower { get; set; } + public ushort ShakePower { get; set; } + public ushort StunPower { get; set; } + public ushort Constitution { get; set; } + public ushort Guts { get; set; } + + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataCharacterLevelParam obj) + { + WriteUInt16(buffer, obj.Attack); + WriteUInt16(buffer, obj.MagAttack); + WriteUInt16(buffer, obj.Defence); + WriteUInt16(buffer, obj.MagDefence); + WriteUInt16(buffer, obj.Strength); + WriteUInt16(buffer, obj.DownPower); + WriteUInt16(buffer, obj.ShakePower); + WriteUInt16(buffer, obj.StunPower); + WriteUInt16(buffer, obj.Constitution); + WriteUInt16(buffer, obj.Guts); + } + + public override CDataCharacterLevelParam Read(IBuffer buffer) + { + CDataCharacterLevelParam obj = new CDataCharacterLevelParam(); + obj.Attack = ReadUInt16(buffer); + obj.MagAttack = ReadUInt16(buffer); + obj.Defence = ReadUInt16(buffer); + obj.MagDefence = ReadUInt16(buffer); + obj.Strength = ReadUInt16(buffer); + obj.DownPower = ReadUInt16(buffer); + obj.ShakePower = ReadUInt16(buffer); + obj.StunPower = ReadUInt16(buffer); + obj.Constitution = ReadUInt16(buffer); + obj.Guts = ReadUInt16(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataEquipElementParam.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataEquipElementParam.cs index c948424cf..a9da8becf 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataEquipElementParam.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataEquipElementParam.cs @@ -4,22 +4,22 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataEquipElementParam { - public byte u0; - public ushort u2; + public byte SlotNo; + public ushort ItemId; public class Serializer : EntitySerializer { public override void Write(IBuffer buffer, CDataEquipElementParam obj) { - WriteByte(buffer, obj.u0); - WriteUInt16(buffer, obj.u2); + WriteByte(buffer, obj.SlotNo); + WriteUInt16(buffer, obj.ItemId); } public override CDataEquipElementParam Read(IBuffer buffer) { CDataEquipElementParam obj = new CDataEquipElementParam(); - obj.u0 = ReadByte(buffer); - obj.u2 = ReadUInt16(buffer); + obj.SlotNo = ReadByte(buffer); + obj.ItemId = ReadUInt16(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnEquipInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnEquipInfo.cs new file mode 100644 index 000000000..c7d94fe2f --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnEquipInfo.cs @@ -0,0 +1,37 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataPawnEquipInfo + { + public CDataPawnEquipInfo() + { + CharacterEquipList = new List(); + EquipJobItemList = new List(); + } + + public uint PawnId { get; set; } + public List CharacterEquipList { get; set; } + public List EquipJobItemList { get; set; } + + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataPawnEquipInfo obj) + { + WriteUInt32(buffer, obj.PawnId); + WriteEntityList(buffer, obj.CharacterEquipList); + WriteEntityList(buffer, obj.EquipJobItemList); + } + + public override CDataPawnEquipInfo Read(IBuffer buffer) + { + CDataPawnEquipInfo obj = new CDataPawnEquipInfo(); + obj.PawnId = ReadUInt32(buffer); + obj.CharacterEquipList = ReadEntityList(buffer); + obj.EquipJobItemList = ReadEntityList(buffer); + return obj; + } + } + } +} \ No newline at end of file From 53bdac6a050e042ff4b33004646062716b0ed6f4 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Thu, 8 Sep 2022 17:40:01 +0200 Subject: [PATCH 08/72] Fixed broken animations when removing a skill while in a party --- .../Handler/SkillChangeExSkillHandler.cs | 1 + .../Handler/SkillSetOffSkillHandler.cs | 6 ++++++ Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs | 1 + 3 files changed, 8 insertions(+) diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs index f59a039b5..014aa87ca 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs @@ -40,6 +40,7 @@ public override void Handle(GameClient client, StructurePacket Date: Thu, 8 Sep 2022 21:51:30 +0200 Subject: [PATCH 09/72] Support for multiple job data and equipment for each character --- .../Sql/Core/DdonSqlDbCharacter.cs | 545 ++++++++--------- .../Sql/Core/DdonSqlDbEquipItemInfo.cs | 2 + .../Sql/Core/DdonSqlDbEquipJobItem.cs | 1 + .../Chat/ChatResponse.cs | 4 +- Arrowgene.Ddon.GameServer/GameClient.cs | 2 +- .../CharacterDecideCharacterIdHandler.cs | 12 +- .../Handler/ClanClanGetMyMemberListHandler.cs | 4 +- .../Handler/JobChangeJobHandler.cs | 156 +++-- .../Handler/LobbyLobbyJoinHandler.cs | 8 +- .../Handler/PartyPartyCreateHandler.cs | 8 +- .../PartyPartyInviteCharacterHandler.cs | 24 +- .../PartyPartyInvitePrepareAcceptHandler.cs | 4 +- .../Handler/PartyPartyJoinHandler.cs | 8 +- .../SkillGetAcquirableSkillListHandler.cs | 36 +- .../Handler/CreateCharacterHandler.cs | 552 ++++++++++-------- .../Handler/GetCharacterListHandler.cs | 16 +- Arrowgene.Ddon.Rpc/Command/InfoCommand.cs | 4 +- .../Structure/CDataCharacterEquipInfo.cs | 7 - .../Entity/Structure/CDataCharacterInfo.cs | 43 +- .../Entity/Structure/CDataContextBase.cs | 22 +- .../Structure/CDataContextPlayerInfo.cs | 30 +- .../Entity/Structure/CDataContextResist.cs | 2 +- .../Structure/CDataLobbyContextPlayer.cs | 2 +- .../Structure/CDataPartyPlayerContext.cs | 2 +- Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv | 17 +- Arrowgene.Ddon.Shared/Model/Character.cs | 60 +- Arrowgene.Ddon.Shared/Model/JobId.cs | 2 +- Arrowgene.Ddon.Shared/Network/PacketId.cs | 8 +- .../Database/CharacterDatabaseTest.cs | 8 +- 29 files changed, 855 insertions(+), 734 deletions(-) diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index 5df3f4d24..dfb3d377c 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -219,55 +219,63 @@ private void QueryCharacterData(Character character) { while (reader.Read()) { - character.CharacterInfo.CharacterJobDataList.Add(ReadCharacterJobData(reader)); + character.CharacterJobDataList.Add(ReadCharacterJobData(reader)); } }); // Equips - CDataCharacterEquipData characterEquipData = new CDataCharacterEquipData(); - ExecuteReader(SqlSelectEquipItemInfo, - command => - { - AddParameter(command, "@character_id", character.Id); - AddParameter(command, "@job", (byte) character.CharacterInfo.Job); - }, + ExecuteReader(SqlSelectEquipItemInfoByCharacter, + command => { AddParameter(command, "@character_id", character.Id); }, reader => { while (reader.Read()) { - characterEquipData.Equips.Add(ReadEquipItemInfo(reader)); + JobId job = (JobId) GetByte(reader, "job"); + CDataEquipItemInfo equipItemInfo = ReadEquipItemInfo(reader); + if(!character.CharacterEquipDataListDictionary.ContainsKey(job)) + { + List characterEquipDataList = new List(); + characterEquipDataList.Add(new CDataCharacterEquipData()); + character.CharacterEquipDataListDictionary.Add(job, characterEquipDataList); + } + character.CharacterEquipDataListDictionary[job][0].Equips.Add(equipItemInfo); } }); - character.CharacterInfo.CharacterEquipDataList.Add(characterEquipData); - - CDataCharacterEquipData characterVisualEquipData = new CDataCharacterEquipData(); - ExecuteReader(SqlSelectVisualEquipItemInfo, - command => - { - AddParameter(command, "@character_id", character.Id); - AddParameter(command, "@job", (byte) character.CharacterInfo.Job); - }, + + ExecuteReader(SqlSelectVisualEquipItemInfoByCharacter, + command => { AddParameter(command, "@character_id", character.Id); }, reader => { while (reader.Read()) { - characterVisualEquipData.Equips.Add(ReadEquipItemInfo(reader)); + JobId job = (JobId) GetByte(reader, "job"); + CDataEquipItemInfo equipItemInfo = ReadEquipItemInfo(reader); + if(!character.CharacterEquipViewDataListDictionary.ContainsKey(job)) + { + List characterEquipDataList = new List(); + characterEquipDataList.Add(new CDataCharacterEquipData()); + character.CharacterEquipViewDataListDictionary.Add(job, characterEquipDataList); + } + character.CharacterEquipViewDataListDictionary[job][0].Equips.Add(equipItemInfo); } }); - character.CharacterInfo.CharacterEquipViewDataList.Add(characterVisualEquipData); + + // Job Items - ExecuteReader(SqlSelectEquipJobItem, - command => - { - AddParameter(command, "@character_id", character.Id); - AddParameter(command, "@job", (byte) character.CharacterInfo.Job); - }, + ExecuteReader(SqlSelectEquipJobItemByCharacter, + command => { AddParameter(command, "@character_id", character.Id); }, reader => { while (reader.Read()) { - character.CharacterInfo.CharacterEquipJobItemList.Add(ReadEquipJobItem(reader)); + JobId job = (JobId) GetByte(reader, "job"); + CDataEquipJobItem equipJobItem = ReadEquipJobItem(reader); + if(!character.CharacterEquipJobItemListDictionary.ContainsKey(job)) + { + character.CharacterEquipJobItemListDictionary.Add(job, new List()); + } + character.CharacterEquipJobItemListDictionary[job].Add(equipJobItem); } }); @@ -307,7 +315,7 @@ private void QueryCharacterData(Character character) private void StoreCharacterData(Character character) { - foreach(CDataCharacterJobData characterJobData in character.CharacterInfo.CharacterJobDataList) + foreach(CDataCharacterJobData characterJobData in character.CharacterJobDataList) { ExecuteNonQuery(SqlReplaceCharacterJobData, command => { @@ -315,34 +323,43 @@ private void StoreCharacterData(Character character) }); } - foreach(CDataCharacterEquipData characterEquipData in character.CharacterInfo.CharacterEquipDataList) + foreach(KeyValuePair> characterEquipDataListByJob in character.CharacterEquipDataListDictionary) { - foreach(CDataEquipItemInfo equipItemInfo in characterEquipData.Equips) + foreach(CDataCharacterEquipData characterEquipData in characterEquipDataListByJob.Value) { - ExecuteNonQuery(SqlReplaceEquipItemInfo, command => + foreach(CDataEquipItemInfo equipItemInfo in characterEquipData.Equips) { - AddParameter(command, character.Id, character.CharacterInfo.Job, equipItemInfo); - }); + ExecuteNonQuery(SqlReplaceEquipItemInfo, command => + { + AddParameter(command, character.Id, characterEquipDataListByJob.Key, equipItemInfo); + }); + } } } - foreach(CDataCharacterEquipData characterEquipData in character.CharacterInfo.CharacterEquipViewDataList) + foreach(KeyValuePair> characterEquipViewDataListByJob in character.CharacterEquipViewDataListDictionary) { - foreach(CDataEquipItemInfo equipItemInfo in characterEquipData.Equips) + foreach(CDataCharacterEquipData characterEquipData in characterEquipViewDataListByJob.Value) { - ExecuteNonQuery(SqlReplaceEquipItemInfo, command => + foreach(CDataEquipItemInfo equipItemInfo in characterEquipData.Equips) { - AddParameter(command, character.Id, character.CharacterInfo.Job, equipItemInfo); - }); + ExecuteNonQuery(SqlReplaceEquipItemInfo, command => + { + AddParameter(command, character.Id, characterEquipViewDataListByJob.Key, equipItemInfo); + }); + } } } - foreach(CDataEquipJobItem equipJobItem in character.CharacterInfo.CharacterEquipJobItemList) + foreach(KeyValuePair> characterEquipJobItemListByJob in character.CharacterEquipJobItemListDictionary) { - ExecuteNonQuery(SqlReplaceEquipJobItem, command => + foreach(CDataEquipJobItem equipJobItem in characterEquipJobItemListByJob.Value) { - AddParameter(command, character.Id, character.CharacterInfo.Job, equipJobItem); - }); + ExecuteNonQuery(SqlReplaceEquipJobItem, command => + { + AddParameter(command, character.Id, characterEquipJobItemListByJob.Key, equipJobItem); + }); + } } foreach(CDataNormalSkillParam normalSkillParam in character.NormalSkills) @@ -376,120 +393,120 @@ private Character ReadAllCharacterData(DbDataReader reader) character.Id = GetUInt32(reader, "id"); character.AccountId = GetInt32(reader, "account_id"); - character.CharacterInfo.Version = GetUInt32(reader, "version"); - character.CharacterInfo.FirstName = GetString(reader, "first_name"); - character.CharacterInfo.LastName = GetString(reader, "last_name"); + character.Version = GetUInt32(reader, "version"); + character.FirstName = GetString(reader, "first_name"); + character.LastName = GetString(reader, "last_name"); character.Created = GetDateTime(reader, "created"); - character.CharacterInfo.Job = (JobId) GetByte(reader, "job"); - character.CharacterInfo.JewelrySlotNum = GetByte(reader, "jewelry_slot_num"); - character.CharacterInfo.MyPawnSlotNum = GetByte(reader, "my_pawn_slot_num"); - character.CharacterInfo.RentalPawnSlotNum = GetByte(reader, "rental_pawn_slot_num"); - character.CharacterInfo.HideEquipHead = GetBoolean(reader, "hide_equip_head"); - character.CharacterInfo.HideEquipLantern = GetBoolean(reader, "hide_equip_lantern"); - character.CharacterInfo.HideEquipHeadPawn = GetBoolean(reader, "hide_equip_head_pawn"); - character.CharacterInfo.HideEquipLanternPawn = GetBoolean(reader, "hide_equip_lantern_pawn"); - character.CharacterInfo.ArisenProfileShareRange = GetByte(reader, "arisen_profile_share_range"); - - character.CharacterInfo.EditInfo.Sex = GetByte(reader, "sex"); - character.CharacterInfo.EditInfo.Voice = GetByte(reader, "voice"); - character.CharacterInfo.EditInfo.VoicePitch = GetUInt16(reader, "voice_pitch"); - character.CharacterInfo.EditInfo.Personality = GetByte(reader, "personality"); - character.CharacterInfo.EditInfo.SpeechFreq = GetByte(reader, "speech_freq"); - character.CharacterInfo.EditInfo.BodyType = GetByte(reader, "body_type"); - character.CharacterInfo.EditInfo.Hair = GetByte(reader, "hair"); - character.CharacterInfo.EditInfo.Beard = GetByte(reader, "beard"); - character.CharacterInfo.EditInfo.Makeup = GetByte(reader, "makeup"); - character.CharacterInfo.EditInfo.Scar = GetByte(reader, "scar"); - character.CharacterInfo.EditInfo.EyePresetNo = GetByte(reader, "eye_preset_no"); - character.CharacterInfo.EditInfo.NosePresetNo = GetByte(reader, "nose_preset_no"); - character.CharacterInfo.EditInfo.MouthPresetNo = GetByte(reader, "mouth_preset_no"); - character.CharacterInfo.EditInfo.EyebrowTexNo = GetByte(reader, "eyebrow_tex_no"); - character.CharacterInfo.EditInfo.ColorSkin = GetByte(reader, "color_skin"); - character.CharacterInfo.EditInfo.ColorHair = GetByte(reader, "color_hair"); - character.CharacterInfo.EditInfo.ColorBeard = GetByte(reader, "color_beard"); - character.CharacterInfo.EditInfo.ColorEyebrow = GetByte(reader, "color_eyebrow"); - character.CharacterInfo.EditInfo.ColorREye = GetByte(reader, "color_r_eye"); - character.CharacterInfo.EditInfo.ColorLEye = GetByte(reader, "color_l_eye"); - character.CharacterInfo.EditInfo.ColorMakeup = GetByte(reader, "color_makeup"); - character.CharacterInfo.EditInfo.Sokutobu = GetUInt16(reader, "sokutobu"); - character.CharacterInfo.EditInfo.Hitai = GetUInt16(reader, "hitai"); - character.CharacterInfo.EditInfo.MimiJyouge = GetUInt16(reader, "mimi_jyouge"); - character.CharacterInfo.EditInfo.Kannkaku = GetUInt16(reader, "kannkaku"); - character.CharacterInfo.EditInfo.MabisasiJyouge = GetUInt16(reader, "mabisasi_jyouge"); - character.CharacterInfo.EditInfo.HanakuchiJyouge = GetUInt16(reader, "hanakuchi_jyouge"); - character.CharacterInfo.EditInfo.AgoSakiHaba = GetUInt16(reader, "ago_saki_haba"); - character.CharacterInfo.EditInfo.AgoZengo = GetUInt16(reader, "ago_zengo"); - character.CharacterInfo.EditInfo.AgoSakiJyouge = GetUInt16(reader, "ago_saki_jyouge"); - character.CharacterInfo.EditInfo.HitomiOokisa = GetUInt16(reader, "hitomi_ookisa"); - character.CharacterInfo.EditInfo.MeOokisa = GetUInt16(reader, "me_ookisa"); - character.CharacterInfo.EditInfo.MeKaiten = GetUInt16(reader, "me_kaiten"); - character.CharacterInfo.EditInfo.MayuKaiten = GetUInt16(reader, "mayu_kaiten"); - character.CharacterInfo.EditInfo.MimiOokisa = GetUInt16(reader, "mimi_ookisa"); - character.CharacterInfo.EditInfo.MimiMuki = GetUInt16(reader, "mimi_muki"); - character.CharacterInfo.EditInfo.ElfMimi = GetUInt16(reader, "elf_mimi"); - character.CharacterInfo.EditInfo.MikenTakasa = GetUInt16(reader, "miken_takasa"); - character.CharacterInfo.EditInfo.MikenHaba = GetUInt16(reader, "miken_haba"); - character.CharacterInfo.EditInfo.HohoboneRyou = GetUInt16(reader, "hohobone_ryou"); - character.CharacterInfo.EditInfo.HohoboneJyouge = GetUInt16(reader, "hohobone_jyouge"); - character.CharacterInfo.EditInfo.Hohoniku = GetUInt16(reader, "hohoniku"); - character.CharacterInfo.EditInfo.ErahoneJyouge = GetUInt16(reader, "erahone_jyouge"); - character.CharacterInfo.EditInfo.ErahoneHaba = GetUInt16(reader, "erahone_haba"); - character.CharacterInfo.EditInfo.HanaJyouge = GetUInt16(reader, "hana_jyouge"); - character.CharacterInfo.EditInfo.HanaHaba = GetUInt16(reader, "hana_haba"); - character.CharacterInfo.EditInfo.HanaTakasa = GetUInt16(reader, "hana_takasa"); - character.CharacterInfo.EditInfo.HanaKakudo = GetUInt16(reader, "hana_kakudo"); - character.CharacterInfo.EditInfo.KuchiHaba = GetUInt16(reader, "kuchi_haba"); - character.CharacterInfo.EditInfo.KuchiAtsusa = GetUInt16(reader, "kuchi_atsusa"); - character.CharacterInfo.EditInfo.EyebrowUVOffsetX = GetUInt16(reader, "eyebrow_uv_offset_x"); - character.CharacterInfo.EditInfo.EyebrowUVOffsetY = GetUInt16(reader, "eyebrow_uv_offset_y"); - character.CharacterInfo.EditInfo.Wrinkle = GetUInt16(reader, "wrinkle"); - character.CharacterInfo.EditInfo.WrinkleAlbedoBlendRate = GetUInt16(reader, "wrinkle_albedo_blend_rate"); - character.CharacterInfo.EditInfo.WrinkleDetailNormalPower = GetUInt16(reader, "wrinkle_detail_normal_power"); - character.CharacterInfo.EditInfo.MuscleAlbedoBlendRate = GetUInt16(reader, "muscle_albedo_blend_rate"); - character.CharacterInfo.EditInfo.MuscleDetailNormalPower = GetUInt16(reader, "muscle_detail_normal_power"); - character.CharacterInfo.EditInfo.Height = GetUInt16(reader, "height"); - character.CharacterInfo.EditInfo.HeadSize = GetUInt16(reader, "head_size"); - character.CharacterInfo.EditInfo.NeckOffset = GetUInt16(reader, "neck_offset"); - character.CharacterInfo.EditInfo.NeckScale = GetUInt16(reader, "neck_scale"); - character.CharacterInfo.EditInfo.UpperBodyScaleX = GetUInt16(reader, "upper_body_scale_x"); - character.CharacterInfo.EditInfo.BellySize = GetUInt16(reader, "belly_size"); - character.CharacterInfo.EditInfo.TeatScale = GetUInt16(reader, "teat_scale"); - character.CharacterInfo.EditInfo.TekubiSize = GetUInt16(reader, "tekubi_size"); - character.CharacterInfo.EditInfo.KoshiOffset = GetUInt16(reader, "koshi_offset"); - character.CharacterInfo.EditInfo.KoshiSize = GetUInt16(reader, "koshi_size"); - character.CharacterInfo.EditInfo.AnkleOffset = GetUInt16(reader, "ankle_offset"); - character.CharacterInfo.EditInfo.Fat = GetUInt16(reader, "fat"); - character.CharacterInfo.EditInfo.Muscle = GetUInt16(reader, "muscle"); - character.CharacterInfo.EditInfo.MotionFilter = GetUInt16(reader, "motion_filter"); - - character.CharacterInfo.StatusInfo.HP = GetUInt32(reader, "hp"); - character.CharacterInfo.StatusInfo.Stamina = GetUInt32(reader, "stamina"); - character.CharacterInfo.StatusInfo.RevivePoint = GetByte(reader, "revive_point"); - character.CharacterInfo.StatusInfo.MaxHP = GetUInt32(reader, "max_hp"); - character.CharacterInfo.StatusInfo.MaxStamina = GetUInt32(reader, "max_stamina"); - character.CharacterInfo.StatusInfo.WhiteHP = GetUInt32(reader, "white_hp"); - character.CharacterInfo.StatusInfo.GainHP = GetUInt32(reader, "gain_hp"); - character.CharacterInfo.StatusInfo.GainStamina = GetUInt32(reader, "gain_stamina"); - character.CharacterInfo.StatusInfo.GainAttack = GetUInt32(reader, "gain_attack"); - character.CharacterInfo.StatusInfo.GainDefense = GetUInt32(reader, "gain_defense"); - character.CharacterInfo.StatusInfo.GainMagicAttack = GetUInt32(reader, "gain_magic_attack"); - character.CharacterInfo.StatusInfo.GainMagicDefense = GetUInt32(reader, "gain_magic_defense"); - - character.CharacterInfo.MatchingProfile.EntryJob = (JobId) GetByte(reader, "entry_job"); - character.CharacterInfo.MatchingProfile.EntryJobLevel = GetUInt32(reader, "entry_job_level"); - character.CharacterInfo.MatchingProfile.CurrentJob = (JobId) GetByte(reader, "current_job"); - character.CharacterInfo.MatchingProfile.CurrentJobLevel = GetUInt32(reader, "current_job_level"); - character.CharacterInfo.MatchingProfile.ObjectiveType1 = GetUInt32(reader, "objective_type1"); - character.CharacterInfo.MatchingProfile.ObjectiveType2 = GetUInt32(reader, "objective_type2"); - character.CharacterInfo.MatchingProfile.PlayStyle = GetUInt32(reader, "play_style"); - character.CharacterInfo.MatchingProfile.Comment = GetString(reader, "comment"); - character.CharacterInfo.MatchingProfile.IsJoinParty = GetByte(reader, "is_join_party"); - - character.CharacterInfo.ArisenProfile.BackgroundId = GetByte(reader, "background_id"); - character.CharacterInfo.ArisenProfile.Title.UId = GetUInt32(reader, "title_uid"); - character.CharacterInfo.ArisenProfile.Title.Index = GetUInt32(reader, "title_index"); - character.CharacterInfo.ArisenProfile.MotionId = GetUInt16(reader, "motion_id"); - character.CharacterInfo.ArisenProfile.MotionFrameNo = GetUInt32(reader, "motion_frame_no"); + character.Job = (JobId) GetByte(reader, "job"); + character.JewelrySlotNum = GetByte(reader, "jewelry_slot_num"); + character.MyPawnSlotNum = GetByte(reader, "my_pawn_slot_num"); + character.RentalPawnSlotNum = GetByte(reader, "rental_pawn_slot_num"); + character.HideEquipHead = GetBoolean(reader, "hide_equip_head"); + character.HideEquipLantern = GetBoolean(reader, "hide_equip_lantern"); + character.HideEquipHeadPawn = GetBoolean(reader, "hide_equip_head_pawn"); + character.HideEquipLanternPawn = GetBoolean(reader, "hide_equip_lantern_pawn"); + character.ArisenProfileShareRange = GetByte(reader, "arisen_profile_share_range"); + + character.EditInfo.Sex = GetByte(reader, "sex"); + character.EditInfo.Voice = GetByte(reader, "voice"); + character.EditInfo.VoicePitch = GetUInt16(reader, "voice_pitch"); + character.EditInfo.Personality = GetByte(reader, "personality"); + character.EditInfo.SpeechFreq = GetByte(reader, "speech_freq"); + character.EditInfo.BodyType = GetByte(reader, "body_type"); + character.EditInfo.Hair = GetByte(reader, "hair"); + character.EditInfo.Beard = GetByte(reader, "beard"); + character.EditInfo.Makeup = GetByte(reader, "makeup"); + character.EditInfo.Scar = GetByte(reader, "scar"); + character.EditInfo.EyePresetNo = GetByte(reader, "eye_preset_no"); + character.EditInfo.NosePresetNo = GetByte(reader, "nose_preset_no"); + character.EditInfo.MouthPresetNo = GetByte(reader, "mouth_preset_no"); + character.EditInfo.EyebrowTexNo = GetByte(reader, "eyebrow_tex_no"); + character.EditInfo.ColorSkin = GetByte(reader, "color_skin"); + character.EditInfo.ColorHair = GetByte(reader, "color_hair"); + character.EditInfo.ColorBeard = GetByte(reader, "color_beard"); + character.EditInfo.ColorEyebrow = GetByte(reader, "color_eyebrow"); + character.EditInfo.ColorREye = GetByte(reader, "color_r_eye"); + character.EditInfo.ColorLEye = GetByte(reader, "color_l_eye"); + character.EditInfo.ColorMakeup = GetByte(reader, "color_makeup"); + character.EditInfo.Sokutobu = GetUInt16(reader, "sokutobu"); + character.EditInfo.Hitai = GetUInt16(reader, "hitai"); + character.EditInfo.MimiJyouge = GetUInt16(reader, "mimi_jyouge"); + character.EditInfo.Kannkaku = GetUInt16(reader, "kannkaku"); + character.EditInfo.MabisasiJyouge = GetUInt16(reader, "mabisasi_jyouge"); + character.EditInfo.HanakuchiJyouge = GetUInt16(reader, "hanakuchi_jyouge"); + character.EditInfo.AgoSakiHaba = GetUInt16(reader, "ago_saki_haba"); + character.EditInfo.AgoZengo = GetUInt16(reader, "ago_zengo"); + character.EditInfo.AgoSakiJyouge = GetUInt16(reader, "ago_saki_jyouge"); + character.EditInfo.HitomiOokisa = GetUInt16(reader, "hitomi_ookisa"); + character.EditInfo.MeOokisa = GetUInt16(reader, "me_ookisa"); + character.EditInfo.MeKaiten = GetUInt16(reader, "me_kaiten"); + character.EditInfo.MayuKaiten = GetUInt16(reader, "mayu_kaiten"); + character.EditInfo.MimiOokisa = GetUInt16(reader, "mimi_ookisa"); + character.EditInfo.MimiMuki = GetUInt16(reader, "mimi_muki"); + character.EditInfo.ElfMimi = GetUInt16(reader, "elf_mimi"); + character.EditInfo.MikenTakasa = GetUInt16(reader, "miken_takasa"); + character.EditInfo.MikenHaba = GetUInt16(reader, "miken_haba"); + character.EditInfo.HohoboneRyou = GetUInt16(reader, "hohobone_ryou"); + character.EditInfo.HohoboneJyouge = GetUInt16(reader, "hohobone_jyouge"); + character.EditInfo.Hohoniku = GetUInt16(reader, "hohoniku"); + character.EditInfo.ErahoneJyouge = GetUInt16(reader, "erahone_jyouge"); + character.EditInfo.ErahoneHaba = GetUInt16(reader, "erahone_haba"); + character.EditInfo.HanaJyouge = GetUInt16(reader, "hana_jyouge"); + character.EditInfo.HanaHaba = GetUInt16(reader, "hana_haba"); + character.EditInfo.HanaTakasa = GetUInt16(reader, "hana_takasa"); + character.EditInfo.HanaKakudo = GetUInt16(reader, "hana_kakudo"); + character.EditInfo.KuchiHaba = GetUInt16(reader, "kuchi_haba"); + character.EditInfo.KuchiAtsusa = GetUInt16(reader, "kuchi_atsusa"); + character.EditInfo.EyebrowUVOffsetX = GetUInt16(reader, "eyebrow_uv_offset_x"); + character.EditInfo.EyebrowUVOffsetY = GetUInt16(reader, "eyebrow_uv_offset_y"); + character.EditInfo.Wrinkle = GetUInt16(reader, "wrinkle"); + character.EditInfo.WrinkleAlbedoBlendRate = GetUInt16(reader, "wrinkle_albedo_blend_rate"); + character.EditInfo.WrinkleDetailNormalPower = GetUInt16(reader, "wrinkle_detail_normal_power"); + character.EditInfo.MuscleAlbedoBlendRate = GetUInt16(reader, "muscle_albedo_blend_rate"); + character.EditInfo.MuscleDetailNormalPower = GetUInt16(reader, "muscle_detail_normal_power"); + character.EditInfo.Height = GetUInt16(reader, "height"); + character.EditInfo.HeadSize = GetUInt16(reader, "head_size"); + character.EditInfo.NeckOffset = GetUInt16(reader, "neck_offset"); + character.EditInfo.NeckScale = GetUInt16(reader, "neck_scale"); + character.EditInfo.UpperBodyScaleX = GetUInt16(reader, "upper_body_scale_x"); + character.EditInfo.BellySize = GetUInt16(reader, "belly_size"); + character.EditInfo.TeatScale = GetUInt16(reader, "teat_scale"); + character.EditInfo.TekubiSize = GetUInt16(reader, "tekubi_size"); + character.EditInfo.KoshiOffset = GetUInt16(reader, "koshi_offset"); + character.EditInfo.KoshiSize = GetUInt16(reader, "koshi_size"); + character.EditInfo.AnkleOffset = GetUInt16(reader, "ankle_offset"); + character.EditInfo.Fat = GetUInt16(reader, "fat"); + character.EditInfo.Muscle = GetUInt16(reader, "muscle"); + character.EditInfo.MotionFilter = GetUInt16(reader, "motion_filter"); + + character.StatusInfo.HP = GetUInt32(reader, "hp"); + character.StatusInfo.Stamina = GetUInt32(reader, "stamina"); + character.StatusInfo.RevivePoint = GetByte(reader, "revive_point"); + character.StatusInfo.MaxHP = GetUInt32(reader, "max_hp"); + character.StatusInfo.MaxStamina = GetUInt32(reader, "max_stamina"); + character.StatusInfo.WhiteHP = GetUInt32(reader, "white_hp"); + character.StatusInfo.GainHP = GetUInt32(reader, "gain_hp"); + character.StatusInfo.GainStamina = GetUInt32(reader, "gain_stamina"); + character.StatusInfo.GainAttack = GetUInt32(reader, "gain_attack"); + character.StatusInfo.GainDefense = GetUInt32(reader, "gain_defense"); + character.StatusInfo.GainMagicAttack = GetUInt32(reader, "gain_magic_attack"); + character.StatusInfo.GainMagicDefense = GetUInt32(reader, "gain_magic_defense"); + + character.MatchingProfile.EntryJob = (JobId) GetByte(reader, "entry_job"); + character.MatchingProfile.EntryJobLevel = GetUInt32(reader, "entry_job_level"); + character.MatchingProfile.CurrentJob = (JobId) GetByte(reader, "current_job"); + character.MatchingProfile.CurrentJobLevel = GetUInt32(reader, "current_job_level"); + character.MatchingProfile.ObjectiveType1 = GetUInt32(reader, "objective_type1"); + character.MatchingProfile.ObjectiveType2 = GetUInt32(reader, "objective_type2"); + character.MatchingProfile.PlayStyle = GetUInt32(reader, "play_style"); + character.MatchingProfile.Comment = GetString(reader, "comment"); + character.MatchingProfile.IsJoinParty = GetByte(reader, "is_join_party"); + + character.ArisenProfile.BackgroundId = GetByte(reader, "background_id"); + character.ArisenProfile.Title.UId = GetUInt32(reader, "title_uid"); + character.ArisenProfile.Title.Index = GetUInt32(reader, "title_index"); + character.ArisenProfile.MotionId = GetUInt16(reader, "motion_id"); + character.ArisenProfile.MotionFrameNo = GetUInt32(reader, "motion_frame_no"); return character; } @@ -499,120 +516,120 @@ private void AddParameter(TCom command, Character character) // CharacterFields AddParameter(command, "@account_id", character.AccountId); AddParameter(command, "@character_id", character.Id); - AddParameter(command, "@version", character.CharacterInfo.Version); - AddParameter(command, "@first_name", character.CharacterInfo.FirstName); - AddParameter(command, "@last_name", character.CharacterInfo.LastName); + AddParameter(command, "@version", character.Version); + AddParameter(command, "@first_name", character.FirstName); + AddParameter(command, "@last_name", character.LastName); AddParameter(command, "@created", character.Created); - AddParameter(command, "@job", (byte) character.CharacterInfo.Job); - AddParameter(command, "@jewelry_slot_num", character.CharacterInfo.JewelrySlotNum); - AddParameter(command, "@my_pawn_slot_num", character.CharacterInfo.MyPawnSlotNum); - AddParameter(command, "@rental_pawn_slot_num", character.CharacterInfo.RentalPawnSlotNum); - AddParameter(command, "@hide_equip_head", character.CharacterInfo.HideEquipHead); - AddParameter(command, "@hide_equip_lantern", character.CharacterInfo.HideEquipLantern); - AddParameter(command, "@hide_equip_head_pawn", character.CharacterInfo.HideEquipHeadPawn); - AddParameter(command, "@hide_equip_lantern_pawn", character.CharacterInfo.HideEquipLanternPawn); - AddParameter(command, "@arisen_profile_share_range", character.CharacterInfo.ArisenProfileShareRange); + AddParameter(command, "@job", (byte) character.Job); + AddParameter(command, "@jewelry_slot_num", character.JewelrySlotNum); + AddParameter(command, "@my_pawn_slot_num", character.MyPawnSlotNum); + AddParameter(command, "@rental_pawn_slot_num", character.RentalPawnSlotNum); + AddParameter(command, "@hide_equip_head", character.HideEquipHead); + AddParameter(command, "@hide_equip_lantern", character.HideEquipLantern); + AddParameter(command, "@hide_equip_head_pawn", character.HideEquipHeadPawn); + AddParameter(command, "@hide_equip_lantern_pawn", character.HideEquipLanternPawn); + AddParameter(command, "@arisen_profile_share_range", character.ArisenProfileShareRange); // CDataEditInfoFields - AddParameter(command, "@sex", character.CharacterInfo.EditInfo.Sex); - AddParameter(command, "@voice", character.CharacterInfo.EditInfo.Voice); - AddParameter(command, "@voice_pitch", character.CharacterInfo.EditInfo.VoicePitch); - AddParameter(command, "@personality", character.CharacterInfo.EditInfo.Personality); - AddParameter(command, "@speech_freq", character.CharacterInfo.EditInfo.SpeechFreq); - AddParameter(command, "@body_type", character.CharacterInfo.EditInfo.BodyType); - AddParameter(command, "@hair", character.CharacterInfo.EditInfo.Hair); - AddParameter(command, "@beard", character.CharacterInfo.EditInfo.Beard); - AddParameter(command, "@makeup", character.CharacterInfo.EditInfo.Makeup); - AddParameter(command, "@scar", character.CharacterInfo.EditInfo.Scar); - AddParameter(command, "@eye_preset_no", character.CharacterInfo.EditInfo.EyePresetNo); - AddParameter(command, "@nose_preset_no", character.CharacterInfo.EditInfo.NosePresetNo); - AddParameter(command, "@mouth_preset_no", character.CharacterInfo.EditInfo.MouthPresetNo); - AddParameter(command, "@eyebrow_tex_no", character.CharacterInfo.EditInfo.EyebrowTexNo); - AddParameter(command, "@color_skin", character.CharacterInfo.EditInfo.ColorSkin); - AddParameter(command, "@color_hair", character.CharacterInfo.EditInfo.ColorHair); - AddParameter(command, "@color_beard", character.CharacterInfo.EditInfo.ColorBeard); - AddParameter(command, "@color_eyebrow", character.CharacterInfo.EditInfo.ColorEyebrow); - AddParameter(command, "@color_r_eye", character.CharacterInfo.EditInfo.ColorREye); - AddParameter(command, "@color_l_eye", character.CharacterInfo.EditInfo.ColorLEye); - AddParameter(command, "@color_makeup", character.CharacterInfo.EditInfo.ColorMakeup); - AddParameter(command, "@sokutobu", character.CharacterInfo.EditInfo.Sokutobu); - AddParameter(command, "@hitai", character.CharacterInfo.EditInfo.Hitai); - AddParameter(command, "@mimi_jyouge", character.CharacterInfo.EditInfo.MimiJyouge); - AddParameter(command, "@kannkaku", character.CharacterInfo.EditInfo.Kannkaku); - AddParameter(command, "@mabisasi_jyouge", character.CharacterInfo.EditInfo.MabisasiJyouge); - AddParameter(command, "@hanakuchi_jyouge", character.CharacterInfo.EditInfo.HanakuchiJyouge); - AddParameter(command, "@ago_saki_haba", character.CharacterInfo.EditInfo.AgoSakiHaba); - AddParameter(command, "@ago_zengo", character.CharacterInfo.EditInfo.AgoZengo); - AddParameter(command, "@ago_saki_jyouge", character.CharacterInfo.EditInfo.AgoSakiJyouge); - AddParameter(command, "@hitomi_ookisa", character.CharacterInfo.EditInfo.HitomiOokisa); - AddParameter(command, "@me_ookisa", character.CharacterInfo.EditInfo.MeOokisa); - AddParameter(command, "@me_kaiten", character.CharacterInfo.EditInfo.MeKaiten); - AddParameter(command, "@mayu_kaiten", character.CharacterInfo.EditInfo.MayuKaiten); - AddParameter(command, "@mimi_ookisa", character.CharacterInfo.EditInfo.MimiOokisa); - AddParameter(command, "@mimi_muki", character.CharacterInfo.EditInfo.MimiMuki); - AddParameter(command, "@elf_mimi", character.CharacterInfo.EditInfo.ElfMimi); - AddParameter(command, "@miken_takasa", character.CharacterInfo.EditInfo.MikenTakasa); - AddParameter(command, "@miken_haba", character.CharacterInfo.EditInfo.MikenHaba); - AddParameter(command, "@hohobone_ryou", character.CharacterInfo.EditInfo.HohoboneRyou); - AddParameter(command, "@hohobone_jyouge", character.CharacterInfo.EditInfo.HohoboneJyouge); - AddParameter(command, "@hohoniku", character.CharacterInfo.EditInfo.Hohoniku); - AddParameter(command, "@erahone_jyouge", character.CharacterInfo.EditInfo.ErahoneJyouge); - AddParameter(command, "@erahone_haba", character.CharacterInfo.EditInfo.ErahoneHaba); - AddParameter(command, "@hana_jyouge", character.CharacterInfo.EditInfo.HanaJyouge); - AddParameter(command, "@hana_haba", character.CharacterInfo.EditInfo.HanaHaba); - AddParameter(command, "@hana_takasa", character.CharacterInfo.EditInfo.HanaTakasa); - AddParameter(command, "@hana_kakudo", character.CharacterInfo.EditInfo.HanaKakudo); - AddParameter(command, "@kuchi_haba", character.CharacterInfo.EditInfo.KuchiHaba); - AddParameter(command, "@kuchi_atsusa", character.CharacterInfo.EditInfo.KuchiAtsusa); - AddParameter(command, "@eyebrow_uv_offset_x", character.CharacterInfo.EditInfo.EyebrowUVOffsetX); - AddParameter(command, "@eyebrow_uv_offset_y", character.CharacterInfo.EditInfo.EyebrowUVOffsetY); - AddParameter(command, "@wrinkle", character.CharacterInfo.EditInfo.Wrinkle); - AddParameter(command, "@wrinkle_albedo_blend_rate", character.CharacterInfo.EditInfo.WrinkleAlbedoBlendRate); - AddParameter(command, "@wrinkle_detail_normal_power", character.CharacterInfo.EditInfo.WrinkleDetailNormalPower); - AddParameter(command, "@muscle_albedo_blend_rate", character.CharacterInfo.EditInfo.MuscleAlbedoBlendRate); - AddParameter(command, "@muscle_detail_normal_power", character.CharacterInfo.EditInfo.MuscleDetailNormalPower); - AddParameter(command, "@height", character.CharacterInfo.EditInfo.Height); - AddParameter(command, "@head_size", character.CharacterInfo.EditInfo.HeadSize); - AddParameter(command, "@neck_offset", character.CharacterInfo.EditInfo.NeckOffset); - AddParameter(command, "@neck_scale", character.CharacterInfo.EditInfo.NeckScale); - AddParameter(command, "@upper_body_scale_x", character.CharacterInfo.EditInfo.UpperBodyScaleX); - AddParameter(command, "@belly_size", character.CharacterInfo.EditInfo.BellySize); - AddParameter(command, "@teat_scale", character.CharacterInfo.EditInfo.TeatScale); - AddParameter(command, "@tekubi_size", character.CharacterInfo.EditInfo.TekubiSize); - AddParameter(command, "@koshi_offset", character.CharacterInfo.EditInfo.KoshiOffset); - AddParameter(command, "@koshi_size", character.CharacterInfo.EditInfo.KoshiSize); - AddParameter(command, "@ankle_offset", character.CharacterInfo.EditInfo.AnkleOffset); - AddParameter(command, "@fat", character.CharacterInfo.EditInfo.Fat); - AddParameter(command, "@muscle", character.CharacterInfo.EditInfo.Muscle); - AddParameter(command, "@motion_filter", character.CharacterInfo.EditInfo.MotionFilter); + AddParameter(command, "@sex", character.EditInfo.Sex); + AddParameter(command, "@voice", character.EditInfo.Voice); + AddParameter(command, "@voice_pitch", character.EditInfo.VoicePitch); + AddParameter(command, "@personality", character.EditInfo.Personality); + AddParameter(command, "@speech_freq", character.EditInfo.SpeechFreq); + AddParameter(command, "@body_type", character.EditInfo.BodyType); + AddParameter(command, "@hair", character.EditInfo.Hair); + AddParameter(command, "@beard", character.EditInfo.Beard); + AddParameter(command, "@makeup", character.EditInfo.Makeup); + AddParameter(command, "@scar", character.EditInfo.Scar); + AddParameter(command, "@eye_preset_no", character.EditInfo.EyePresetNo); + AddParameter(command, "@nose_preset_no", character.EditInfo.NosePresetNo); + AddParameter(command, "@mouth_preset_no", character.EditInfo.MouthPresetNo); + AddParameter(command, "@eyebrow_tex_no", character.EditInfo.EyebrowTexNo); + AddParameter(command, "@color_skin", character.EditInfo.ColorSkin); + AddParameter(command, "@color_hair", character.EditInfo.ColorHair); + AddParameter(command, "@color_beard", character.EditInfo.ColorBeard); + AddParameter(command, "@color_eyebrow", character.EditInfo.ColorEyebrow); + AddParameter(command, "@color_r_eye", character.EditInfo.ColorREye); + AddParameter(command, "@color_l_eye", character.EditInfo.ColorLEye); + AddParameter(command, "@color_makeup", character.EditInfo.ColorMakeup); + AddParameter(command, "@sokutobu", character.EditInfo.Sokutobu); + AddParameter(command, "@hitai", character.EditInfo.Hitai); + AddParameter(command, "@mimi_jyouge", character.EditInfo.MimiJyouge); + AddParameter(command, "@kannkaku", character.EditInfo.Kannkaku); + AddParameter(command, "@mabisasi_jyouge", character.EditInfo.MabisasiJyouge); + AddParameter(command, "@hanakuchi_jyouge", character.EditInfo.HanakuchiJyouge); + AddParameter(command, "@ago_saki_haba", character.EditInfo.AgoSakiHaba); + AddParameter(command, "@ago_zengo", character.EditInfo.AgoZengo); + AddParameter(command, "@ago_saki_jyouge", character.EditInfo.AgoSakiJyouge); + AddParameter(command, "@hitomi_ookisa", character.EditInfo.HitomiOokisa); + AddParameter(command, "@me_ookisa", character.EditInfo.MeOokisa); + AddParameter(command, "@me_kaiten", character.EditInfo.MeKaiten); + AddParameter(command, "@mayu_kaiten", character.EditInfo.MayuKaiten); + AddParameter(command, "@mimi_ookisa", character.EditInfo.MimiOokisa); + AddParameter(command, "@mimi_muki", character.EditInfo.MimiMuki); + AddParameter(command, "@elf_mimi", character.EditInfo.ElfMimi); + AddParameter(command, "@miken_takasa", character.EditInfo.MikenTakasa); + AddParameter(command, "@miken_haba", character.EditInfo.MikenHaba); + AddParameter(command, "@hohobone_ryou", character.EditInfo.HohoboneRyou); + AddParameter(command, "@hohobone_jyouge", character.EditInfo.HohoboneJyouge); + AddParameter(command, "@hohoniku", character.EditInfo.Hohoniku); + AddParameter(command, "@erahone_jyouge", character.EditInfo.ErahoneJyouge); + AddParameter(command, "@erahone_haba", character.EditInfo.ErahoneHaba); + AddParameter(command, "@hana_jyouge", character.EditInfo.HanaJyouge); + AddParameter(command, "@hana_haba", character.EditInfo.HanaHaba); + AddParameter(command, "@hana_takasa", character.EditInfo.HanaTakasa); + AddParameter(command, "@hana_kakudo", character.EditInfo.HanaKakudo); + AddParameter(command, "@kuchi_haba", character.EditInfo.KuchiHaba); + AddParameter(command, "@kuchi_atsusa", character.EditInfo.KuchiAtsusa); + AddParameter(command, "@eyebrow_uv_offset_x", character.EditInfo.EyebrowUVOffsetX); + AddParameter(command, "@eyebrow_uv_offset_y", character.EditInfo.EyebrowUVOffsetY); + AddParameter(command, "@wrinkle", character.EditInfo.Wrinkle); + AddParameter(command, "@wrinkle_albedo_blend_rate", character.EditInfo.WrinkleAlbedoBlendRate); + AddParameter(command, "@wrinkle_detail_normal_power", character.EditInfo.WrinkleDetailNormalPower); + AddParameter(command, "@muscle_albedo_blend_rate", character.EditInfo.MuscleAlbedoBlendRate); + AddParameter(command, "@muscle_detail_normal_power", character.EditInfo.MuscleDetailNormalPower); + AddParameter(command, "@height", character.EditInfo.Height); + AddParameter(command, "@head_size", character.EditInfo.HeadSize); + AddParameter(command, "@neck_offset", character.EditInfo.NeckOffset); + AddParameter(command, "@neck_scale", character.EditInfo.NeckScale); + AddParameter(command, "@upper_body_scale_x", character.EditInfo.UpperBodyScaleX); + AddParameter(command, "@belly_size", character.EditInfo.BellySize); + AddParameter(command, "@teat_scale", character.EditInfo.TeatScale); + AddParameter(command, "@tekubi_size", character.EditInfo.TekubiSize); + AddParameter(command, "@koshi_offset", character.EditInfo.KoshiOffset); + AddParameter(command, "@koshi_size", character.EditInfo.KoshiSize); + AddParameter(command, "@ankle_offset", character.EditInfo.AnkleOffset); + AddParameter(command, "@fat", character.EditInfo.Fat); + AddParameter(command, "@muscle", character.EditInfo.Muscle); + AddParameter(command, "@motion_filter", character.EditInfo.MotionFilter); // CDataStatusInfoFields - AddParameter(command, "@hp", character.CharacterInfo.StatusInfo.HP); - AddParameter(command, "@stamina", character.CharacterInfo.StatusInfo.Stamina); - AddParameter(command, "@revive_point", character.CharacterInfo.StatusInfo.RevivePoint); - AddParameter(command, "@max_hp", character.CharacterInfo.StatusInfo.MaxHP); - AddParameter(command, "@max_stamina", character.CharacterInfo.StatusInfo.MaxStamina); - AddParameter(command, "@white_hp", character.CharacterInfo.StatusInfo.WhiteHP); - AddParameter(command, "@gain_hp", character.CharacterInfo.StatusInfo.GainHP); - AddParameter(command, "@gain_stamina", character.CharacterInfo.StatusInfo.GainStamina); - AddParameter(command, "@gain_attack", character.CharacterInfo.StatusInfo.GainAttack); - AddParameter(command, "@gain_defense", character.CharacterInfo.StatusInfo.GainDefense); - AddParameter(command, "@gain_magic_attack", character.CharacterInfo.StatusInfo.GainMagicAttack); - AddParameter(command, "@gain_magic_defense", character.CharacterInfo.StatusInfo.GainMagicDefense); + AddParameter(command, "@hp", character.StatusInfo.HP); + AddParameter(command, "@stamina", character.StatusInfo.Stamina); + AddParameter(command, "@revive_point", character.StatusInfo.RevivePoint); + AddParameter(command, "@max_hp", character.StatusInfo.MaxHP); + AddParameter(command, "@max_stamina", character.StatusInfo.MaxStamina); + AddParameter(command, "@white_hp", character.StatusInfo.WhiteHP); + AddParameter(command, "@gain_hp", character.StatusInfo.GainHP); + AddParameter(command, "@gain_stamina", character.StatusInfo.GainStamina); + AddParameter(command, "@gain_attack", character.StatusInfo.GainAttack); + AddParameter(command, "@gain_defense", character.StatusInfo.GainDefense); + AddParameter(command, "@gain_magic_attack", character.StatusInfo.GainMagicAttack); + AddParameter(command, "@gain_magic_defense", character.StatusInfo.GainMagicDefense); // CDataMatchingProfile - AddParameter(command, "@entry_job", (byte) character.CharacterInfo.MatchingProfile.EntryJob); - AddParameter(command, "@entry_job_level", character.CharacterInfo.MatchingProfile.EntryJobLevel); - AddParameter(command, "@current_job", (byte) character.CharacterInfo.MatchingProfile.CurrentJob); - AddParameter(command, "@current_job_level", character.CharacterInfo.MatchingProfile.CurrentJobLevel); - AddParameter(command, "@objective_type1", character.CharacterInfo.MatchingProfile.ObjectiveType1); - AddParameter(command, "@objective_type2", character.CharacterInfo.MatchingProfile.ObjectiveType2); - AddParameter(command, "@play_style", character.CharacterInfo.MatchingProfile.PlayStyle); - AddParameter(command, "@comment", character.CharacterInfo.MatchingProfile.Comment); - AddParameter(command, "@is_join_party", character.CharacterInfo.MatchingProfile.IsJoinParty); + AddParameter(command, "@entry_job", (byte) character.MatchingProfile.EntryJob); + AddParameter(command, "@entry_job_level", character.MatchingProfile.EntryJobLevel); + AddParameter(command, "@current_job", (byte) character.MatchingProfile.CurrentJob); + AddParameter(command, "@current_job_level", character.MatchingProfile.CurrentJobLevel); + AddParameter(command, "@objective_type1", character.MatchingProfile.ObjectiveType1); + AddParameter(command, "@objective_type2", character.MatchingProfile.ObjectiveType2); + AddParameter(command, "@play_style", character.MatchingProfile.PlayStyle); + AddParameter(command, "@comment", character.MatchingProfile.Comment); + AddParameter(command, "@is_join_party", character.MatchingProfile.IsJoinParty); // CDataArisenProfile - AddParameter(command, "@background_id", character.CharacterInfo.ArisenProfile.BackgroundId); - AddParameter(command, "@title_uid", character.CharacterInfo.ArisenProfile.Title.UId); - AddParameter(command, "@title_index", character.CharacterInfo.ArisenProfile.Title.Index); - AddParameter(command, "@motion_id", character.CharacterInfo.ArisenProfile.MotionId); - AddParameter(command, "@motion_frame_no", character.CharacterInfo.ArisenProfile.MotionFrameNo); + AddParameter(command, "@background_id", character.ArisenProfile.BackgroundId); + AddParameter(command, "@title_uid", character.ArisenProfile.Title.UId); + AddParameter(command, "@title_index", character.ArisenProfile.Title.Index); + AddParameter(command, "@motion_id", character.ArisenProfile.MotionId); + AddParameter(command, "@motion_frame_no", character.ArisenProfile.MotionFrameNo); } } } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipItemInfo.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipItemInfo.cs index d918a6e7a..73e065d84 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipItemInfo.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipItemInfo.cs @@ -18,6 +18,8 @@ public abstract partial class DdonSqlDb : SqlDb private static readonly string SqlUpdateEquipItemInfo = $"UPDATE `ddon_equip_item_info` SET {BuildQueryUpdate(CDataEquipItemInfoFields)} WHERE `character_id` = @character_id AND `job` = @job AND `equip_type`=@equip_type AND `equip_slot`=@equip_slot;"; private static readonly string SqlSelectEquipItemInfo = $"SELECT {BuildQueryField(CDataEquipItemInfoFields)} FROM `ddon_equip_item_info` WHERE `character_id` = @character_id AND `job` = @job AND `equip_type`=1;"; private static readonly string SqlSelectVisualEquipItemInfo = $"SELECT {BuildQueryField(CDataEquipItemInfoFields)} FROM `ddon_equip_item_info` WHERE `character_id` = @character_id AND `job` = @job AND `equip_type`=2;"; + private static readonly string SqlSelectEquipItemInfoByCharacter = $"SELECT {BuildQueryField(CDataEquipItemInfoFields)} FROM `ddon_equip_item_info` WHERE `character_id` = @character_id AND `equip_type`=1;"; + private static readonly string SqlSelectVisualEquipItemInfoByCharacter = $"SELECT {BuildQueryField(CDataEquipItemInfoFields)} FROM `ddon_equip_item_info` WHERE `character_id` = @character_id AND `equip_type`=2;"; private const string SqlDeleteEquipItemInfo = "DELETE FROM `ddon_equip_item_info` WHERE `character_id`=@character_id AND `job`=@job AND `equip_type`=@equip_type AND `equip_slot`=@equip_slot;"; private CDataEquipItemInfo ReadEquipItemInfo(DbDataReader reader) diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipJobItem.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipJobItem.cs index e1ab546a7..d1ccb40de 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipJobItem.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquipJobItem.cs @@ -17,6 +17,7 @@ public abstract partial class DdonSqlDb : SqlDb private readonly string SqlReplaceEquipJobItem = $"INSERT OR REPLACE INTO `ddon_equip_job_item` ({BuildQueryField(CDataEquipJobItemFields)}) VALUES ({BuildQueryInsert(CDataEquipJobItemFields)});"; private static readonly string SqlUpdateEquipJobItem = $"UPDATE `ddon_equip_job_item` SET {BuildQueryUpdate(CDataEquipJobItemFields)} WHERE `character_id` = @character_id AND `job` = @job AND `equip_slot_no`=@equip_slot_no;"; private static readonly string SqlSelectEquipJobItem = $"SELECT {BuildQueryField(CDataEquipJobItemFields)} FROM `ddon_equip_job_item` WHERE `character_id` = @character_id AND `job` = @job;"; + private static readonly string SqlSelectEquipJobItemByCharacter = $"SELECT {BuildQueryField(CDataEquipJobItemFields)} FROM `ddon_equip_job_item` WHERE `character_id` = @character_id;"; private const string SqlDeleteEquipJobItem = "DELETE FROM `ddon_equip_job_item` WHERE `character_id`=@character_id AND `job`=@job AND `equip_slot_no`=@equip_slot_no;"; private CDataEquipJobItem ReadEquipJobItem(DbDataReader reader) diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs b/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs index bfc8593ea..425805a5d 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs @@ -33,8 +33,8 @@ public static ChatResponse FromMessage(GameClient client, ChatMessage message) { Deliver = true, Message = message.Message, - FirstName = client.Character.CharacterInfo.FirstName, - LastName = client.Character.CharacterInfo.LastName, + FirstName = client.Character.FirstName, + LastName = client.Character.LastName, CharacterId = client.Character.Id, Type = message.Type, Unk2 = message.Unk2, diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index da238f26d..6749c338f 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -24,7 +24,7 @@ public void UpdateIdentity() if (Character != null) { - newIdentity += $"[Cha:({Character.Id}){Character.CharacterInfo.FirstName} {Character.CharacterInfo.LastName}]"; + newIdentity += $"[Cha:({Character.Id}){Character.FirstName} {Character.LastName}]"; } Identity = newIdentity; diff --git a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs index bd52d32ff..940dd7de9 100644 --- a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs @@ -23,9 +23,11 @@ public CharacterDecideCharacterIdHandler(DdonGameServer server) : base(server) public override PacketId Id => PacketId.C2S_CHARACTER_DECIDE_CHARACTER_ID_REQ; public override void Handle(GameClient client, IPacket packet) - { - // TODO: Move to DB - client.Character.CharacterInfo.UnkCharData1 = new List() + { + S2CCharacterDecideCharacterIdRes res = EntitySerializer.Get().Read(GameDump.data_Dump_13); + res.CharacterId = client.Character.Id; + res.CharacterInfo = new CDataCharacterInfo(client.Character); + res.CharacterInfo.UnkCharData1 = new List() { // TODO: Figure out what other currencies there are. // Pcap currencies: @@ -48,10 +50,6 @@ public override void Handle(GameClient client, IPacket packet) u1 = 42069 } }; - - S2CCharacterDecideCharacterIdRes res = EntitySerializer.Get().Read(GameDump.data_Dump_13); - res.CharacterId = client.Character.Id; - res.CharacterInfo = client.Character.CharacterInfo; client.Send(res); // Unlocks menu options such as inventory, warping, etc. diff --git a/Arrowgene.Ddon.GameServer/Handler/ClanClanGetMyMemberListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ClanClanGetMyMemberListHandler.cs index 9e549b3d5..dac126598 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ClanClanGetMyMemberListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ClanClanGetMyMemberListHandler.cs @@ -22,8 +22,8 @@ public override void Handle(GameClient client, IPacket packet) { S2CClanClanGetMyMemberListRes res = new S2CClanClanGetMyMemberListRes(); res.CharacterId = client.Character.Id; - res.FirstName = client.Character.CharacterInfo.FirstName; - res.LastName = client.Character.CharacterInfo.LastName; + res.FirstName = client.Character.FirstName; + res.LastName = client.Character.LastName; client.Send(res); // client.Send(InGameDump.Dump_67); diff --git a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs index 04eccc7eb..95465da24 100644 --- a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs @@ -8,6 +8,7 @@ using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Logging; using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Buffers; namespace Arrowgene.Ddon.GameServer.Handler { @@ -22,97 +23,90 @@ public JobChangeJobHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - S2CJobGetJobChangeListRes jobChangeList = EntitySerializer.Get().Read(InGameDump.data_Dump_52); - S2CSkillGetCurrentSetSkillListRes getCurrentSetSkillList = EntitySerializer.Get().Read(InGameDump.data_Dump_54); - CDataCharacterJobData characterJobData = new CDataCharacterJobData(); characterJobData.Job = packet.Structure.JobId; - characterJobData.Exp = 100; - characterJobData.JobPoint = 100; - characterJobData.Lv = 100; - characterJobData.Atk = 100; - characterJobData.Def = 100; - characterJobData.MAtk = 100; - characterJobData.MDef = 100; - characterJobData.Strength = 100; - characterJobData.DownPower = 100; - characterJobData.ShakePower = 100; - characterJobData.StunPower = 100; - characterJobData.Consitution = 100; - characterJobData.Guts = 100; - characterJobData.FireResist = 100; - characterJobData.IceResist = 100; - characterJobData.ThunderResist = 100; - characterJobData.HolyResist = 100; - characterJobData.DarkResist = 100; - characterJobData.SpreadResist = 100; - characterJobData.FreezeResist = 100; - characterJobData.ShockResist = 100; - characterJobData.AbsorbResist = 100; - characterJobData.DarkElmResist = 100; - characterJobData.PoisonResist = 100; - characterJobData.SlowResist = 100; - characterJobData.SleepResist = 100; - characterJobData.StunResist = 100; - characterJobData.WetResist = 100; - characterJobData.OilResist = 100; - characterJobData.SealResist = 100; - characterJobData.CurseResist = 100; - characterJobData.SoftResist = 100; - characterJobData.StoneResist = 100; - characterJobData.GoldResist = 100; - characterJobData.FireReduceResist = 100; - characterJobData.IceReduceResist = 100; - characterJobData.ThunderReduceResist = 100; - characterJobData.HolyReduceResist = 100; - characterJobData.DarkReduceResist = 100; - characterJobData.AtkDownResist = 100; - characterJobData.DefDownResist = 100; - characterJobData.MAtkDownResist = 100; - characterJobData.MDefDownResist = 100; + characterJobData.Exp = client.Character.ActiveCharacterJobData.Exp; + characterJobData.JobPoint = client.Character.ActiveCharacterJobData.JobPoint; + characterJobData.Lv = client.Character.ActiveCharacterJobData.Lv; + characterJobData.Atk = client.Character.ActiveCharacterJobData.Atk; + characterJobData.Def = client.Character.ActiveCharacterJobData.Def; + characterJobData.MAtk = client.Character.ActiveCharacterJobData.MAtk; + characterJobData.MDef = client.Character.ActiveCharacterJobData.MDef; + characterJobData.Strength = client.Character.ActiveCharacterJobData.Strength; + characterJobData.DownPower = client.Character.ActiveCharacterJobData.DownPower; + characterJobData.ShakePower = client.Character.ActiveCharacterJobData.ShakePower; + characterJobData.StunPower = client.Character.ActiveCharacterJobData.StunPower; + characterJobData.Consitution = client.Character.ActiveCharacterJobData.Consitution; + characterJobData.Guts = client.Character.ActiveCharacterJobData.Guts; + characterJobData.FireResist = client.Character.ActiveCharacterJobData.FireResist; + characterJobData.IceResist = client.Character.ActiveCharacterJobData.IceResist; + characterJobData.ThunderResist = client.Character.ActiveCharacterJobData.ThunderResist; + characterJobData.HolyResist = client.Character.ActiveCharacterJobData.HolyResist; + characterJobData.DarkResist = client.Character.ActiveCharacterJobData.DarkResist; + characterJobData.SpreadResist = client.Character.ActiveCharacterJobData.SpreadResist; + characterJobData.FreezeResist = client.Character.ActiveCharacterJobData.FreezeResist; + characterJobData.ShockResist = client.Character.ActiveCharacterJobData.ShockResist; + characterJobData.AbsorbResist = client.Character.ActiveCharacterJobData.AbsorbResist; + characterJobData.DarkElmResist = client.Character.ActiveCharacterJobData.DarkElmResist; + characterJobData.PoisonResist = client.Character.ActiveCharacterJobData.PoisonResist; + characterJobData.SlowResist = client.Character.ActiveCharacterJobData.SlowResist; + characterJobData.SleepResist = client.Character.ActiveCharacterJobData.SleepResist; + characterJobData.StunResist = client.Character.ActiveCharacterJobData.StunResist; + characterJobData.WetResist = client.Character.ActiveCharacterJobData.WetResist; + characterJobData.OilResist = client.Character.ActiveCharacterJobData.OilResist; + characterJobData.SealResist = client.Character.ActiveCharacterJobData.SealResist; + characterJobData.CurseResist = client.Character.ActiveCharacterJobData.CurseResist; + characterJobData.SoftResist = client.Character.ActiveCharacterJobData.SoftResist; + characterJobData.StoneResist = client.Character.ActiveCharacterJobData.StoneResist; + characterJobData.GoldResist = client.Character.ActiveCharacterJobData.GoldResist; + characterJobData.FireReduceResist = client.Character.ActiveCharacterJobData.FireReduceResist; + characterJobData.IceReduceResist = client.Character.ActiveCharacterJobData.IceReduceResist; + characterJobData.ThunderReduceResist = client.Character.ActiveCharacterJobData.ThunderReduceResist; + characterJobData.HolyReduceResist = client.Character.ActiveCharacterJobData.HolyReduceResist; + characterJobData.DarkReduceResist = client.Character.ActiveCharacterJobData.DarkReduceResist; + characterJobData.AtkDownResist = client.Character.ActiveCharacterJobData.AtkDownResist; + characterJobData.DefDownResist = client.Character.ActiveCharacterJobData.DefDownResist; + characterJobData.MAtkDownResist = client.Character.ActiveCharacterJobData.MAtkDownResist; + characterJobData.MDefDownResist = client.Character.ActiveCharacterJobData.MDefDownResist; + + //client.Character.CharacterInfo.CharacterJobDataList.Add(characterJobData); + //client.Character.CharacterInfo.Job = packet.Structure.JobId; + + // TODO: Replace pcap data with DB data + S2CJobGetJobChangeListRes jobChangeList = EntitySerializer.Get().Read(InGameDump.data_Dump_52); + S2CEquipGetCharacterEquipListRes getCharacterEquipListRes = EntitySerializer.Get().Read(InGameDump.data_Dump_48); - CDataJobChangeInfo requestedJobChangeInfo = jobChangeList.JobChangeInfo.Where(x => x.JobId == packet.Structure.JobId).FirstOrDefault(); CDataJobPlayPoint requestedJobPlayPoint = jobChangeList.PlayPointList.Where(x => x.Job == packet.Structure.JobId).FirstOrDefault(); + CDataJobChangeInfo requestedJobChangeInfo = jobChangeList.JobChangeInfo.Where(x => x.JobId == packet.Structure.JobId).FirstOrDefault(); S2CJobChangeJobRes response = new S2CJobChangeJobRes(); + response.CharacterJobData = characterJobData; + response.CharacterEquipList = getCharacterEquipListRes.CharacterEquipList; + response.SetAcquirementParamList = new List(); + response.SetAbilityParamList = new List(); + response.LearnNormalSkillParamList = new List(); + response.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; + response.PlayPointData = requestedJobPlayPoint.PlayPoint; + response.Unk0.Unk0 = (byte) packet.Structure.JobId; + response.Unk0.Unk1 = client.Character.CharacterItemSlotInfoList; + S2CJobChangeJobNtc notice = new S2CJobChangeJobNtc(); - if(requestedJobChangeInfo == null || requestedJobPlayPoint == null) { - response.CharacterJobData.Job = packet.Structure.JobId; - - notice.CharacterId = client.Character.Id; - notice.CharacterJobData.Job = packet.Structure.JobId; - } else { - List characterEquipList = requestedJobChangeInfo.EquipItemList.Select(x => new CDataCharacterEquipInfo(x)).ToList(); - List setAcquirementParamList = getCurrentSetSkillList.SetCustomSkillList.Where(x => x.Job == packet.Structure.JobId).ToList(); - List setAbilityParamList = getCurrentSetSkillList.SetAbilityList.Where(x => x.Job == packet.Structure.JobId).ToList(); - List learnNormalSkillParamList = getCurrentSetSkillList.NormalSkillList.Where(x => x.Job == packet.Structure.JobId).Select(x => new CDataLearnNormalSkillParam(x)).ToList(); - - response.CharacterJobData = characterJobData; - response.CharacterEquipList = characterEquipList; - response.SetAcquirementParamList = setAcquirementParamList; - response.SetAbilityParamList = setAbilityParamList; - response.LearnNormalSkillParamList = learnNormalSkillParamList; - // response.EquipJobItemList? - response.PlayPointData = requestedJobPlayPoint.PlayPoint; - // response.Unk0? - - notice.CharacterId = client.Character.Id; - notice.EquipItemInfo = requestedJobChangeInfo.EquipItemList; - notice.CharacterJobData = characterJobData; - notice.LearnNormalSkillParamList = learnNormalSkillParamList; - notice.SetAbilityParamList = setAbilityParamList; - notice.SetAcquirementParamList = setAcquirementParamList; - // notice.EquipJobItemList? - // notice.Unk0? - } - + notice.CharacterId = client.Character.Id; + notice.CharacterJobData = characterJobData; + notice.EquipItemInfo = requestedJobChangeInfo.EquipItemList; + notice.SetAcquirementParamList = new List(); + notice.SetAbilityParamList = new List(); + notice.LearnNormalSkillParamList = new List(); + notice.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; + notice.Unk0.Unk0 = (byte) packet.Structure.JobId; + notice.Unk0.Unk1 = client.Character.CharacterItemSlotInfoList; + + // I don't know whats the purpose of this carrying so much data since the job change itself is done by the NTC client.Send(response); + foreach(GameClient otherClient in Server.Clients) { - if(otherClient.Character.Id != client.Character.Id) - { - otherClient.Send(notice); - } + otherClient.Send(notice); // This does the change itself (it does work) } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs index b8bf45b1d..9595b5b3f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyJoinHandler.cs @@ -33,8 +33,8 @@ public override void Handle(GameClient client, StructurePacket new CDataLobbyMemberInfo() { CharacterId = client.Character.Id, - FirstName = client.Character.CharacterInfo.FirstName, - LastName = client.Character.CharacterInfo.LastName, + FirstName = client.Character.FirstName, + LastName = client.Character.LastName, ClanName = "", Unk0 = 1, // Platform PC? Unk1 = 0, @@ -57,8 +57,8 @@ public override void Handle(GameClient client, StructurePacket new CDataLobbyMemberInfo() { CharacterId = otherClient.Character.Id, - FirstName = otherClient.Character.CharacterInfo.FirstName, - LastName = otherClient.Character.CharacterInfo.LastName, + FirstName = otherClient.Character.FirstName, + LastName = otherClient.Character.LastName, ClanName = "", PawnId = 0, Unk0 = 1, diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index 7a0807897..9ac49d06f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -32,10 +32,10 @@ public override void Handle(GameClient client, StructurePacket>() + { + { packet.Structure.CharacterInfo.Job, packet.Structure.CharacterInfo.CharacterEquipDataList } + }; + character.CharacterEquipViewDataListDictionary = new Dictionary>() + { + { packet.Structure.CharacterInfo.Job, packet.Structure.CharacterInfo.CharacterEquipViewDataList } + }; + character.CharacterEquipJobItemListDictionary = new Dictionary>() + { + { packet.Structure.CharacterInfo.Job, packet.Structure.CharacterInfo.CharacterEquipJobItemList } + }; + character.JewelrySlotNum = packet.Structure.CharacterInfo.JewelrySlotNum; + //character.CharacterItemSlotInfoList = packet.Structure.CharacterInfo.CharacterItemSlotInfoList; + //character.UnkCharData0 = packet.Structure.CharacterInfo.UnkCharData0; + //character.UnkCharData1 = packet.Structure.CharacterInfo.UnkCharData1; + character.MyPawnSlotNum = packet.Structure.CharacterInfo.MyPawnSlotNum; + character.RentalPawnSlotNum = packet.Structure.CharacterInfo.RentalPawnSlotNum; + //character.OrbStatusList = packet.Structure.CharacterInfo.OrbStatusList; + //character.MsgSetList = packet.Structure.CharacterInfo.MsgSetList; + //character.ShortCutList = packet.Structure.CharacterInfo.ShortCutList; + //character.CommunicationShortCutList = packet.Structure.CharacterInfo.CommunicationShortCutList; + character.MatchingProfile = packet.Structure.CharacterInfo.MatchingProfile; + character.ArisenProfile = packet.Structure.CharacterInfo.ArisenProfile; + character.HideEquipHead = packet.Structure.CharacterInfo.HideEquipHead; + character.HideEquipLantern = packet.Structure.CharacterInfo.HideEquipLantern; + character.HideEquipHeadPawn = packet.Structure.CharacterInfo.HideEquipHeadPawn; + character.HideEquipLanternPawn = packet.Structure.CharacterInfo.HideEquipLanternPawn; + character.ArisenProfileShareRange = packet.Structure.CharacterInfo.ArisenProfileShareRange; + character.OnlineStatus = packet.Structure.CharacterInfo.OnlineStatus; // Use the ArisenCsv row for the selected job as the preset equipment when the character is created - ArisenCsv ArisenPreset = Server.AssetRepository.ArisenAsset.Where(x => x.Job == character.CharacterInfo.Job).Single(); + ArisenCsv ActiveJobPreset = Server.AssetRepository.ArisenAsset.Where(x => x.Job == character.Job).Single(); S2CCharacterDecideCharacterIdRes pcapCharacter = EntitySerializer.Get().Read(LoginDump.game_dump_data_Dump_13); // PlayPointList will be empty when a character is created - character.CharacterInfo.StatusInfo = new CDataStatusInfo() { - HP = ArisenPreset.HP, - Stamina = ArisenPreset.Stamina, - RevivePoint = ArisenPreset.RevivePoint, - MaxHP = ArisenPreset.MaxHP, - MaxStamina = ArisenPreset.MaxStamina, - WhiteHP = ArisenPreset.WhiteHP, - GainHP = ArisenPreset.GainHP, - GainStamina = ArisenPreset.GainStamina, - GainAttack = ArisenPreset.GainAttack, - GainDefense = ArisenPreset.GainDefense, - GainMagicAttack = ArisenPreset.GainMagicAttack, - GainMagicDefense = ArisenPreset.GainMagicDefense - }; - character.CharacterInfo.CharacterJobDataList = new List() { - new CDataCharacterJobData { - Job = ArisenPreset.Job, - Exp = ArisenPreset.Exp, - JobPoint = ArisenPreset.JobPoint, - Lv = ArisenPreset.Lv, - Atk = ArisenPreset.PAtk, - Def = ArisenPreset.PDef, - MAtk = ArisenPreset.MAtk, - MDef = ArisenPreset.MDef, - Strength = ArisenPreset.Strength, - DownPower = ArisenPreset.DownPower, - ShakePower = ArisenPreset.ShakePower, - StunPower = ArisenPreset.StunPower, - Consitution = ArisenPreset.Consitution, - Guts = ArisenPreset.Guts, - FireResist = ArisenPreset.FireResist, - IceResist = ArisenPreset.IceResist, - ThunderResist = ArisenPreset.ThunderResist, - HolyResist = ArisenPreset.HolyResist, - DarkResist = ArisenPreset.DarkResist, - SpreadResist = ArisenPreset.SpreadResist, - FreezeResist = ArisenPreset.FreezeResist, - ShockResist = ArisenPreset.ShockResist, - AbsorbResist = ArisenPreset.AbsorbResist, - DarkElmResist = ArisenPreset.DarkElmResist, - PoisonResist = ArisenPreset.PoisonResist, - SlowResist = ArisenPreset.SlowResist, - SleepResist = ArisenPreset.SleepResist, - StunResist = ArisenPreset.StunResist, - WetResist = ArisenPreset.WetResist, - OilResist = ArisenPreset.OilResist, - SealResist = ArisenPreset.SealResist, - CurseResist = ArisenPreset.CurseResist, - SoftResist = ArisenPreset.SoftResist, - StoneResist = ArisenPreset.StoneResist, - GoldResist = ArisenPreset.GoldResist, - FireReduceResist = ArisenPreset.FireReduceResist, - IceReduceResist = ArisenPreset.IceReduceResist, - ThunderReduceResist = ArisenPreset.ThunderReduceResist, - HolyReduceResist = ArisenPreset.HolyReduceResist, - DarkReduceResist = ArisenPreset.DarkReduceResist, - AtkDownResist = ArisenPreset.AtkDownResist, - DefDownResist = ArisenPreset.DefDownResist, - MAtkDownResist = ArisenPreset.MAtkDownResist, - MDefDownResist = ArisenPreset.MDefDownResist - } + character.StatusInfo = new CDataStatusInfo() { + HP = ActiveJobPreset.HP, + Stamina = ActiveJobPreset.Stamina, + RevivePoint = ActiveJobPreset.RevivePoint, + MaxHP = ActiveJobPreset.MaxHP, + MaxStamina = ActiveJobPreset.MaxStamina, + WhiteHP = ActiveJobPreset.WhiteHP, + GainHP = ActiveJobPreset.GainHP, + GainStamina = ActiveJobPreset.GainStamina, + GainAttack = ActiveJobPreset.GainAttack, + GainDefense = ActiveJobPreset.GainDefense, + GainMagicAttack = ActiveJobPreset.GainMagicAttack, + GainMagicDefense = ActiveJobPreset.GainMagicDefense }; - character.CharacterInfo.CharacterEquipDataList = new List() { - new CDataCharacterEquipData { + character.CharacterJobDataList = Server.AssetRepository.ArisenAsset.Select(arisenPreset => new CDataCharacterJobData { + Job = arisenPreset.Job, + Exp = arisenPreset.Exp, + JobPoint = arisenPreset.JobPoint, + Lv = arisenPreset.Lv, + Atk = arisenPreset.PAtk, + Def = arisenPreset.PDef, + MAtk = arisenPreset.MAtk, + MDef = arisenPreset.MDef, + Strength = arisenPreset.Strength, + DownPower = arisenPreset.DownPower, + ShakePower = arisenPreset.ShakePower, + StunPower = arisenPreset.StunPower, + Consitution = arisenPreset.Consitution, + Guts = arisenPreset.Guts, + FireResist = arisenPreset.FireResist, + IceResist = arisenPreset.IceResist, + ThunderResist = arisenPreset.ThunderResist, + HolyResist = arisenPreset.HolyResist, + DarkResist = arisenPreset.DarkResist, + SpreadResist = arisenPreset.SpreadResist, + FreezeResist = arisenPreset.FreezeResist, + ShockResist = arisenPreset.ShockResist, + AbsorbResist = arisenPreset.AbsorbResist, + DarkElmResist = arisenPreset.DarkElmResist, + PoisonResist = arisenPreset.PoisonResist, + SlowResist = arisenPreset.SlowResist, + SleepResist = arisenPreset.SleepResist, + StunResist = arisenPreset.StunResist, + WetResist = arisenPreset.WetResist, + OilResist = arisenPreset.OilResist, + SealResist = arisenPreset.SealResist, + CurseResist = arisenPreset.CurseResist, + SoftResist = arisenPreset.SoftResist, + StoneResist = arisenPreset.StoneResist, + GoldResist = arisenPreset.GoldResist, + FireReduceResist = arisenPreset.FireReduceResist, + IceReduceResist = arisenPreset.IceReduceResist, + ThunderReduceResist = arisenPreset.ThunderReduceResist, + HolyReduceResist = arisenPreset.HolyReduceResist, + DarkReduceResist = arisenPreset.DarkReduceResist, + AtkDownResist = arisenPreset.AtkDownResist, + DefDownResist = arisenPreset.DefDownResist, + MAtkDownResist = arisenPreset.MAtkDownResist, + MDefDownResist = arisenPreset.MDefDownResist + }).ToList(); + character.CharacterEquipDataListDictionary = Server.AssetRepository.ArisenAsset.Select(arisenPreset => new Tuple(arisenPreset.Job, new CDataCharacterEquipData { Equips = new List() { new CDataEquipItemInfo { - ItemId = ArisenPreset.PrimaryWeapon, + ItemId = arisenPreset.PrimaryWeapon, Unk0 = 0, EquipType = 1, EquipSlot = 1, - Color = ArisenPreset.PrimaryWeaponColour, + Color = arisenPreset.PrimaryWeaponColour, PlusValue = 0, WeaponCrestDataList = new List() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.PWCrest1, - u2 = (ushort) (ArisenPreset.PWC1Add1 << 8 | ArisenPreset.PWC1Add2), + u1 = arisenPreset.PWCrest1, + u2 = (ushort) (arisenPreset.PWC1Add1 << 8 | arisenPreset.PWC1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.PWCrest2, - u2 = (ushort) (ArisenPreset.PWC2Add1 << 8 | ArisenPreset.PWC2Add2), + u1 = arisenPreset.PWCrest2, + u2 = (ushort) (arisenPreset.PWC2Add1 << 8 | arisenPreset.PWC2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.PWCrest3, - u2 = (ushort) (ArisenPreset.PWC3Add1 << 8 | ArisenPreset.PWC3Add2), + u1 = arisenPreset.PWCrest3, + u2 = (ushort) (arisenPreset.PWC3Add1 << 8 | arisenPreset.PWC3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.PWCrest4, - u2 = (ushort) (ArisenPreset.PWC4Add1 << 8 | ArisenPreset.PWC4Add2), + u1 = arisenPreset.PWCrest4, + u2 = (ushort) (arisenPreset.PWC4Add1 << 8 | arisenPreset.PWC4Add2), } }, ArmorCrestDataList = new List() { @@ -138,34 +175,34 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.HeadCrest1, - u2 = (ushort) (ArisenPreset.HC1Add1 << 8 | ArisenPreset.HC1Add2), + u1 = arisenPreset.HeadCrest1, + u2 = (ushort) (arisenPreset.HC1Add1 << 8 | arisenPreset.HC1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.HeadCrest2, - u2 = (ushort) (ArisenPreset.HC2Add1 << 8 | ArisenPreset.HC2Add2), + u1 = arisenPreset.HeadCrest2, + u2 = (ushort) (arisenPreset.HC2Add1 << 8 | arisenPreset.HC2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.HeadCrest3, - u2 = (ushort) (ArisenPreset.HC3Add1 << 8 | ArisenPreset.HC3Add2), + u1 = arisenPreset.HeadCrest3, + u2 = (ushort) (arisenPreset.HC3Add1 << 8 | arisenPreset.HC3Add2), } }, ArmorCrestDataList = new List() { @@ -179,32 +216,32 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.BodyCrest1, - u2 = (ushort) (ArisenPreset.BC1Add1 << 8 | ArisenPreset.BC1Add2), + u1 = arisenPreset.BodyCrest1, + u2 = (ushort) (arisenPreset.BC1Add1 << 8 | arisenPreset.BC1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.BodyCrest2, - u2 = (ushort) (ArisenPreset.BC2Add1 << 8 | ArisenPreset.BC2Add2), + u1 = arisenPreset.BodyCrest2, + u2 = (ushort) (arisenPreset.BC2Add1 << 8 | arisenPreset.BC2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.BodyCrest3, - u2 = (ushort) (ArisenPreset.BC3Add1 << 8 | ArisenPreset.BC3Add2), + u1 = arisenPreset.BodyCrest3, + u2 = (ushort) (arisenPreset.BC3Add1 << 8 | arisenPreset.BC3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.BodyCrest4, - u2 = (ushort) (ArisenPreset.BC4Add1 << 8 | ArisenPreset.BC4Add2), + u1 = arisenPreset.BodyCrest4, + u2 = (ushort) (arisenPreset.BC4Add1 << 8 | arisenPreset.BC4Add2), } }, ArmorCrestDataList = new List() { @@ -218,34 +255,34 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.ArmCrest1, - u2 = (ushort) (ArisenPreset.AC1Add1 << 8 | ArisenPreset.AC1Add2), + u1 = arisenPreset.ArmCrest1, + u2 = (ushort) (arisenPreset.AC1Add1 << 8 | arisenPreset.AC1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.ArmCrest2, - u2 = (ushort) (ArisenPreset.AC2Add1 << 8 | ArisenPreset.AC2Add2), + u1 = arisenPreset.ArmCrest2, + u2 = (ushort) (arisenPreset.AC2Add1 << 8 | arisenPreset.AC2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.ArmCrest3, - u2 = (ushort) (ArisenPreset.AC3Add1 << 8 | ArisenPreset.AC3Add2), + u1 = arisenPreset.ArmCrest3, + u2 = (ushort) (arisenPreset.AC3Add1 << 8 | arisenPreset.AC3Add2), } }, ArmorCrestDataList = new List() { @@ -259,27 +296,27 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.LegCrest1, - u2 = (ushort) (ArisenPreset.LC1Add1 << 8 | ArisenPreset.LC1Add2), + u1 = arisenPreset.LegCrest1, + u2 = (ushort) (arisenPreset.LC1Add1 << 8 | arisenPreset.LC1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.LegCrest2, - u2 = (ushort) (ArisenPreset.LC2Add1 << 8 | ArisenPreset.LC2Add2), + u1 = arisenPreset.LegCrest2, + u2 = (ushort) (arisenPreset.LC2Add1 << 8 | arisenPreset.LC2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.LegCrest3, - u2 = (ushort) (ArisenPreset.LC3Add1 << 8 | ArisenPreset.LC3Add2), + u1 = arisenPreset.LegCrest3, + u2 = (ushort) (arisenPreset.LC3Add1 << 8 | arisenPreset.LC3Add2), } }, ArmorCrestDataList = new List() { @@ -293,21 +330,21 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.J1Crest1, - u2 = (ushort) (ArisenPreset.J1C1Add1 << 8 | ArisenPreset.J1C1Add2), + u1 = arisenPreset.J1Crest1, + u2 = (ushort) (arisenPreset.J1C1Add1 << 8 | arisenPreset.J1C1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.J1Crest2, - u2 = (ushort) (ArisenPreset.J1C2Add1 << 8 | ArisenPreset.J1C2Add2), + u1 = arisenPreset.J1Crest2, + u2 = (ushort) (arisenPreset.J1C2Add1 << 8 | arisenPreset.J1C2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.J1Crest3, - u2 = (ushort) (ArisenPreset.J1C3Add1 << 8 | ArisenPreset.J1C3Add2), + u1 = arisenPreset.J1Crest3, + u2 = (ushort) (arisenPreset.J1C3Add1 << 8 | arisenPreset.J1C3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.J1Crest4, - u2 = (ushort) (ArisenPreset.J1C4Add1 << 8 | ArisenPreset.J1C4Add2), + u1 = arisenPreset.J1Crest4, + u2 = (ushort) (arisenPreset.J1C4Add1 << 8 | arisenPreset.J1C4Add2), } }, // Empty ArmorCrestDataList @@ -408,7 +445,7 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.J2Crest1, - u2 = (ushort) (ArisenPreset.J2C1Add1 << 8 | ArisenPreset.J2C1Add2), + u1 = arisenPreset.J2Crest1, + u2 = (ushort) (arisenPreset.J2C1Add1 << 8 | arisenPreset.J2C1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.J2Crest2, - u2 = (ushort) (ArisenPreset.J2C2Add1 << 8 | ArisenPreset.J2C2Add2), + u1 = arisenPreset.J2Crest2, + u2 = (ushort) (arisenPreset.J2C2Add1 << 8 | arisenPreset.J2C2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.J2Crest3, - u2 = (ushort) (ArisenPreset.J2C3Add1 << 8 | ArisenPreset.J2C3Add2), + u1 = arisenPreset.J2Crest3, + u2 = (ushort) (arisenPreset.J2C3Add1 << 8 | arisenPreset.J2C3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.J2Crest4, - u2 = (ushort) (ArisenPreset.J2C4Add1 << 8 | ArisenPreset.J2C4Add2), + u1 = arisenPreset.J2Crest4, + u2 = (ushort) (arisenPreset.J2C4Add1 << 8 | arisenPreset.J2C4Add2), } }, // Empty ArmorCrestDataList @@ -509,7 +546,7 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.J3Crest1, - u2 = (ushort) (ArisenPreset.J3C1Add1 << 8 | ArisenPreset.J3C1Add2), + u1 = arisenPreset.J3Crest1, + u2 = (ushort) (arisenPreset.J3C1Add1 << 8 | arisenPreset.J3C1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.J3Crest2, - u2 = (ushort) (ArisenPreset.J3C2Add1 << 8 | ArisenPreset.J3C2Add2), + u1 = arisenPreset.J3Crest2, + u2 = (ushort) (arisenPreset.J3C2Add1 << 8 | arisenPreset.J3C2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.J3Crest3, - u2 = (ushort) (ArisenPreset.J3C3Add1 << 8 | ArisenPreset.J3C3Add2), + u1 = arisenPreset.J3Crest3, + u2 = (ushort) (arisenPreset.J3C3Add1 << 8 | arisenPreset.J3C3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.J3Crest4, - u2 = (ushort) (ArisenPreset.J3C4Add1 << 8 | ArisenPreset.J3C4Add2), + u1 = arisenPreset.J3Crest4, + u2 = (ushort) (arisenPreset.J3C4Add1 << 8 | arisenPreset.J3C4Add2), } }, // Empty ArmorCrestDataList @@ -610,7 +647,7 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.J4Crest1, - u2 = (ushort) (ArisenPreset.J4C1Add1 << 8 | ArisenPreset.J4C1Add2), + u1 = arisenPreset.J4Crest1, + u2 = (ushort) (arisenPreset.J4C1Add1 << 8 | arisenPreset.J4C1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.J4Crest2, - u2 = (ushort) (ArisenPreset.J4C2Add1 << 8 | ArisenPreset.J4C2Add2), + u1 = arisenPreset.J4Crest2, + u2 = (ushort) (arisenPreset.J4C2Add1 << 8 | arisenPreset.J4C2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.J4Crest3, - u2 = (ushort) (ArisenPreset.J4C3Add1 << 8 | ArisenPreset.J4C3Add2), + u1 = arisenPreset.J4Crest3, + u2 = (ushort) (arisenPreset.J4C3Add1 << 8 | arisenPreset.J4C3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.J4Crest4, - u2 = (ushort) (ArisenPreset.J4C4Add1 << 8 | ArisenPreset.J4C4Add2), + u1 = arisenPreset.J4Crest4, + u2 = (ushort) (arisenPreset.J4C4Add1 << 8 | arisenPreset.J4C4Add2), } }, // Empty ArmorCrestDataList @@ -711,7 +748,7 @@ public override void Handle(LoginClient client, StructurePacket() { new CDataWeaponCrestData { u0 = 1, - u1 = ArisenPreset.J5Crest1, - u2 = (ushort) (ArisenPreset.J5C1Add1 << 8 | ArisenPreset.J5C1Add2), + u1 = arisenPreset.J5Crest1, + u2 = (ushort) (arisenPreset.J5C1Add1 << 8 | arisenPreset.J5C1Add2), }, new CDataWeaponCrestData { u0 = 2, - u1 = ArisenPreset.J5Crest2, - u2 = (ushort) (ArisenPreset.J5C2Add1 << 8 | ArisenPreset.J5C2Add2), + u1 = arisenPreset.J5Crest2, + u2 = (ushort) (arisenPreset.J5C2Add1 << 8 | arisenPreset.J5C2Add2), }, new CDataWeaponCrestData { u0 = 3, - u1 = ArisenPreset.J5Crest3, - u2 = (ushort) (ArisenPreset.J5C3Add1 << 8 | ArisenPreset.J5C3Add2), + u1 = arisenPreset.J5Crest3, + u2 = (ushort) (arisenPreset.J5C3Add1 << 8 | arisenPreset.J5C3Add2), }, new CDataWeaponCrestData { u0 = 4, - u1 = ArisenPreset.J5Crest4, - u2 = (ushort) (ArisenPreset.J5C4Add1 << 8 | ArisenPreset.J5C4Add2), + u1 = arisenPreset.J5Crest4, + u2 = (ushort) (arisenPreset.J5C4Add1 << 8 | arisenPreset.J5C4Add2), } }, // Empty ArmorCrestDataList @@ -812,250 +849,249 @@ public override void Handle(LoginClient client, StructurePacket() { - new CDataCharacterEquipData { + }) + ).ToDictionary(x => x.Item1, x => new List() {x.Item2}); + character.CharacterEquipViewDataListDictionary = Server.AssetRepository.ArisenAsset.Select(arisenPreset => new Tuple(arisenPreset.Job, new CDataCharacterEquipData { Equips = new List() { new CDataEquipItemInfo { - ItemId = ArisenPreset.VPrimaryWeapon, + ItemId = arisenPreset.VPrimaryWeapon, Unk0 = 0, EquipType = 2, EquipSlot = 1, - Color = ArisenPreset.VPrimaryWeaponColour + Color = arisenPreset.VPrimaryWeaponColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VSecondaryWeapon, + ItemId = arisenPreset.VSecondaryWeapon, Unk0 = 0, EquipType = 2, EquipSlot = 2, - Color = ArisenPreset.VSecondaryWeaponColour + Color = arisenPreset.VSecondaryWeaponColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VHead, + ItemId = arisenPreset.VHead, Unk0 = 0, EquipType = 2, EquipSlot = 3, - Color = ArisenPreset.VHeadColour + Color = arisenPreset.VHeadColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VBody, + ItemId = arisenPreset.VBody, Unk0 = 0, EquipType = 2, EquipSlot = 4, - Color = ArisenPreset.VBodyColour + Color = arisenPreset.VBodyColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VClothing, + ItemId = arisenPreset.VClothing, Unk0 = 0, EquipType = 2, EquipSlot = 5, - Color = ArisenPreset.VClothingColour + Color = arisenPreset.VClothingColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VArm, + ItemId = arisenPreset.VArm, Unk0 = 0, EquipType = 2, EquipSlot = 6, - Color = ArisenPreset.VArmColour + Color = arisenPreset.VArmColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VLeg, + ItemId = arisenPreset.VLeg, Unk0 = 0, EquipType = 2, EquipSlot = 7, - Color = ArisenPreset.VLegColour + Color = arisenPreset.VLegColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VLegwear, + ItemId = arisenPreset.VLegwear, Unk0 = 0, EquipType = 2, EquipSlot = 8, - Color = ArisenPreset.VLegwearColour + Color = arisenPreset.VLegwearColour }, new CDataEquipItemInfo { - ItemId = ArisenPreset.VOverwear, + ItemId = arisenPreset.VOverwear, Unk0 = 0, EquipType = 2, EquipSlot = 9, - Color = ArisenPreset.VOverwearColour, + Color = arisenPreset.VOverwearColour, } } - } - }; - character.CharacterInfo.CharacterEquipJobItemList = new List() { + }) + ).ToDictionary(x => x.Item1, x => new List() {x.Item2}); + character.CharacterEquipJobItemListDictionary = Server.AssetRepository.ArisenAsset.Select(arisenPreset => new Tuple>(arisenPreset.Job, new List() { new CDataEquipJobItem { - JobItemId = ArisenPreset.ClassItem1, + JobItemId = arisenPreset.ClassItem1, EquipSlotNo = 1 }, new CDataEquipJobItem { - JobItemId = ArisenPreset.ClassItem2, + JobItemId = arisenPreset.ClassItem2, EquipSlotNo = 2 } - }; - character.CharacterInfo.HideEquipHead = ArisenPreset.DisplayHelmet; - character.CharacterInfo.HideEquipLantern = ArisenPreset.DisplayLantern; - character.CharacterInfo.HideEquipHeadPawn = Server.AssetRepository.MyPawnAsset[0].HideEquipHead; - character.CharacterInfo.HideEquipLanternPawn = Server.AssetRepository.MyPawnAsset[0].HideEquipLantern; + })).ToDictionary(x => x.Item1, x => x.Item2); + character.HideEquipHead = ActiveJobPreset.DisplayHelmet; + character.HideEquipLantern = ActiveJobPreset.DisplayLantern; + character.HideEquipHeadPawn = Server.AssetRepository.MyPawnAsset[0].HideEquipHead; + character.HideEquipLanternPawn = Server.AssetRepository.MyPawnAsset[0].HideEquipLantern; // TODO: Load from Arisen.csv or something - character.NormalSkills = new List() { + character.NormalSkills = Server.AssetRepository.ArisenAsset.SelectMany(arisenPreset => new List() { new CDataNormalSkillParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, SkillNo = 1, Index = 0, PreSkillNo = 0 }, new CDataNormalSkillParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, SkillNo = 2, Index = 0, PreSkillNo = 0 }, new CDataNormalSkillParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, SkillNo = 3, Index = 0, PreSkillNo = 0 } - }; - character.CustomSkills = new List() { + }).ToList(); + character.CustomSkills = Server.AssetRepository.ArisenAsset.SelectMany(arisenPreset => new List() { // Main Palette new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = 1, - AcquirementNo = ArisenPreset.Cs1MpId, - AcquirementLv = ArisenPreset.Cs1MpLv + AcquirementNo = arisenPreset.Cs1MpId, + AcquirementLv = arisenPreset.Cs1MpLv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = 2, - AcquirementNo = ArisenPreset.Cs2MpId, - AcquirementLv = ArisenPreset.Cs2MpLv + AcquirementNo = arisenPreset.Cs2MpId, + AcquirementLv = arisenPreset.Cs2MpLv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = 3, - AcquirementNo = ArisenPreset.Cs3MpId, - AcquirementLv = ArisenPreset.Cs3MpLv + AcquirementNo = arisenPreset.Cs3MpId, + AcquirementLv = arisenPreset.Cs3MpLv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = 4, - AcquirementNo = ArisenPreset.Cs4MpId, - AcquirementLv = ArisenPreset.Cs4MpLv + AcquirementNo = arisenPreset.Cs4MpId, + AcquirementLv = arisenPreset.Cs4MpLv }, // Sub Palette new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = (1<<4) | 1, - AcquirementNo = ArisenPreset.Cs1SpId, - AcquirementLv = ArisenPreset.Cs1SpLv + AcquirementNo = arisenPreset.Cs1SpId, + AcquirementLv = arisenPreset.Cs1SpLv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = (1<<4) | 2, - AcquirementNo = ArisenPreset.Cs2SpId, - AcquirementLv = ArisenPreset.Cs2SpLv + AcquirementNo = arisenPreset.Cs2SpId, + AcquirementLv = arisenPreset.Cs2SpLv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = (1<<4) | 3, - AcquirementNo = ArisenPreset.Cs3SpId, - AcquirementLv = ArisenPreset.Cs3SpLv + AcquirementNo = arisenPreset.Cs3SpId, + AcquirementLv = arisenPreset.Cs3SpLv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Job, + Job = arisenPreset.Job, Type = 0, SlotNo = (1<<4) | 4, - AcquirementNo = ArisenPreset.Cs4SpId, - AcquirementLv = ArisenPreset.Cs4SpLv + AcquirementNo = arisenPreset.Cs4SpId, + AcquirementLv = arisenPreset.Cs4SpLv } - }; - character.Abilities = new List() { + }).ToList(); + character.Abilities = Server.AssetRepository.ArisenAsset.SelectMany(arisenPreset => new List() { new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab1Jb, + Job = arisenPreset.Ab1Jb, Type = 0, SlotNo = 1, - AcquirementNo = ArisenPreset.Ab1Id, - AcquirementLv = ArisenPreset.Ab1Lv + AcquirementNo = arisenPreset.Ab1Id, + AcquirementLv = arisenPreset.Ab1Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab2Jb, + Job = arisenPreset.Ab2Jb, Type = 0, SlotNo = 2, - AcquirementNo = ArisenPreset.Ab2Id, - AcquirementLv = ArisenPreset.Ab2Lv + AcquirementNo = arisenPreset.Ab2Id, + AcquirementLv = arisenPreset.Ab2Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab3Jb, + Job = arisenPreset.Ab3Jb, Type = 0, SlotNo = 3, - AcquirementNo = ArisenPreset.Ab3Id, - AcquirementLv = ArisenPreset.Ab3Lv + AcquirementNo = arisenPreset.Ab3Id, + AcquirementLv = arisenPreset.Ab3Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab4Jb, + Job = arisenPreset.Ab4Jb, Type = 0, SlotNo = 4, - AcquirementNo = ArisenPreset.Ab4Id, - AcquirementLv = ArisenPreset.Ab4Lv + AcquirementNo = arisenPreset.Ab4Id, + AcquirementLv = arisenPreset.Ab4Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab5Jb, + Job = arisenPreset.Ab5Jb, Type = 0, SlotNo = 5, - AcquirementNo = ArisenPreset.Ab5Id, - AcquirementLv = ArisenPreset.Ab5Lv + AcquirementNo = arisenPreset.Ab5Id, + AcquirementLv = arisenPreset.Ab5Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab6Jb, + Job = arisenPreset.Ab6Jb, Type = 0, SlotNo = 6, - AcquirementNo = ArisenPreset.Ab6Id, - AcquirementLv = ArisenPreset.Ab6Lv + AcquirementNo = arisenPreset.Ab6Id, + AcquirementLv = arisenPreset.Ab6Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab7Jb, + Job = arisenPreset.Ab7Jb, Type = 0, SlotNo = 7, - AcquirementNo = ArisenPreset.Ab7Id, - AcquirementLv = ArisenPreset.Ab7Lv + AcquirementNo = arisenPreset.Ab7Id, + AcquirementLv = arisenPreset.Ab7Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab8Jb, + Job = arisenPreset.Ab8Jb, Type = 0, SlotNo = 8, - AcquirementNo = ArisenPreset.Ab8Id, - AcquirementLv = ArisenPreset.Ab8Lv + AcquirementNo = arisenPreset.Ab8Id, + AcquirementLv = arisenPreset.Ab8Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab9Jb, + Job = arisenPreset.Ab9Jb, Type = 0, SlotNo = 9, - AcquirementNo = ArisenPreset.Ab9Id, - AcquirementLv = ArisenPreset.Ab9Lv + AcquirementNo = arisenPreset.Ab9Id, + AcquirementLv = arisenPreset.Ab9Lv }, new CDataSetAcquirementParam() { - Job = ArisenPreset.Ab10Jb, + Job = arisenPreset.Ab10Jb, Type = 0, SlotNo = 10, - AcquirementNo = ArisenPreset.Ab10Id, - AcquirementLv = ArisenPreset.Ab10Lv + AcquirementNo = arisenPreset.Ab10Id, + AcquirementLv = arisenPreset.Ab10Lv } - }; + }).ToList(); L2CCreateCharacterDataRes res = new L2CCreateCharacterDataRes(); if (!Database.CreateCharacter(character)) diff --git a/Arrowgene.Ddon.LoginServer/Handler/GetCharacterListHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/GetCharacterListHandler.cs index 77a54cd58..59dea240f 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/GetCharacterListHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/GetCharacterListHandler.cs @@ -35,19 +35,19 @@ public override void Handle(LoginClient client, IPacket packet) { CDataCharacterListInfo cResponse = new CDataCharacterListInfo(); cResponse.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = (uint)c.Id; - cResponse.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = c.CharacterInfo.FirstName; - cResponse.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.LastName = c.CharacterInfo.LastName; - cResponse.CharacterListElement.CurrentJobBaseInfo.Job = c.CharacterInfo.Job; - cResponse.CharacterListElement.CurrentJobBaseInfo.Level = (byte) c.CharacterInfo.ActiveCharacterJobData.Lv; + cResponse.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = c.FirstName; + cResponse.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.LastName = c.LastName; + cResponse.CharacterListElement.CurrentJobBaseInfo.Job = c.Job; + cResponse.CharacterListElement.CurrentJobBaseInfo.Level = (byte) c.ActiveCharacterJobData.Lv; // maybe? //cResponse.CharacterListElement.CurrentJobBaseInfo.Job = c.CharacterInfo.MatchingProfile.CurrentJob; //cResponse.CharacterListElement.CurrentJobBaseInfo.Level = (byte) c.CharacterInfo.MatchingProfile.CurrentJobLevel; //cResponse.CharacterListElement.EntryJobBaseInfo.Job = c.CharacterInfo.MatchingProfile.EntryJob; //cResponse.CharacterListElement.EntryJobBaseInfo.Level = (byte) c.CharacterInfo.MatchingProfile.EntryJobLevel; - cResponse.EditInfo = c.CharacterInfo.EditInfo; - cResponse.MatchingProfile = c.CharacterInfo.MatchingProfile; - cResponse.EquipItemInfo = c.CharacterInfo.CharacterEquipViewDataList - .Union(c.CharacterInfo.CharacterEquipDataList) + cResponse.EditInfo = c.EditInfo; + cResponse.MatchingProfile = c.MatchingProfile; + cResponse.EquipItemInfo = c.CharacterEquipViewDataListDictionary[c.Job] + .Union(c.CharacterEquipDataListDictionary[c.Job]) .SelectMany(x => x.Equips) .ToList(); diff --git a/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs b/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs index 9b3cd8fe2..1f9a8bb35 100644 --- a/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs +++ b/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs @@ -60,8 +60,8 @@ public RpcCommandResult Execute(DdonGameServer gameServer) if (character != null) { info.CharacterId = character.Id; - info.FirstName = character.CharacterInfo.FirstName; - info.LastName = character.CharacterInfo.LastName; + info.FirstName = character.FirstName; + info.LastName = character.LastName; } Infos.Add(info); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterEquipInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterEquipInfo.cs index 524875ea0..c40abeed4 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterEquipInfo.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterEquipInfo.cs @@ -4,13 +4,6 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataCharacterEquipInfo { - public CDataCharacterEquipInfo(CDataEquipItemInfo equipItemInfo) - { - EquipItemUId=equipItemInfo.ItemId.ToString(); // Perhaps? - EquipCategory=equipItemInfo.Unk0; // Maybe? - EquipType=equipItemInfo.EquipType; - } - public CDataCharacterEquipInfo() { EquipItemUId=string.Empty; diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs index bd8211570..fb9b40398 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs @@ -7,6 +7,41 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataCharacterInfo { + public CDataCharacterInfo(Character character) + { + CharacterId = character.Id; + UserId = character.UserId; + Version = character.Version; + FirstName = character.FirstName; + LastName = character.LastName; + EditInfo = character.EditInfo; + StatusInfo = character.StatusInfo; + Job = character.Job; + CharacterJobDataList = character.CharacterJobDataList; + PlayPointList = character.PlayPointList; + CharacterEquipDataList = character.CharacterEquipDataListDictionary[character.Job]; + CharacterEquipViewDataList = character.CharacterEquipViewDataListDictionary[character.Job]; + CharacterEquipJobItemList = character.CharacterEquipJobItemListDictionary[character.Job]; + JewelrySlotNum = character.JewelrySlotNum; + CharacterItemSlotInfoList = character.CharacterItemSlotInfoList; + UnkCharData0 = character.UnkCharData0; + UnkCharData1 = character.UnkCharData1; + MyPawnSlotNum = character.MyPawnSlotNum; + RentalPawnSlotNum = character.RentalPawnSlotNum; + OrbStatusList = character.OrbStatusList; + MsgSetList = character.MsgSetList; + ShortCutList = character.ShortCutList; + CommunicationShortCutList = character.CommunicationShortCutList; + MatchingProfile = character.MatchingProfile; + ArisenProfile = character.ArisenProfile; + HideEquipHead = character.HideEquipHead; + HideEquipLantern = character.HideEquipLantern; + HideEquipHeadPawn = character.HideEquipHeadPawn; + HideEquipLanternPawn = character.HideEquipLanternPawn; + ArisenProfileShareRange = character.ArisenProfileShareRange; + OnlineStatus = character.OnlineStatus; + } + public CDataCharacterInfo() { CharacterId = 0; @@ -42,11 +77,6 @@ public CDataCharacterInfo() OnlineStatus = 0; } - public CDataCharacterJobData ActiveCharacterJobData - { - get { return CharacterJobDataList.Where(x => x.Job == Job).Single(); } - } - public uint CharacterId; public uint UserId; public uint Version; @@ -62,11 +92,8 @@ public CDataCharacterJobData ActiveCharacterJobData public List CharacterEquipJobItemList; public byte JewelrySlotNum; public List CharacterItemSlotInfoList; - - // One of these is CDataWalletPoint, can't determine which. public List UnkCharData0; public List UnkCharData1; - public byte MyPawnSlotNum; public byte RentalPawnSlotNum; public List OrbStatusList; diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs index 7f4ac4a7a..7889e908b 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs @@ -10,29 +10,29 @@ public class CDataContextBase public CDataContextBase(Character character) { CharacterId = character.Id; - FirstName = character.CharacterInfo.FirstName; - LastName = character.CharacterInfo.LastName; + FirstName = character.FirstName; + LastName = character.LastName; StageNo = 200; // TODO: Replace with the actual stage the player is in. As it is right now it'll probably give issues when new players join outside of WDT - Sex = character.CharacterInfo.EditInfo.Sex; - HideEquipHead = character.CharacterInfo.HideEquipHead; - HideEquipLantern = character.CharacterInfo.HideEquipLantern; + Sex = character.EditInfo.Sex; + HideEquipHead = character.HideEquipHead; + HideEquipLantern = character.HideEquipLantern; // In the context equipment lists, the index is the slot. A 0,0,0 element has to be in place if a slot is not filled ContextEquipPerformanceList = Enumerable.Range(1, 15) - .Select(i => new CDataContextEquipData(character.CharacterInfo.CharacterEquipDataList.SelectMany(x => x.Equips).Where(x => x.EquipSlot == i).SingleOrDefault(new CDataEquipItemInfo()))) + .Select(i => new CDataContextEquipData(character.CharacterEquipDataListDictionary[character.Job].SelectMany(x => x.Equips).Where(x => x.EquipSlot == i).SingleOrDefault(new CDataEquipItemInfo()))) .ToList(); ContextEquipVisualList = Enumerable.Range(1, 15) - .Select(i => new CDataContextEquipData(character.CharacterInfo.CharacterEquipViewDataList.SelectMany(x => x.Equips).Where(x => x.EquipSlot == i).SingleOrDefault(new CDataEquipItemInfo()))) + .Select(i => new CDataContextEquipData(character.CharacterEquipViewDataListDictionary[character.Job].SelectMany(x => x.Equips).Where(x => x.EquipSlot == i).SingleOrDefault(new CDataEquipItemInfo()))) .ToList(); - ContextEquipJobItemList = character.CharacterInfo.CharacterEquipJobItemList + ContextEquipJobItemList = character.CharacterEquipJobItemListDictionary[character.Job] .Select(x => new CDataContextEquipJobItemData(x)).ToList(); ContextNormalSkillList = character.NormalSkills - .Where(x => x.Job == character.CharacterInfo.Job) + .Where(x => x.Job == character.Job) .Select(x => new CDataContextNormalSkillData(x)).ToList(); ContextSkillList = character.CustomSkills - .Where(x => x.Job == character.CharacterInfo.Job) + .Where(x => x.Job == character.Job) .Select(x => new CDataContextAcquirementData(x)).ToList(); ContextAbilityList = character.Abilities - .Where(x => x.Job == character.CharacterInfo.Job) + .Where(x => x.Job == character.Job) .Select(x => new CDataContextAcquirementData(x)).ToList(); Unk0List=new List(); // TODO: Figure this one out } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextPlayerInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextPlayerInfo.cs index 53ab7ed60..21b468125 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextPlayerInfo.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextPlayerInfo.cs @@ -9,14 +9,14 @@ public class CDataContextPlayerInfo { public CDataContextPlayerInfo(Character character) { - CDataCharacterJobData characterJobData = character.CharacterInfo.ActiveCharacterJobData; + CDataCharacterJobData characterJobData = character.ActiveCharacterJobData; - Job = character.CharacterInfo.Job; - HP = character.CharacterInfo.StatusInfo.HP; - MaxHP = character.CharacterInfo.StatusInfo.MaxHP; - WhiteHP = character.CharacterInfo.StatusInfo.WhiteHP; - Stamina = character.CharacterInfo.StatusInfo.Stamina; - MaxStamina = character.CharacterInfo.StatusInfo.MaxStamina; + Job = character.Job; + HP = character.StatusInfo.HP; + MaxHP = character.StatusInfo.MaxHP; + WhiteHP = character.StatusInfo.WhiteHP; + Stamina = character.StatusInfo.Stamina; + MaxStamina = character.StatusInfo.MaxStamina; // Weight? Lv = (ushort) characterJobData.Lv; Exp = characterJobData.Exp; @@ -31,16 +31,16 @@ public CDataContextPlayerInfo(Character character) // Constitution? Guts = characterJobData.Guts; JobPoint = characterJobData.JobPoint; - GainHp = character.CharacterInfo.StatusInfo.GainHP; - GainStamina = character.CharacterInfo.StatusInfo.GainStamina; - GainAttack = character.CharacterInfo.StatusInfo.GainAttack; - GainDefense = character.CharacterInfo.StatusInfo.GainDefense; - GainMagicAttack = character.CharacterInfo.StatusInfo.GainMagicAttack; - GainMagicDefense = character.CharacterInfo.StatusInfo.GainMagicDefense; + GainHp = character.StatusInfo.GainHP; + GainStamina = character.StatusInfo.GainStamina; + GainAttack = character.StatusInfo.GainAttack; + GainDefense = character.StatusInfo.GainDefense; + GainMagicAttack = character.StatusInfo.GainMagicAttack; + GainMagicDefense = character.StatusInfo.GainMagicDefense; // ActNo? - RevivePoint = character.CharacterInfo.StatusInfo.RevivePoint; + RevivePoint = character.StatusInfo.RevivePoint; // CustomSkillGroup? - JobList = character.CharacterInfo.CharacterJobDataList + JobList = character.CharacterJobDataList .Select(x => new CDataContextJobData(x)).ToList(); ChargeEffectList=new List(); // TODO OcdActiveList=new List(); // TODO diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextResist.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextResist.cs index bfab391cc..8121d0b43 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextResist.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextResist.cs @@ -9,7 +9,7 @@ public class CDataContextResist public CDataContextResist(Character character) { - CDataCharacterJobData characterJobData = character.CharacterInfo.ActiveCharacterJobData; + CDataCharacterJobData characterJobData = character.ActiveCharacterJobData; FireResist = characterJobData.FireResist; IceResist = characterJobData.IceResist; diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataLobbyContextPlayer.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataLobbyContextPlayer.cs index b461b3731..2eb4dc08c 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataLobbyContextPlayer.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataLobbyContextPlayer.cs @@ -9,7 +9,7 @@ public CDataLobbyContextPlayer(Character character) { Base = new CDataContextBase(character); PlayerInfo = new CDataContextPlayerInfo(character); - EditInfo = character.CharacterInfo.EditInfo; + EditInfo = character.EditInfo; } public CDataLobbyContextPlayer() diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs index eee2003ce..3c4724872 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs @@ -10,7 +10,7 @@ public CDataPartyPlayerContext(Character character) Base = new CDataContextBase(character); PlayerInfo = new CDataContextPlayerInfo(character); ResistInfo = new CDataContextResist(character); - EditInfo = character.CharacterInfo.EditInfo; + EditInfo = character.EditInfo; } public CDataPartyPlayerContext() diff --git a/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv b/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv index f6976d378..93909fe7f 100644 --- a/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv +++ b/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv @@ -1,5 +1,12 @@ -#Class,Lv,HP,Stamina,RevivePoint,MaxHP,MaxStamina,WhiteHP,GainHP,GainStamina,GainAttack,GainDefense,GainMagicAttack,GainMagicDefense,CustomSkill-1(MainPalette),CS1MP-Lv,CustomSkill-2(MP),CS2MP-Lv,CustomSkill-3(MP),CS3MP-Lv,CustomSkill-4(MP),CS4MP-Lv,CustomSkill-1(SubPalette),CS1SP-Lv,CustomSkill-2(SP),CS2SP-Lv,CustomSkill-3(SP),CS3SP-Lv,CustomSkill-4(SP),CS4SP-Lv,*,Ability-1,Ab1Lv,*,Ability-2,Ab2Lv,*,Ability-3,Ab3Lv,*,Ability-4,Ab4Lv,*,Ability-5,Ab5Lv,*,Ability-6,Ab6Lv,*,Ability-7,Ab7Lv,*,Ability-8,Ab8Lv,*,Ability-9,Ab9Lv,*,Ability-10,Ab10Lv,PAtk,PDef,MAtk,MDef,PrimaryWeapon,PrimaryWeaponColour,PWCrest1,PWC1Add1,PWC1Add2,PWCrest2,PWC2Add1,PWC2Add2,PWCrest3,PWC3Add1,PWC3Add2,PWCrest4,PWC4Add1,PWC4Add2,SecondaryWeapon,SecondaryWeaponColour,Head,HeadColour,HeadCrest1,HC1Add1,HC1Add2,HeadCrest2,HC2Add1,HC2Add2,HeadCrest3,HC3Add1,HC3Add2,Body,BodyColour,BodyCrest1,BC1Add1,BC1Add2,BodyCrest2,BC2Add1,BC2Add2,BodyCrest3,BC3Add1,BC3Add2,BodyCrest4,BC4Add1,BC4Add2,Clothing,ClothingColour,Arm,ArmColour,ArmCrest1,AC1Add1,AC1Add2,ArmCrest2,AC2Add1,AC2Add2,ArmCrest3,AC3Add1,AC3Add2,Leg,LegColour,LegCrest1,LC1Add1,LC1Add2,LegCrest2,LC2Add1,LC2Add2,LegCrest3,LC3Add1,LC3Add2,Legwear,LegwearColour,Overwear,OverwearColour,Lantern,HideHelmet,HideLantern,VPrimaryWeapon,VPrimaryWeaponColour,VSecondaryWeapon,VSecondaryWeaponColour,VHead,VHeadColour,VBody,VBodyColour,VClothing,VClothingColour,VArm,VArmColour,VLeg,VLegColour,VLegwear,VLegwearColour,VOverwear,VOverwearColour,ClassItem1,ClassItem2,Jewelry1,J1Crest1,J1C1Add1,J1C1Add2,J1Crest2,J1C2Add1,J1C2Add2,J1Crest3,J1C3Add1,J1C3Add2,J1Crest4,J1C4Add1,J1C4Add2,Jewelry2,J2Crest1,J2C1Add1,J2C1Add2,J2Crest2,J2C2Add1,J2C2Add2,J2Crest3,J2C3Add1,J2C3Add2,J2Crest4,J2C4Add1,J2C4Add2,Jewelry3,J3Crest1,J3C1Add1,J3C1Add2,J3Crest2,J3C2Add1,J3C2Add2,J3Crest3,J3C3Add1,J3C3Add2,J3Crest4,J3C4Add1,J3C4Add2,Jewelry4,J4Crest1,J4C1Add1,J4C1Add2,J4Crest2,J4C2Add1,J4C2Add2,J4Crest3,J4C3Add1,J4C3Add2,J4Crest4,J4C4Add1,J4C4Add2,Jewelry5,J5Crest1,J5C1Add1,J5C1Add2,J5Crest2,J5C2Add1,J5C2Add2,J5Crest3,J5C3Add1,J5C3Add2,J5Crest4,J5C4Add1,J5C4Add2,Exp,JobPoint,Strength,DownPower,ShakePower,StunPower,Consitution,Guts,FireResist,IceResist,ThunderResist,HolyResist,DarkResist,SpreadResist,FreezeResist,ShockResist,AbsorbResist,DarkElmResist,PoisonResist,SlowResist,SleepResist,StunResist,WetResist,OilResist,SealResist,CurseResist,SoftResist,StoneResist,GoldResist,FireReduceResist,IceReduceResist,ThunderReduceResist,HolyReduceResist,DarkReduceResist,AtkDownResist,DefDownResist,MAtkDownResist,MDefDownResist,NormalSkill1A,NormalSkill1B,NormalSkill2A,NormalSkill2B,NormalSkill3A,NormalSkill3B, -1,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,178,6,0,483,6,0,215,6,0,162,6,0,98,6,500,500,500,500,20116,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20135,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19149,5,14040,5,21294,8,4223,0,24620,5,12808,0,15404,5,509,0,8783,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -3,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,178,6,0,483,6,0,215,6,0,162,6,0,98,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14557,0,0,0,14983,0,15143,0,24620,5,15354,0,15514,0,509,0,15609,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -4,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,178,6,0,483,6,0,215,6,0,162,6,0,98,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,12436,0,0,0,12576,0,12696,0,24620,5,12833,0,12953,0,509,0,13168,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -5,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,178,6,0,483,6,0,215,6,0,162,6,0,98,6,500,500,500,500,20186,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20210,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19162,5,19842,5,14877,5,14993,5,24620,5,15203,5,15364,5,509,8,15589,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +#Class,Lv,HP,Stamina,RevivePoint,MaxHP,MaxStamina,WhiteHP,GainHP,GainStamina,GainAttack,GainDefense,GainMagicAttack,GainMagicDefense,CustomSkill-1(MainPalette),CS1MP-Lv,CustomSkill-2(MP),CS2MP-Lv,CustomSkill-3(MP),CS3MP-Lv,CustomSkill-4(MP),CS4MP-Lv,CustomSkill-1(SubPalette),CS1SP-Lv,CustomSkill-2(SP),CS2SP-Lv,CustomSkill-3(SP),CS3SP-Lv,CustomSkill-4(SP),CS4SP-Lv,*,Ability-1,Ab1Lv,*,Ability-2,Ab2Lv,*,Ability-3,Ab3Lv,*,Ability-4,Ab4Lv,*,Ability-5,Ab5Lv,*,Ability-6,Ab6Lv,*,Ability-7,Ab7Lv,*,Ability-8,Ab8Lv,*,Ability-9,Ab9Lv,*,Ability-10,Ab10Lv,PAtk,PDef,MAtk,MDef,PrimaryWeapon,PrimaryWeaponColour,PWCrest1,PWC1Add1,PWC1Add2,PWCrest2,PWC2Add1,PWC2Add2,PWCrest3,PWC3Add1,PWC3Add2,PWCrest4,PWC4Add1,PWC4Add2,SecondaryWeapon,SecondaryWeaponColour,Head,HeadColour,HeadCrest1,HC1Add1,HC1Add2,HeadCrest2,HC2Add1,HC2Add2,HeadCrest3,HC3Add1,HC3Add2,Body,BodyColour,BodyCrest1,BC1Add1,BC1Add2,BodyCrest2,BC2Add1,BC2Add2,BodyCrest3,BC3Add1,BC3Add2,BodyCrest4,BC4Add1,BC4Add2,Clothing,ClothingColour,Arm,ArmColour,ArmCrest1,AC1Add1,AC1Add2,ArmCrest2,AC2Add1,AC2Add2,ArmCrest3,AC3Add1,AC3Add2,Leg,LegColour,LegCrest1,LC1Add1,LC1Add2,LegCrest2,LC2Add1,LC2Add2,LegCrest3,LC3Add1,LC3Add2,Legwear,LegwearColour,Overwear,OverwearColour,Lantern,HideHelmet,HideLantern,VPrimaryWeapon,VPrimaryWeaponColour,VSecondaryWeapon,VSecondaryWeaponColour,VHead,VHeadColour,VBody,VBodyColour,VClothing,VClothingColour,VArm,VArmColour,VLeg,VLegColour,VLegwear,VLegwearColour,VOverwear,VOverwearColour,ClassItem1,ClassItem2,Jewelry1,J1Crest1,J1C1Add1,J1C1Add2,J1Crest2,J1C2Add1,J1C2Add2,J1Crest3,J1C3Add1,J1C3Add2,J1Crest4,J1C4Add1,J1C4Add2,Jewelry2,J2Crest1,J2C1Add1,J2C1Add2,J2Crest2,J2C2Add1,J2C2Add2,J2Crest3,J2C3Add1,J2C3Add2,J2Crest4,J2C4Add1,J2C4Add2,Jewelry3,J3Crest1,J3C1Add1,J3C1Add2,J3Crest2,J3C2Add1,J3C2Add2,J3Crest3,J3C3Add1,J3C3Add2,J3Crest4,J3C4Add1,J3C4Add2,Jewelry4,J4Crest1,J4C1Add1,J4C1Add2,J4Crest2,J4C2Add1,J4C2Add2,J4Crest3,J4C3Add1,J4C3Add2,J4Crest4,J4C4Add1,J4C4Add2,Jewelry5,J5Crest1,J5C1Add1,J5C1Add2,J5Crest2,J5C2Add1,J5C2Add2,J5Crest3,J5C3Add1,J5C3Add2,J5Crest4,J5C4Add1,J5C4Add2,Exp,JobPoint,Strength,DownPower,ShakePower,StunPower,Consitution,Guts,FireResist,IceResist,ThunderResist,HolyResist,DarkResist,SpreadResist,FreezeResist,ShockResist,AbsorbResist,DarkElmResist,PoisonResist,SlowResist,SleepResist,StunResist,WetResist,OilResist,SealResist,CurseResist,SoftResist,StoneResist,GoldResist,FireReduceResist,IceReduceResist,ThunderReduceResist,HolyReduceResist,DarkReduceResist,AtkDownResist,DefDownResist,MAtkDownResist,MDefDownResist,NormalSkill1A,NormalSkill1B,NormalSkill2A,NormalSkill2B,NormalSkill3A,NormalSkill3B +1,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,6,6,0,5,6,500,500,500,500,20116,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20135,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19149,5,14040,5,21294,8,4223,0,24620,5,12808,0,15404,5,509,0,8783,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +2,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,113,6,0,117,6,0,103,6,500,500,500,500,20116,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20232,5,0,0,12651,5,12771,5,8533,5,12908,5,13028,5,8713,0,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +3,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,38,6,0,31,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14557,0,0,0,14983,0,15143,0,24620,5,15354,0,15514,0,509,0,15609,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +4,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,54,6,0,165,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,12436,0,0,0,12576,0,12696,0,24620,5,12833,0,12953,0,509,0,13168,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +5,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,6,6,0,5,6,500,500,500,500,20186,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20210,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19162,5,19842,5,14877,5,14993,5,24620,5,15203,5,15364,5,509,8,15589,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +6,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,129,6,0,128,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20360,0,0,0,11749,0,15058,0,24620,0,15283,0,15444,5,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +7,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,178,6,0,391,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20162,0,0,0,14867,0,15038,0,24620,0,15248,0,15409,0,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +8,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,379,6,0,165,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20304,0,0,0,20448,0,20459,0,21056,8,20474,0,20493,0,21071,8,21086,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +9,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,204,6,0,201,6,0,221,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20275,3,0,0,12606,0,12726,0,24620,0,12863,0,12983,0,509,0,13168,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +10,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,406,6,0,440,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20388,0,0,0,21294,8,20519,0,18449,0,20534,0,20549,0,18464,0,8818,8,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +11,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,208,6,0,165,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20407,5,0,0,11749,0,477,5,24620,0,5163,0,481,8,509,8,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Model/Character.cs b/Arrowgene.Ddon.Shared/Model/Character.cs index eb0db8996..6e6d4bee8 100644 --- a/Arrowgene.Ddon.Shared/Model/Character.cs +++ b/Arrowgene.Ddon.Shared/Model/Character.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Collections.Generic; using Arrowgene.Ddon.Shared.Entity.Structure; @@ -9,22 +10,67 @@ public class Character public Character() { Created = DateTime.MinValue; - CharacterInfo = new CDataCharacterInfo(); + EditInfo = new CDataEditInfo(); + StatusInfo = new CDataStatusInfo(); + CharacterJobDataList = new List(); + PlayPointList = new List(); + CharacterEquipDataListDictionary = new Dictionary>(); + CharacterEquipViewDataListDictionary = new Dictionary>(); + CharacterEquipJobItemListDictionary = new Dictionary>(); + CharacterItemSlotInfoList = new List(); + UnkCharData0 = new List(); + UnkCharData1 = new List(); // Currencies? 1 is G, 2 is RP... + OrbStatusList = new List(); + MsgSetList = new List(); + ShortCutList = new List(); + CommunicationShortCutList = new List(); + MatchingProfile = new CDataMatchingProfile(); + ArisenProfile = new CDataArisenProfile(); NormalSkills = new List(); CustomSkills = new List(); Abilities = new List(); } - // TODO: Remove this and use CharacterInfo.CharacterId directly in the references - public uint Id - { - get { return CharacterInfo.CharacterId; } - set { this.CharacterInfo.CharacterId = value; } + public CDataCharacterJobData ActiveCharacterJobData + { + get { return CharacterJobDataList.Where(x => x.Job == Job).Single(); } } public int AccountId { get; set; } public DateTime Created { get; set; } - public CDataCharacterInfo CharacterInfo { get; set; } + public uint Id; + public uint UserId; + public uint Version; + public string FirstName; + public string LastName; + public CDataEditInfo EditInfo; + public CDataStatusInfo StatusInfo; + public JobId Job; + public List CharacterJobDataList; + public List PlayPointList; + public Dictionary> CharacterEquipDataListDictionary; + public Dictionary> CharacterEquipViewDataListDictionary; + public Dictionary> CharacterEquipJobItemListDictionary; + public byte JewelrySlotNum; + public List CharacterItemSlotInfoList; + + // One of these is CDataWalletPoint, can't determine which. + public List UnkCharData0; + public List UnkCharData1; + public byte MyPawnSlotNum; + public byte RentalPawnSlotNum; + public List OrbStatusList; + public List MsgSetList; + public List ShortCutList; + public List CommunicationShortCutList; + public CDataMatchingProfile MatchingProfile; + public CDataArisenProfile ArisenProfile; + public bool HideEquipHead; + public bool HideEquipLantern; + public bool HideEquipHeadPawn; + public bool HideEquipLanternPawn; + public byte ArisenProfileShareRange; + public OnlineStatus OnlineStatus; public List NormalSkills { get; set; } public List CustomSkills { get; set;} public List Abilities { get; set; } diff --git a/Arrowgene.Ddon.Shared/Model/JobId.cs b/Arrowgene.Ddon.Shared/Model/JobId.cs index ef5c20cb1..24ef22a8d 100644 --- a/Arrowgene.Ddon.Shared/Model/JobId.cs +++ b/Arrowgene.Ddon.Shared/Model/JobId.cs @@ -11,7 +11,7 @@ public enum JobId : byte Warrior = 7, ElementArcher = 8, Alchemist = 9, - SpiritLance = 10, + SpiritLancer = 10, HighScepter = 11, } } \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index b8317a992..9c45171ae 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -572,10 +572,10 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_QUEST_GET_LIGHT_QUEST_LIST_RES = new PacketId(11, 0, 2, "S2C_QUEST_GET_LIGHT_QUEST_LIST_RES", ServerType.Game, PacketSource.Server); // ライトクエストリストの取得に public static readonly PacketId C2S_QUEST_GET_SET_QUEST_LIST_REQ = new PacketId(11, 1, 1, "C2S_QUEST_GET_SET_QUEST_LIST_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_QUEST_GET_SET_QUEST_LIST_RES = new PacketId(11, 1, 2, "S2C_QUEST_GET_SET_QUEST_LIST_RES", ServerType.Game, PacketSource.Server); // セットクエストリストの取得に - public static readonly PacketId S2C_QUEST_11_1_16_NTC = new PacketId(11, 1, 16, "S2C_QUEST_11_1_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_QUEST_GET_SET_QUEST_LIST_NTC = new PacketId(11, 1, 16, "S2C_QUEST_GET_SET_QUEST_LIST_NTC", ServerType.Game, PacketSource.Server, "S2C_QUEST_11_1_16_NTC"); public static readonly PacketId C2S_QUEST_GET_MAIN_QUEST_LIST_REQ = new PacketId(11, 2, 1, "C2S_QUEST_GET_MAIN_QUEST_LIST_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_QUEST_GET_MAIN_QUEST_LIST_RES = new PacketId(11, 2, 2, "S2C_QUEST_GET_MAIN_QUEST_LIST_RES", ServerType.Game, PacketSource.Server); // メインクエストリストの取得に - public static readonly PacketId S2C_QUEST_11_2_16_NTC = new PacketId(11, 2, 16, "S2C_QUEST_11_2_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_QUEST_GET_MAIN_QUEST_LIST_NTC = new PacketId(11, 2, 16, "S2C_QUEST_GET_MAIN_QUEST_LIST_NTC", ServerType.Game, PacketSource.Server, "S2C_QUEST_11_2_16_NTC"); public static readonly PacketId C2S_QUEST_GET_TUTORIAL_QUEST_LIST_REQ = new PacketId(11, 3, 1, "C2S_QUEST_GET_TUTORIAL_QUEST_LIST_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_QUEST_GET_TUTORIAL_QUEST_LIST_RES = new PacketId(11, 3, 2, "S2C_QUEST_GET_TUTORIAL_QUEST_LIST_RES", ServerType.Game, PacketSource.Server); // チュートリアルクエストリストに public static readonly PacketId C2S_QUEST_GET_LOT_QUEST_LIST_REQ = new PacketId(11, 4, 1, "C2S_QUEST_GET_LOT_QUEST_LIST_REQ", ServerType.Game, PacketSource.Client); @@ -2476,10 +2476,10 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_QUEST_GET_LIGHT_QUEST_LIST_RES); AddPacketIdEntry(packetIds, C2S_QUEST_GET_SET_QUEST_LIST_REQ); AddPacketIdEntry(packetIds, S2C_QUEST_GET_SET_QUEST_LIST_RES); - AddPacketIdEntry(packetIds, S2C_QUEST_11_1_16_NTC); + AddPacketIdEntry(packetIds, S2C_QUEST_GET_SET_QUEST_LIST_NTC); AddPacketIdEntry(packetIds, C2S_QUEST_GET_MAIN_QUEST_LIST_REQ); AddPacketIdEntry(packetIds, S2C_QUEST_GET_MAIN_QUEST_LIST_RES); - AddPacketIdEntry(packetIds, S2C_QUEST_11_2_16_NTC); + AddPacketIdEntry(packetIds, S2C_QUEST_GET_MAIN_QUEST_LIST_NTC); AddPacketIdEntry(packetIds, C2S_QUEST_GET_TUTORIAL_QUEST_LIST_REQ); AddPacketIdEntry(packetIds, S2C_QUEST_GET_TUTORIAL_QUEST_LIST_RES); AddPacketIdEntry(packetIds, C2S_QUEST_GET_LOT_QUEST_LIST_REQ); diff --git a/Arrowgene.Ddon.Test/Database/CharacterDatabaseTest.cs b/Arrowgene.Ddon.Test/Database/CharacterDatabaseTest.cs index 07fdc4094..dbcdc6ce9 100644 --- a/Arrowgene.Ddon.Test/Database/CharacterDatabaseTest.cs +++ b/Arrowgene.Ddon.Test/Database/CharacterDatabaseTest.cs @@ -24,8 +24,8 @@ public void TestCharacterOperations() Assert.NotNull(account); Character c = new Character(); - c.CharacterInfo.FirstName = "Foo"; - c.CharacterInfo.LastName = "Bar"; + c.FirstName = "Foo"; + c.LastName = "Bar"; c.AccountId = account.Id; Assert.True(database.CreateCharacter(c)); @@ -34,13 +34,13 @@ public void TestCharacterOperations() Assert.NotEmpty(characters); Assert.True(characters.Count == 1); - c.CharacterInfo.FirstName = "NewName"; + c.FirstName = "NewName"; Assert.True(database.UpdateCharacter(c)); characters = database.SelectCharactersByAccountId(account.Id); Assert.NotEmpty(characters); Assert.True(characters.Count == 1); - Assert.Equal("NewName", characters[0].CharacterInfo.FirstName); + Assert.Equal("NewName", characters[0].FirstName); Assert.True(database.DeleteCharacter(c.Id)); From bdc43112ce84bf1ea3a1e23f58e0852ae3b306a6 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Thu, 8 Sep 2022 21:53:18 +0200 Subject: [PATCH 10/72] Job change chat command /job [job] to use, [job] can be either an id (1 to 11) or the name of the job --- .../Chat/Command/ChatCommandHandler.cs | 1 + .../Chat/Command/Commands/JobCommand.cs | 101 ++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs b/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs index 1360d1247..c90b123de 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs @@ -21,6 +21,7 @@ public ChatCommandHandler(DdonGameServer server) AddCommand(new TestCommand()); AddCommand(new EnemyCommand()); AddCommand(new InfoCommand()); + AddCommand(new JobCommand(server)); } public void AddCommand(ChatCommand command) diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs new file mode 100644 index 000000000..dd124aa26 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs @@ -0,0 +1,101 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using Arrowgene.Ddon.Database.Model; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Entity.Structure; + +namespace Arrowgene.Ddon.GameServer.Chat.Command.Commands +{ + public class JobCommand : ChatCommand + { + public override AccountStateType AccountState => AccountStateType.User; + + public override string Key => "job"; + public override string HelpText => "usage: `/job [job]` - Light, please, just commit your changes"; + + private DdonGameServer _server; + + public JobCommand(DdonGameServer server) + { + _server = server; + } + + public override void Execute(string[] command, GameClient client, ChatMessage message, List responses) + { + if (command.Length <= 0) + { + // check expected length before accessing + responses.Add(ChatResponse.CommandError(client, "no arguments provided")); + return; + } + + JobId? job = null; + + // Try by id + if(Byte.TryParse(command[0], out byte parsedJobId)) + { + job = (JobId) parsedJobId; + } + else + { + string commandJobName = string.Concat(command).ToUpper(); + foreach(string jobName in Enum.GetNames(typeof(JobId))) + { + if(jobName.ToUpper() == commandJobName) + { + job = (JobId) Enum.Parse(typeof(JobId), jobName); + break; + } + } + } + + if(job == null) + { + responses.Add(ChatResponse.CommandError(client, "invalid job, try one of the following (job id or name):")); + responses.Add(ChatResponse.CommandError(client, "1-Fighter")); + responses.Add(ChatResponse.CommandError(client, "2-Seeker")); + responses.Add(ChatResponse.CommandError(client, "3-Hunter")); + responses.Add(ChatResponse.CommandError(client, "4-Priest")); + responses.Add(ChatResponse.CommandError(client, "5-Shield Sage")); + responses.Add(ChatResponse.CommandError(client, "6-Sorcerer")); + responses.Add(ChatResponse.CommandError(client, "7-Warrior")); + responses.Add(ChatResponse.CommandError(client, "8-Element Archer")); + responses.Add(ChatResponse.CommandError(client, "9-Alchemist")); + responses.Add(ChatResponse.CommandError(client, "10-Spirit Lancer")); + responses.Add(ChatResponse.CommandError(client, "11-High Scepter")); + } + else if(!client.Character.CharacterJobDataList.Exists(x => x.Job == (JobId) job)) + { + responses.Add(ChatResponse.CommandError(client, $"This character has no data for the job {Enum.GetName(typeof(JobId), job)}")); + } + else + { + client.Character.Job = (JobId) job; + + // TODO: Optimize this + _server.Database.UpdateCharacter(client.Character); + + S2CJobChangeJobNtc notice = new S2CJobChangeJobNtc(); + notice.CharacterId = client.Character.Id; + notice.CharacterJobData = client.Character.ActiveCharacterJobData; + notice.EquipItemInfo = client.Character.CharacterEquipViewDataListDictionary[client.Character.Job] + .Union(client.Character.CharacterEquipDataListDictionary[client.Character.Job]) + .SelectMany(x => x.Equips) + .ToList(); + notice.SetAcquirementParamList = client.Character.CustomSkills; + notice.SetAbilityParamList = client.Character.Abilities; + notice.LearnNormalSkillParamList = client.Character.NormalSkills + .Select(x => new CDataLearnNormalSkillParam(x)) + .ToList(); + notice.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; + + foreach(GameClient otherClient in _server.Clients) + { + otherClient.Send(notice); + } + } + } + } +} \ No newline at end of file From f41aed38a39257122ad05bb40f3b4f47d0dbc993 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Thu, 8 Sep 2022 22:14:35 +0200 Subject: [PATCH 11/72] Fixed compilation errors --- .../Handler/ContextGetSetContextHandler.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs index 7f17a8b18..e9ea24b7c 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs @@ -40,12 +40,6 @@ public override void Handle(GameClient client, StructurePacket Date: Sat, 10 Sep 2022 15:57:05 +0200 Subject: [PATCH 12/72] Skill changing optimizations --- Arrowgene.Ddon.Database/IDatabase.cs | 7 ++++ .../Sql/Core/DdonSqlDbCharacter.cs | 19 +++++----- .../Sql/Core/DdonSqlDbSetAcquirementParam.cs | 19 ++++++++++ .../Handler/SkillChangeExSkillHandler.cs | 22 +++++++----- .../Handler/SkillSetOffSkillHandler.cs | 11 +++--- .../Handler/SkillSetSkillHandler.cs | 24 ++++++++----- .../Entity/EntitySerializer.cs | 1 + .../S2CSkillCustomSkillSetNtc.cs | 36 +++++++++++++++++++ Arrowgene.Ddon.Shared/Network/PacketId.cs | 4 +-- 9 files changed, 109 insertions(+), 34 deletions(-) create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillCustomSkillSetNtc.cs diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 09889d6fa..8d51c8e6a 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Arrowgene.Ddon.Database.Model; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.Database @@ -28,6 +29,12 @@ public interface IDatabase List SelectCharactersByAccountId(int accountId); public bool DeleteCharacter(uint characterId); + public bool UpdateCharacterBaseInfo(Character character); + + // Acquirements + public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam); + public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte slotNo); + // GameToken bool SetToken(GameToken token); GameToken SelectTokenByAccountId(int accountId); diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index dfb3d377c..0db9c625a 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -132,7 +132,7 @@ public bool CreateCharacter(Character character) return true; } - public bool UpdateCharacter(Character character) + public bool UpdateCharacterBaseInfo(Character character) { int characterUpdateRowsAffected = ExecuteNonQuery(SqlUpdateCharacter, command => { @@ -140,6 +140,13 @@ public bool UpdateCharacter(Character character) AddParameter(command, character); }); + return characterUpdateRowsAffected > NoRowsAffected; + } + + public bool UpdateCharacter(Character character) + { + int characterUpdateRowsAffected = UpdateCharacterBaseInfo(character) ? 1 : 0; + characterUpdateRowsAffected += ExecuteNonQuery(SqlUpdateCharacterEditInfo, command => { AddParameter(command, "@id", character.Id); @@ -372,18 +379,12 @@ private void StoreCharacterData(Character character) foreach(CDataSetAcquirementParam setAcquirementParam in character.CustomSkills) { - ExecuteNonQuery(SqlReplaceSetAcquirementParam, command => - { - AddParameter(command, character.Id, setAcquirementParam); - }); + ReplaceSetAcquirementParam(character.Id, setAcquirementParam); } foreach(CDataSetAcquirementParam setAcquirementParam in character.Abilities) { - ExecuteNonQuery(SqlReplaceSetAcquirementParam, command => - { - AddParameter(command, character.Id, setAcquirementParam); - }); + ReplaceSetAcquirementParam(character.Id, setAcquirementParam); } } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs index c65023abb..98457b323 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs @@ -20,6 +20,25 @@ public abstract partial class DdonSqlDb : SqlDb private static readonly string SqlSelectAbilitiesSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `job` = 0;"; private const string SqlDeleteSetAcquirementParam = "DELETE FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `job`=@job AND `slot_no`=@slot_no;"; + public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam) + { + ExecuteNonQuery(SqlReplaceSetAcquirementParam, command => + { + AddParameter(command, characterId, setAcquirementParam); + }); + return true; + } + + public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte slotNo) + { + return ExecuteNonQuery(SqlDeleteSetAcquirementParam, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@job", (byte) job); + AddParameter(command, "@slot_no", slotNo); + }) == 1; + } + private CDataSetAcquirementParam ReadSetAcquirementParam(DbDataReader reader) { CDataSetAcquirementParam setAcquirementParam = new CDataSetAcquirementParam(); diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs index 014aa87ca..7b13066fe 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs @@ -22,13 +22,25 @@ public override void Handle(GameClient client, StructurePacket skillSlots = client.Character.CustomSkills .Where(skill => skill.Job == packet.Structure.Job && GetBaseSkillId(skill.AcquirementNo) == GetBaseSkillId(packet.Structure.SkillId)); - // TODO: Update only the skill itself rather than the entire character to avoid performance issues - Database.UpdateCharacter(client.Character); foreach (CDataSetAcquirementParam skillSlot in skillSlots) { skillSlot.AcquirementNo = packet.Structure.SkillId; skillSlot.AcquirementLv = 1; // Must be 1 otherwise they do 0 damage + + Database.ReplaceSetAcquirementParam(client.Character.Id, skillSlot); + + // Inform party members of the change + if(packet.Structure.Job == client.Character.Job) + { + client.Party.SendToAll(new S2CSkillCustomSkillSetNtc() + { + CharacterId = client.Character.Id, + SlotNo = skillSlot.SlotNo, + AcquirementNo = skillSlot.AcquirementNo, + AcquirementLv = skillSlot.AcquirementLv + }); + } } client.Send(new S2CSkillChangeExSkillRes() { @@ -38,12 +50,6 @@ public override void Handle(GameClient client, StructurePacket new CDataCommonU8(skill.SlotNo)).ToList() }); - - // Inform party members of the change - // There's probably a different, smaller packet precisely for this purpose (S2C_CUSTOM_SKILL_SET_NTC?) - S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(client.Character); - partyPlayerContextNtc.Context.Base.MemberIndex = client.Party.Members.IndexOf(client); - client.Party.SendToAll(partyPlayerContextNtc); } private uint GetBaseSkillId(uint skillId) diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs index 97aa779af..80729e78b 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs @@ -17,18 +17,17 @@ public SkillSetOffSkillHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { client.Character.CustomSkills.RemoveAll(skill => skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo); - Database.UpdateCharacter(client.Character); + + // TODO: Error handling + Database.DeleteSetAcquirementParam(client.Character.Id, packet.Structure.Job, packet.Structure.SlotNo); client.Send(new S2CSkillSetOffSkillRes() { Job = packet.Structure.Job, SlotNo = packet.Structure.SlotNo }); - // Inform party members of the change - // There's probably a different, smaller packet precisely for this purpose (S2C_CUSTOM_SKILL_SET_NTC?) - S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(client.Character); - partyPlayerContextNtc.Context.Base.MemberIndex = client.Party.Members.IndexOf(client); - client.Party.SendToAll(partyPlayerContextNtc); + // I haven't found a packet to notify this to other players + // From what I tested it doesn't seem to be necessary } } } \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs index 3a61d9526..42164bf36 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs @@ -35,20 +35,26 @@ public override void Handle(GameClient client, StructurePacket PacketId.S2C_SKILL_CUSTOM_SKILL_SET_NTC; + + public uint CharacterId { get; set; } + public byte SlotNo { get; set; } + public uint AcquirementNo { get; set; } + public byte AcquirementLv { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CSkillCustomSkillSetNtc obj) + { + WriteUInt32(buffer, obj.CharacterId); + WriteByte(buffer, obj.SlotNo); + WriteUInt32(buffer, obj.AcquirementNo); + WriteByte(buffer, obj.AcquirementLv); + } + + public override S2CSkillCustomSkillSetNtc Read(IBuffer buffer) + { + S2CSkillCustomSkillSetNtc obj = new S2CSkillCustomSkillSetNtc(); + obj.CharacterId = ReadUInt32(buffer); + obj.SlotNo = ReadByte(buffer); + obj.AcquirementNo = ReadUInt32(buffer); + obj.AcquirementLv = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index 9c45171ae..814b0740d 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -1048,7 +1048,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_SKILL_GET_PAWN_ABILITY_COST_RES = new PacketId(19, 40, 2, "S2C_SKILL_GET_PAWN_ABILITY_COST_RES", ServerType.Game, PacketSource.Server); // ポーンアビリティセット用コストの取得に public static readonly PacketId S2C_SKILL_19_41_16_NTC = new PacketId(19, 41, 16, "S2C_SKILL_19_41_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_SKILL_19_42_16_NTC = new PacketId(19, 42, 16, "S2C_SKILL_19_42_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_SKILL_19_43_16_NTC = new PacketId(19, 43, 16, "S2C_SKILL_19_43_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_SKILL_CUSTOM_SKILL_SET_NTC = new PacketId(19, 43, 16, "S2C_SKILL_CUSTOM_SKILL_SET_NTC", ServerType.Game, PacketSource.Server, "S2C_SKILL_19_43_16_NTC"); public static readonly PacketId S2C_SKILL_19_44_16_NTC = new PacketId(19, 44, 16, "S2C_SKILL_19_44_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_SKILL_19_45_16_NTC = new PacketId(19, 45, 16, "S2C_SKILL_19_45_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_SKILL_19_46_16_NTC = new PacketId(19, 46, 16, "S2C_SKILL_19_46_16_NTC", ServerType.Game, PacketSource.Server); @@ -2952,7 +2952,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_SKILL_GET_PAWN_ABILITY_COST_RES); AddPacketIdEntry(packetIds, S2C_SKILL_19_41_16_NTC); AddPacketIdEntry(packetIds, S2C_SKILL_19_42_16_NTC); - AddPacketIdEntry(packetIds, S2C_SKILL_19_43_16_NTC); + AddPacketIdEntry(packetIds, S2C_SKILL_CUSTOM_SKILL_SET_NTC); AddPacketIdEntry(packetIds, S2C_SKILL_19_44_16_NTC); AddPacketIdEntry(packetIds, S2C_SKILL_19_45_16_NTC); AddPacketIdEntry(packetIds, S2C_SKILL_19_46_16_NTC); From 2f2f8aca823144ab422cda6397db9214dee8306e Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sat, 10 Sep 2022 15:57:42 +0200 Subject: [PATCH 13/72] Job changing optimizations --- .../Chat/Command/Commands/JobCommand.cs | 3 +- .../Handler/JobChangeJobHandler.cs | 99 ++++++------------- .../Handler/JobGetJobChangeListHandler.cs | 23 +++-- 3 files changed, 44 insertions(+), 81 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs index dd124aa26..02d0aaeb1 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs @@ -74,8 +74,7 @@ public override void Execute(string[] command, GameClient client, ChatMessage me { client.Character.Job = (JobId) job; - // TODO: Optimize this - _server.Database.UpdateCharacter(client.Character); + _server.Database.UpdateCharacterBaseInfo(client.Character); S2CJobChangeJobNtc notice = new S2CJobChangeJobNtc(); notice.CharacterId = client.Character.Id; diff --git a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs index 95465da24..581519ded 100644 --- a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs @@ -23,91 +23,50 @@ public JobChangeJobHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - CDataCharacterJobData characterJobData = new CDataCharacterJobData(); - characterJobData.Job = packet.Structure.JobId; - characterJobData.Exp = client.Character.ActiveCharacterJobData.Exp; - characterJobData.JobPoint = client.Character.ActiveCharacterJobData.JobPoint; - characterJobData.Lv = client.Character.ActiveCharacterJobData.Lv; - characterJobData.Atk = client.Character.ActiveCharacterJobData.Atk; - characterJobData.Def = client.Character.ActiveCharacterJobData.Def; - characterJobData.MAtk = client.Character.ActiveCharacterJobData.MAtk; - characterJobData.MDef = client.Character.ActiveCharacterJobData.MDef; - characterJobData.Strength = client.Character.ActiveCharacterJobData.Strength; - characterJobData.DownPower = client.Character.ActiveCharacterJobData.DownPower; - characterJobData.ShakePower = client.Character.ActiveCharacterJobData.ShakePower; - characterJobData.StunPower = client.Character.ActiveCharacterJobData.StunPower; - characterJobData.Consitution = client.Character.ActiveCharacterJobData.Consitution; - characterJobData.Guts = client.Character.ActiveCharacterJobData.Guts; - characterJobData.FireResist = client.Character.ActiveCharacterJobData.FireResist; - characterJobData.IceResist = client.Character.ActiveCharacterJobData.IceResist; - characterJobData.ThunderResist = client.Character.ActiveCharacterJobData.ThunderResist; - characterJobData.HolyResist = client.Character.ActiveCharacterJobData.HolyResist; - characterJobData.DarkResist = client.Character.ActiveCharacterJobData.DarkResist; - characterJobData.SpreadResist = client.Character.ActiveCharacterJobData.SpreadResist; - characterJobData.FreezeResist = client.Character.ActiveCharacterJobData.FreezeResist; - characterJobData.ShockResist = client.Character.ActiveCharacterJobData.ShockResist; - characterJobData.AbsorbResist = client.Character.ActiveCharacterJobData.AbsorbResist; - characterJobData.DarkElmResist = client.Character.ActiveCharacterJobData.DarkElmResist; - characterJobData.PoisonResist = client.Character.ActiveCharacterJobData.PoisonResist; - characterJobData.SlowResist = client.Character.ActiveCharacterJobData.SlowResist; - characterJobData.SleepResist = client.Character.ActiveCharacterJobData.SleepResist; - characterJobData.StunResist = client.Character.ActiveCharacterJobData.StunResist; - characterJobData.WetResist = client.Character.ActiveCharacterJobData.WetResist; - characterJobData.OilResist = client.Character.ActiveCharacterJobData.OilResist; - characterJobData.SealResist = client.Character.ActiveCharacterJobData.SealResist; - characterJobData.CurseResist = client.Character.ActiveCharacterJobData.CurseResist; - characterJobData.SoftResist = client.Character.ActiveCharacterJobData.SoftResist; - characterJobData.StoneResist = client.Character.ActiveCharacterJobData.StoneResist; - characterJobData.GoldResist = client.Character.ActiveCharacterJobData.GoldResist; - characterJobData.FireReduceResist = client.Character.ActiveCharacterJobData.FireReduceResist; - characterJobData.IceReduceResist = client.Character.ActiveCharacterJobData.IceReduceResist; - characterJobData.ThunderReduceResist = client.Character.ActiveCharacterJobData.ThunderReduceResist; - characterJobData.HolyReduceResist = client.Character.ActiveCharacterJobData.HolyReduceResist; - characterJobData.DarkReduceResist = client.Character.ActiveCharacterJobData.DarkReduceResist; - characterJobData.AtkDownResist = client.Character.ActiveCharacterJobData.AtkDownResist; - characterJobData.DefDownResist = client.Character.ActiveCharacterJobData.DefDownResist; - characterJobData.MAtkDownResist = client.Character.ActiveCharacterJobData.MAtkDownResist; - characterJobData.MDefDownResist = client.Character.ActiveCharacterJobData.MDefDownResist; + client.Character.Job = packet.Structure.JobId; - //client.Character.CharacterInfo.CharacterJobDataList.Add(characterJobData); - //client.Character.CharacterInfo.Job = packet.Structure.JobId; + Server.Database.UpdateCharacterBaseInfo(client.Character); + + S2CJobChangeJobNtc notice = new S2CJobChangeJobNtc(); + notice.CharacterId = client.Character.Id; + notice.CharacterJobData = client.Character.ActiveCharacterJobData; + notice.EquipItemInfo = client.Character.CharacterEquipViewDataListDictionary[client.Character.Job] + .Union(client.Character.CharacterEquipDataListDictionary[client.Character.Job]) + .SelectMany(x => x.Equips) + .ToList(); + notice.SetAcquirementParamList = client.Character.CustomSkills; + notice.SetAbilityParamList = client.Character.Abilities; + notice.LearnNormalSkillParamList = client.Character.NormalSkills + .Select(x => new CDataLearnNormalSkillParam(x)) + .ToList(); + notice.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; + + foreach(GameClient otherClient in Server.Clients) + { + otherClient.Send(notice); // This does the change itself (it does work) + } // TODO: Replace pcap data with DB data S2CJobGetJobChangeListRes jobChangeList = EntitySerializer.Get().Read(InGameDump.data_Dump_52); - S2CEquipGetCharacterEquipListRes getCharacterEquipListRes = EntitySerializer.Get().Read(InGameDump.data_Dump_48); - CDataJobPlayPoint requestedJobPlayPoint = jobChangeList.PlayPointList.Where(x => x.Job == packet.Structure.JobId).FirstOrDefault(); - CDataJobChangeInfo requestedJobChangeInfo = jobChangeList.JobChangeInfo.Where(x => x.JobId == packet.Structure.JobId).FirstOrDefault(); + + S2CEquipGetCharacterEquipListRes getCharacterEquipListRes = EntitySerializer.Get().Read(InGameDump.data_Dump_48); S2CJobChangeJobRes response = new S2CJobChangeJobRes(); - response.CharacterJobData = characterJobData; + response.CharacterJobData = client.Character.ActiveCharacterJobData; response.CharacterEquipList = getCharacterEquipListRes.CharacterEquipList; - response.SetAcquirementParamList = new List(); - response.SetAbilityParamList = new List(); - response.LearnNormalSkillParamList = new List(); + notice.SetAcquirementParamList = client.Character.CustomSkills; + notice.SetAbilityParamList = client.Character.Abilities; + notice.LearnNormalSkillParamList = client.Character.NormalSkills + .Select(x => new CDataLearnNormalSkillParam(x)) + .ToList(); response.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; response.PlayPointData = requestedJobPlayPoint.PlayPoint; response.Unk0.Unk0 = (byte) packet.Structure.JobId; response.Unk0.Unk1 = client.Character.CharacterItemSlotInfoList; - S2CJobChangeJobNtc notice = new S2CJobChangeJobNtc(); - notice.CharacterId = client.Character.Id; - notice.CharacterJobData = characterJobData; - notice.EquipItemInfo = requestedJobChangeInfo.EquipItemList; - notice.SetAcquirementParamList = new List(); - notice.SetAbilityParamList = new List(); - notice.LearnNormalSkillParamList = new List(); - notice.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; - notice.Unk0.Unk0 = (byte) packet.Structure.JobId; - notice.Unk0.Unk1 = client.Character.CharacterItemSlotInfoList; - // I don't know whats the purpose of this carrying so much data since the job change itself is done by the NTC client.Send(response); - - foreach(GameClient otherClient in Server.Clients) - { - otherClient.Send(notice); // This does the change itself (it does work) - } } } } \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/JobGetJobChangeListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/JobGetJobChangeListHandler.cs index e0b4980a6..1dd0e0a3f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/JobGetJobChangeListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/JobGetJobChangeListHandler.cs @@ -1,4 +1,5 @@ -using Arrowgene.Ddon.GameServer.Dump; +using System.Linq; +using Arrowgene.Ddon.GameServer.Dump; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity; @@ -24,14 +25,18 @@ public JobGetJobChangeListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, IPacket packet) { - S2CJobGetJobChangeListRes jobChangeList = EntitySerializer.Get().Read(InGameDump.Dump_52.AsBuffer()); - // Add Hunter info so you can see the hunter job on the skill change menu. - jobChangeList.JobReleaseInfo.Add(new CDataJobChangeInfo() { - JobId = JobId.Hunter - }); - jobChangeList.JobChangeInfo.Add(new CDataJobChangeInfo() { - JobId = JobId.Hunter - }); + S2CJobGetJobChangeListRes jobChangeList = new S2CJobGetJobChangeListRes(); + jobChangeList.JobChangeInfo = client.Character.CharacterEquipDataListDictionary + .Union(client.Character.CharacterEquipViewDataListDictionary) + .GroupBy(x => x.Key) + .Select(x => new CDataJobChangeInfo() { + JobId = x.Key, + EquipItemList = x.SelectMany(x => x.Value).SelectMany(x => x.Equips).ToList() // Flatten group by and CDataCharacterEquipData + }) + .ToList(); + jobChangeList.JobReleaseInfo = jobChangeList.JobReleaseInfo; + // TODO: jobChangeList.PawnJobChangeInfoList + jobChangeList.PlayPointList = client.Character.PlayPointList; client.Send(jobChangeList); } } From 6bb828e686a2a51374cb8c41bff482284e5b446e Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sat, 10 Sep 2022 17:26:28 +0200 Subject: [PATCH 14/72] Character creation and loading optimizations --- .../Sql/Core/DdonSqlDbCharacter.cs | 169 ++++++++-------- Arrowgene.Ddon.Database/Sql/SqlDb.cs | 185 ++++++++++++++---- 2 files changed, 229 insertions(+), 125 deletions(-) diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index 0db9c625a..ab86267b5 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -95,46 +95,29 @@ public abstract partial class DdonSqlDb : SqlDb public bool CreateCharacter(Character character) { - character.Created = DateTime.Now; - int rowsAffected = ExecuteNonQuery(SqlInsertCharacter, command => { AddParameter(command, character); }, out long autoIncrement); - if (rowsAffected <= NoRowsAffected || autoIncrement <= NoAutoIncrement) - { - return false; - } - character.Id = (uint) autoIncrement; - - rowsAffected = ExecuteNonQuery(SqlInsertCharacterEditInfo, command => { AddParameter(command, character); }); - if (rowsAffected <= NoRowsAffected) - { - return false; - } - - rowsAffected = ExecuteNonQuery(SqlInsertCharacterStatusInfo, command => { AddParameter(command, character); }); - if (rowsAffected <= NoRowsAffected) - { - return false; - } - - rowsAffected = ExecuteNonQuery(SqlInsertCharacterMatchingProfile, command => { AddParameter(command, character); }); - if (rowsAffected <= NoRowsAffected) - { - return false; - } - - rowsAffected = ExecuteNonQuery(SqlInsertCharacterArisenProfile, command => { AddParameter(command, character); }); - if (rowsAffected <= NoRowsAffected) - { - return false; - } + return ExecuteInTransaction(conn => + { + character.Created = DateTime.Now; + ExecuteNonQuery(SqlInsertCharacter, command => { AddParameter(command, character); }, out long autoIncrement); + character.Id = (uint) autoIncrement; - StoreCharacterData(character); + ExecuteNonQuery(conn, SqlInsertCharacterEditInfo, command => { AddParameter(command, character); }); + ExecuteNonQuery(conn, SqlInsertCharacterStatusInfo, command => { AddParameter(command, character); }); + ExecuteNonQuery(conn, SqlInsertCharacterMatchingProfile, command => { AddParameter(command, character); }); + ExecuteNonQuery(conn, SqlInsertCharacterArisenProfile, command => { AddParameter(command, character); }); - return true; + StoreCharacterData(conn, character); + }); } public bool UpdateCharacterBaseInfo(Character character) { - int characterUpdateRowsAffected = ExecuteNonQuery(SqlUpdateCharacter, command => + return UpdateCharacterBaseInfo(null, character); + } + + public bool UpdateCharacterBaseInfo(TCon conn, Character character) + { + int characterUpdateRowsAffected = ExecuteNonQuery(conn, SqlUpdateCharacter, command => { AddParameter(command, "@id", character.Id); AddParameter(command, character); @@ -145,41 +128,40 @@ public bool UpdateCharacterBaseInfo(Character character) public bool UpdateCharacter(Character character) { - int characterUpdateRowsAffected = UpdateCharacterBaseInfo(character) ? 1 : 0; - - characterUpdateRowsAffected += ExecuteNonQuery(SqlUpdateCharacterEditInfo, command => - { - AddParameter(command, "@id", character.Id); - AddParameter(command, character); - }); - - characterUpdateRowsAffected += ExecuteNonQuery(SqlUpdateCharacterStatusInfo, command => - { - AddParameter(command, "@id", character.Id); - AddParameter(command, character); - }); - - characterUpdateRowsAffected += ExecuteNonQuery(SqlUpdateCharacterMatchingProfile, command => - { - AddParameter(command, "@id", character.Id); - AddParameter(command, character); - }); - - characterUpdateRowsAffected += ExecuteNonQuery(SqlUpdateCharacterArisenProfile, command => - { - AddParameter(command, "@id", character.Id); - AddParameter(command, character); - }); + return ExecuteInTransaction(conn => + { + UpdateCharacterBaseInfo(character); - StoreCharacterData(character); + ExecuteNonQuery(conn, SqlUpdateCharacterEditInfo, command => + { + AddParameter(command, "@id", character.Id); + AddParameter(command, character); + }); + ExecuteNonQuery(conn, SqlUpdateCharacterStatusInfo, command => + { + AddParameter(command, "@id", character.Id); + AddParameter(command, character); + }); + ExecuteNonQuery(conn, SqlUpdateCharacterMatchingProfile, command => + { + AddParameter(command, "@id", character.Id); + AddParameter(command, character); + }); + ExecuteNonQuery(conn, SqlUpdateCharacterArisenProfile, command => + { + AddParameter(command, "@id", character.Id); + AddParameter(command, character); + }); - return characterUpdateRowsAffected > NoRowsAffected; + StoreCharacterData(conn, character); + }); } public Character SelectCharacter(uint characterId) { Character character = null; - ExecuteReader(SqlSelectAllCharacterData, + ExecuteInTransaction(conn => { + ExecuteReader(conn, SqlSelectAllCharacterData, command => { AddParameter(command, "@id", characterId); }, reader => { if (reader.Read()) @@ -188,26 +170,27 @@ public Character SelectCharacter(uint characterId) } }); - QueryCharacterData(character); - + QueryCharacterData(conn, character); + }); return character; } public List SelectCharactersByAccountId(int accountId) { List characters = new List(); - ExecuteReader(SqlSelectAllCharactersDataByAccountId, - command => { AddParameter(command, "@account_id", accountId); }, reader => - { - while (reader.Read()) + ExecuteInTransaction(conn => { + ExecuteReader(conn, SqlSelectAllCharactersDataByAccountId, + command => { AddParameter(command, "@account_id", accountId); }, reader => { - Character character = ReadAllCharacterData(reader); - characters.Add(character); - - QueryCharacterData(character); - } - }); + while (reader.Read()) + { + Character character = ReadAllCharacterData(reader); + characters.Add(character); + QueryCharacterData(conn, character); + } + }); + }); return characters; } @@ -218,10 +201,10 @@ public bool DeleteCharacter(uint characterId) return rowsAffected > NoRowsAffected; } - private void QueryCharacterData(Character character) + private void QueryCharacterData(TCon conn, Character character) { // Job data - ExecuteReader(SqlSelectCharacterJobDataByCharacter, + ExecuteReader(conn, SqlSelectCharacterJobDataByCharacter, command => { AddParameter(command, "@character_id", character.Id); }, reader => { while (reader.Read()) @@ -231,7 +214,7 @@ private void QueryCharacterData(Character character) }); // Equips - ExecuteReader(SqlSelectEquipItemInfoByCharacter, + ExecuteReader(conn, SqlSelectEquipItemInfoByCharacter, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -249,7 +232,7 @@ private void QueryCharacterData(Character character) } }); - ExecuteReader(SqlSelectVisualEquipItemInfoByCharacter, + ExecuteReader(conn, SqlSelectVisualEquipItemInfoByCharacter, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -270,7 +253,7 @@ private void QueryCharacterData(Character character) // Job Items - ExecuteReader(SqlSelectEquipJobItemByCharacter, + ExecuteReader(conn, SqlSelectEquipJobItemByCharacter, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -287,7 +270,7 @@ private void QueryCharacterData(Character character) }); // Normal Skills - ExecuteReader(SqlSelectNormalSkillParam, + ExecuteReader(conn, SqlSelectNormalSkillParam, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -298,7 +281,7 @@ private void QueryCharacterData(Character character) }); // Custom Skills - ExecuteReader(SqlSelectCustomSkillsSetAcquirementParam, + ExecuteReader(conn, SqlSelectCustomSkillsSetAcquirementParam, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -309,7 +292,7 @@ private void QueryCharacterData(Character character) }); // Abilities - ExecuteReader(SqlSelectAbilitiesSetAcquirementParam, + ExecuteReader(conn, SqlSelectAbilitiesSetAcquirementParam, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -320,11 +303,11 @@ private void QueryCharacterData(Character character) }); } - private void StoreCharacterData(Character character) + private void StoreCharacterData(TCon conn, Character character) { foreach(CDataCharacterJobData characterJobData in character.CharacterJobDataList) { - ExecuteNonQuery(SqlReplaceCharacterJobData, command => + ExecuteNonQuery(conn, SqlReplaceCharacterJobData, command => { AddParameter(command, character.Id, characterJobData); }); @@ -336,7 +319,7 @@ private void StoreCharacterData(Character character) { foreach(CDataEquipItemInfo equipItemInfo in characterEquipData.Equips) { - ExecuteNonQuery(SqlReplaceEquipItemInfo, command => + ExecuteNonQuery(conn, SqlReplaceEquipItemInfo, command => { AddParameter(command, character.Id, characterEquipDataListByJob.Key, equipItemInfo); }); @@ -350,7 +333,7 @@ private void StoreCharacterData(Character character) { foreach(CDataEquipItemInfo equipItemInfo in characterEquipData.Equips) { - ExecuteNonQuery(SqlReplaceEquipItemInfo, command => + ExecuteNonQuery(conn, SqlReplaceEquipItemInfo, command => { AddParameter(command, character.Id, characterEquipViewDataListByJob.Key, equipItemInfo); }); @@ -362,7 +345,7 @@ private void StoreCharacterData(Character character) { foreach(CDataEquipJobItem equipJobItem in characterEquipJobItemListByJob.Value) { - ExecuteNonQuery(SqlReplaceEquipJobItem, command => + ExecuteNonQuery(conn, SqlReplaceEquipJobItem, command => { AddParameter(command, character.Id, characterEquipJobItemListByJob.Key, equipJobItem); }); @@ -371,7 +354,7 @@ private void StoreCharacterData(Character character) foreach(CDataNormalSkillParam normalSkillParam in character.NormalSkills) { - ExecuteNonQuery(SqlReplaceNormalSkillParam, command => + ExecuteNonQuery(conn, SqlReplaceNormalSkillParam, command => { AddParameter(command, character.Id, normalSkillParam); }); @@ -379,12 +362,18 @@ private void StoreCharacterData(Character character) foreach(CDataSetAcquirementParam setAcquirementParam in character.CustomSkills) { - ReplaceSetAcquirementParam(character.Id, setAcquirementParam); + ExecuteNonQuery(conn, SqlReplaceSetAcquirementParam, command => + { + AddParameter(command, character.Id, setAcquirementParam); + }); } foreach(CDataSetAcquirementParam setAcquirementParam in character.Abilities) { - ReplaceSetAcquirementParam(character.Id, setAcquirementParam); + ExecuteNonQuery(conn, SqlReplaceSetAcquirementParam, command => + { + AddParameter(command, character.Id, setAcquirementParam); + }); } } diff --git a/Arrowgene.Ddon.Database/Sql/SqlDb.cs b/Arrowgene.Ddon.Database/Sql/SqlDb.cs index 219bc4411..018f0facb 100644 --- a/Arrowgene.Ddon.Database/Sql/SqlDb.cs +++ b/Arrowgene.Ddon.Database/Sql/SqlDb.cs @@ -25,19 +25,55 @@ public SqlDb() public abstract int Upsert(string table, string[] columns, object[] values, string whereColumn, object whereValue, out long autoIncrement); + public bool ExecuteInTransaction(Action action) + { + using(TCon connection = Connection()) + { + try { + Execute(connection, "BEGIN TRANSACTION"); + action(connection); + Execute(connection, "COMMIT"); + return true; + } + catch(Exception ex) + { + Execute(connection, "ROLLBACK"); + Exception(ex); + return false; + } + } + } + public int ExecuteNonQuery(string query, Action nonQueryAction) + { + return ExecuteNonQuery(null, query, nonQueryAction); + } + + public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction) { try { - using (TCon connection = Connection()) + bool autoCloseConnection = false; + TCon connection = conn; + if(connection == null) { - using (TCom command = Command(query, connection)) - { - nonQueryAction(command); - int rowsAffected = command.ExecuteNonQuery(); - return rowsAffected; - } + autoCloseConnection = true; + connection = Connection(); } + + int rowsAffected = 0; + using (TCom command = Command(query, connection)) + { + nonQueryAction(command); + rowsAffected = command.ExecuteNonQuery(); + } + + if(autoCloseConnection) + { + connection.Close(); + } + + return rowsAffected; } catch (Exception ex) { @@ -47,19 +83,36 @@ public int ExecuteNonQuery(string query, Action nonQueryAction) } public int ExecuteNonQuery(string query, Action nonQueryAction, out long autoIncrement) + { + return ExecuteNonQuery(null, query, nonQueryAction, out autoIncrement); + } + + public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction, out long autoIncrement) { try { - using (TCon connection = Connection()) + bool autoCloseConnection = false; + TCon connection = conn; + if(connection == null) { - using (TCom command = Command(query, connection)) - { - nonQueryAction(command); - int rowsAffected = command.ExecuteNonQuery(); - autoIncrement = AutoIncrement(connection, command); - return rowsAffected; - } + autoCloseConnection = true; + connection = Connection(); } + + int rowsAffected = 0; + using (TCom command = Command(query, connection)) + { + nonQueryAction(command); + rowsAffected = command.ExecuteNonQuery(); + autoIncrement = AutoIncrement(connection, command); + } + + if(autoCloseConnection) + { + connection.Close(); + } + + return rowsAffected; } catch (Exception ex) { @@ -70,20 +123,35 @@ public int ExecuteNonQuery(string query, Action nonQueryAction, out long a } public void ExecuteReader(string query, Action nonQueryAction, Action readAction) + { + ExecuteReader(null, query, nonQueryAction, readAction); + } + + public void ExecuteReader(TCon conn, string query, Action nonQueryAction, Action readAction) { try { - using (TCon connection = Connection()) + bool autoCloseConnection = false; + TCon connection = conn; + if(connection == null) { - using (TCom command = Command(query, connection)) + autoCloseConnection = true; + connection = Connection(); + } + + using (TCom command = Command(query, connection)) + { + nonQueryAction(command); + using (DbDataReader reader = command.ExecuteReader()) { - nonQueryAction(command); - using (DbDataReader reader = command.ExecuteReader()) - { - readAction(reader); - } + readAction(reader); } } + + if(autoCloseConnection) + { + connection.Close(); + } } catch (Exception ex) { @@ -92,19 +160,34 @@ public void ExecuteReader(string query, Action nonQueryAction, Action readAction) + { + ExecuteReader(null, query, readAction); + } + + public void ExecuteReader(TCon conn, string query, Action readAction) { try { - using (TCon connection = Connection()) + bool autoCloseConnection = false; + TCon connection = conn; + if(connection == null) { - using (TCom command = Command(query, connection)) + autoCloseConnection = true; + connection = Connection(); + } + + using (TCom command = Command(query, connection)) + { + using (DbDataReader reader = command.ExecuteReader()) { - using (DbDataReader reader = command.ExecuteReader()) - { - readAction(reader); - } + readAction(reader); } } + + if(autoCloseConnection) + { + connection.Close(); + } } catch (Exception ex) { @@ -113,15 +196,30 @@ public void ExecuteReader(string query, Action readAction) } public void Execute(string query) + { + Execute(null, query); + } + + public void Execute(TCon conn, string query) { try { - using (TCon connection = Connection()) + bool autoCloseConnection = false; + TCon connection = conn; + if(connection == null) { - using (TCom command = Command(query, connection)) - { - command.ExecuteNonQuery(); - } + autoCloseConnection = true; + connection = Connection(); + } + + using (TCom command = Command(query, connection)) + { + command.ExecuteNonQuery(); + } + + if(autoCloseConnection) + { + connection.Close(); } } catch (Exception ex) @@ -131,13 +229,30 @@ public void Execute(string query) } public string ServerVersion() + { + return ServerVersion(null); + } + + public string ServerVersion(TCon conn) { try { - using (TCon connection = Connection()) + bool autoCloseConnection = false; + TCon connection = conn; + if(connection == null) + { + autoCloseConnection = true; + connection = Connection(); + } + + string serverVersion = connection.ServerVersion; + + if(autoCloseConnection) { - return connection.ServerVersion; + connection.Close(); } + + return serverVersion; } catch (Exception ex) { From 1372788da34f125b6446e254818b9d2bd71ae557 Mon Sep 17 00:00:00 2001 From: alborrajo <38296782+alborrajo@users.noreply.github.com> Date: Sat, 10 Sep 2022 23:10:53 +0200 Subject: [PATCH 15/72] Fixed character insert on a separate connection --- Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index ab86267b5..f7b44fb81 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -98,7 +98,7 @@ public bool CreateCharacter(Character character) return ExecuteInTransaction(conn => { character.Created = DateTime.Now; - ExecuteNonQuery(SqlInsertCharacter, command => { AddParameter(command, character); }, out long autoIncrement); + ExecuteNonQuery(conn, SqlInsertCharacter, command => { AddParameter(command, character); }, out long autoIncrement); character.Id = (uint) autoIncrement; ExecuteNonQuery(conn, SqlInsertCharacterEditInfo, command => { AddParameter(command, character); }); From 973134c469ad8e5b809d06da5c398e2f0cca59c5 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 11 Sep 2022 17:44:22 +0200 Subject: [PATCH 16/72] IPartyMember interface --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 5 ++++- .../Chat/Command/Commands/InfoCommand.cs | 10 +++++----- Arrowgene.Ddon.GameServer/GameClient.cs | 15 ++------------- .../Handler/CharacterSetOnlineStatusHandler.cs | 2 +- .../InstanceExchangeOmInstantKeyValueHandler.cs | 4 ++-- .../Handler/InstanceGetEnemySetListHandler.cs | 2 +- .../InstanceSetOmInstantKeyValueHandler.cs | 4 ++-- .../Handler/LobbyLobbyDataMsgHandler.cs | 8 ++++---- .../Handler/PartyPartyCreateHandler.cs | 2 +- .../Handler/PartyPartyInviteCharacterHandler.cs | 3 ++- .../PartyPartyInvitePrepareAcceptHandler.cs | 2 +- .../Handler/PartyPartyJoinHandler.cs | 6 +++--- .../Handler/PartySendBinaryMsgAllHandler.cs | 2 +- .../Handler/PartySendBinaryMsgHandler.cs | 2 +- .../Handler/StageAreaChangeHandler.cs | 6 +++--- Arrowgene.Ddon.Rpc/Command/InfoCommand.cs | 14 +++++++------- .../Entity/Structure/CDataContextBase.cs | 1 - Arrowgene.Ddon.Shared/Model/Character.cs | 11 +++++++++++ Arrowgene.Ddon.Shared/Model/IPartyMember.cs | 14 ++++++++++++++ .../Model}/Party.cs | 16 ++++++++++------ 20 files changed, 75 insertions(+), 54 deletions(-) create mode 100644 Arrowgene.Ddon.Shared/Model/IPartyMember.cs rename {Arrowgene.Ddon.GameServer => Arrowgene.Ddon.Shared/Model}/Party.cs (54%) diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index 4cae55f38..09f87720e 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -1,3 +1,4 @@ +using System.Linq; using System.Collections.Generic; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared.Entity.PacketStructure; @@ -76,7 +77,9 @@ private void Deliver(GameClient client, ChatResponse response) response.Recipients.AddRange(_server.Clients); break; case LobbyChatMsgType.Party: - response.Recipients.AddRange(client.Party.Members); + response.Recipients.AddRange(client.Party.Members + .Where(x => x is GameClient) + .Select(x => x as GameClient)); break; default: response.Recipients.Add(client); diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/InfoCommand.cs b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/InfoCommand.cs index 891f4c1c9..dbf3ef8f4 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/InfoCommand.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/InfoCommand.cs @@ -17,11 +17,11 @@ public override void Execute(string[] command, GameClient client, ChatMessage me { StringBuilder sb = new StringBuilder(); - sb.Append($"StageId:{client.Stage.Id} "); - sb.Append($"LayerNo:{client.Stage.LayerNo} "); - sb.Append($"GroupId:{client.Stage.GroupId} "); - sb.Append($"StageNo:{client.StageNo} "); - sb.Append($"Pos:[X:{client.X} Y:{client.Y} Z:{client.Z}]"); + sb.Append($"StageId:{client.Character.Stage.Id} "); + sb.Append($"LayerNo:{client.Character.Stage.LayerNo} "); + sb.Append($"GroupId:{client.Character.Stage.GroupId} "); + sb.Append($"StageNo:{client.Character.StageNo} "); + sb.Append($"Pos:[X:{client.Character.X} Y:{client.Character.Y} Z:{client.Character.Z}]"); ChatResponse response = new ChatResponse(); diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index 6749c338f..8b0db5367 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -1,13 +1,11 @@ -using System; -using Arrowgene.Ddon.Database.Model; +using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.Server.Network; -using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; using Arrowgene.Networking.Tcp; namespace Arrowgene.Ddon.GameServer { - public class GameClient : Client + public class GameClient : Client, IPartyMember { public GameClient(ITcpSocket socket, PacketFactory packetFactory) : base(socket, packetFactory) { @@ -33,15 +31,6 @@ public void UpdateIdentity() public Account Account { get; set; } public Character Character { get; set; } - public OnlineStatus OnlineStatus { get; set; } - - /// TODO combine into a location class ? - public StageId Stage { get; set; } - public uint StageNo { get; set; } - public double X { get; set; } - public float Y { get; set; } - public double Z { get; set; } - // --- public Party PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? public Party Party { get; set; } diff --git a/Arrowgene.Ddon.GameServer/Handler/CharacterSetOnlineStatusHandler.cs b/Arrowgene.Ddon.GameServer/Handler/CharacterSetOnlineStatusHandler.cs index 645c90dcd..9a2b7c1e6 100644 --- a/Arrowgene.Ddon.GameServer/Handler/CharacterSetOnlineStatusHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/CharacterSetOnlineStatusHandler.cs @@ -17,7 +17,7 @@ public CharacterSetOnlineStatusHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - client.OnlineStatus = packet.Structure.OnlineStatus; + client.Character.OnlineStatus = packet.Structure.OnlineStatus; // TODO: Figure out packet.Structure.IsSaveSetting diff --git a/Arrowgene.Ddon.GameServer/Handler/InstanceExchangeOmInstantKeyValueHandler.cs b/Arrowgene.Ddon.GameServer/Handler/InstanceExchangeOmInstantKeyValueHandler.cs index d7e9fa7d2..49494153e 100644 --- a/Arrowgene.Ddon.GameServer/Handler/InstanceExchangeOmInstantKeyValueHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/InstanceExchangeOmInstantKeyValueHandler.cs @@ -19,13 +19,13 @@ public InstanceExchangeOmInstantKeyValueHandler(DdonGameServer server) : base(se public override void Handle(GameClient client, StructurePacket req) { S2CInstanceExchangeOmInstantKeyValueRes res = new S2CInstanceExchangeOmInstantKeyValueRes(); - res.StageId = client.Stage.Id; + res.StageId = client.Character.Stage.Id; res.Data0 = req.Structure.Data0; res.Data1 = req.Structure.Data1; client.Send(res); S2CInstance_13_23_16_Ntc ntc = new S2CInstance_13_23_16_Ntc(); - ntc.StageId = client.Stage.Id; + ntc.StageId = client.Character.Stage.Id; ntc.Data0 = req.Structure.Data0; ntc.Data1 = req.Structure.Data1; client.Send(ntc); diff --git a/Arrowgene.Ddon.GameServer/Handler/InstanceGetEnemySetListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/InstanceGetEnemySetListHandler.cs index cbcbde7ff..c1e2f5d50 100644 --- a/Arrowgene.Ddon.GameServer/Handler/InstanceGetEnemySetListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/InstanceGetEnemySetListHandler.cs @@ -25,7 +25,7 @@ public override void Handle(GameClient client, StructurePacket spawns = _enemyManager.GetSpawns(stageId, subGroupId); diff --git a/Arrowgene.Ddon.GameServer/Handler/InstanceSetOmInstantKeyValueHandler.cs b/Arrowgene.Ddon.GameServer/Handler/InstanceSetOmInstantKeyValueHandler.cs index 92494becc..04a6ce010 100644 --- a/Arrowgene.Ddon.GameServer/Handler/InstanceSetOmInstantKeyValueHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/InstanceSetOmInstantKeyValueHandler.cs @@ -19,11 +19,11 @@ public InstanceSetOmInstantKeyValueHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket req) { S2CInstanceSetOmInstantKeyValueRes res = new S2CInstanceSetOmInstantKeyValueRes(req.Structure); - res.StageId = client.Stage.Id; + res.StageId = client.Character.Stage.Id; client.Send(res); S2CInstance_13_20_16_Ntc ntc = new S2CInstance_13_20_16_Ntc(); - ntc.StageId = client.Stage.Id; + ntc.StageId = client.Character.Stage.Id; ntc.Data0 = req.Structure.Data0; ntc.Data1 = req.Structure.Data1; client.Send(ntc); diff --git a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyDataMsgHandler.cs b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyDataMsgHandler.cs index 3ca31a4c8..25d60d1db 100644 --- a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyDataMsgHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyDataMsgHandler.cs @@ -22,7 +22,7 @@ public override void Handle(GameClient client, StructurePacket x.Job == character.Job) .Select(x => new CDataContextAcquirementData(x)).ToList(); ContextAbilityList = character.Abilities - .Where(x => x.Job == character.Job) .Select(x => new CDataContextAcquirementData(x)).ToList(); Unk0List=new List(); // TODO: Figure this one out } diff --git a/Arrowgene.Ddon.Shared/Model/Character.cs b/Arrowgene.Ddon.Shared/Model/Character.cs index 6e6d4bee8..cc8e2cc41 100644 --- a/Arrowgene.Ddon.Shared/Model/Character.cs +++ b/Arrowgene.Ddon.Shared/Model/Character.cs @@ -9,6 +9,8 @@ public class Character { public Character() { + FirstName = string.Empty; + LastName = string.Empty; Created = DateTime.MinValue; EditInfo = new CDataEditInfo(); StatusInfo = new CDataStatusInfo(); @@ -70,9 +72,18 @@ public CDataCharacterJobData ActiveCharacterJobData public bool HideEquipHeadPawn; public bool HideEquipLanternPawn; public byte ArisenProfileShareRange; + public OnlineStatus OnlineStatus; public List NormalSkills { get; set; } public List CustomSkills { get; set;} public List Abilities { get; set; } + + /// TODO combine into a location class ? + public StageId Stage { get; set; } + public uint StageNo { get; set; } + public double X { get; set; } + public float Y { get; set; } + public double Z { get; set; } + // --- } } diff --git a/Arrowgene.Ddon.Shared/Model/IPartyMember.cs b/Arrowgene.Ddon.Shared/Model/IPartyMember.cs new file mode 100644 index 000000000..1c6311fb4 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Model/IPartyMember.cs @@ -0,0 +1,14 @@ +using Arrowgene.Ddon.Shared.Entity; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Model +{ + public interface IPartyMember + { + Character Character { get; set; } + Party Party { get; set; } + + void Send(TResStruct res) where TResStruct : class, IPacketStructure, new(); + void Send(Packet packet); + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Party.cs b/Arrowgene.Ddon.Shared/Model/Party.cs similarity index 54% rename from Arrowgene.Ddon.GameServer/Party.cs rename to Arrowgene.Ddon.Shared/Model/Party.cs index a565e1bff..54d1cc7b4 100644 --- a/Arrowgene.Ddon.GameServer/Party.cs +++ b/Arrowgene.Ddon.Shared/Model/Party.cs @@ -1,6 +1,7 @@ +using System; using System.Collections.Generic; -using Arrowgene.Ddon.GameServer; using Arrowgene.Ddon.Shared.Entity; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Model @@ -12,18 +13,21 @@ public class Party public Party() { Id = ++Instances; // Incase 0 is a reserved ID - Members = new List(); + Members = new List(); + Contexts = new Dictionary>(); } public uint Id { get; set; } - public List Members { get; set; } - public GameClient Leader { get; set; } - public GameClient Host { get; set; } + public List Members { get; set; } + public IPartyMember Leader { get; set; } + public IPartyMember Host { get; set; } + + public Dictionary> Contexts { get; set; } public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() { StructurePacket packet = new StructurePacket(res); - foreach(GameClient member in Members) { + foreach(IPartyMember member in Members) { member.Send(packet); } } From 4ddeaa160cb64ee0f1ae8b45f94b4930b8bdaaa3 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 11 Sep 2022 17:46:28 +0200 Subject: [PATCH 17/72] Pawns in multiplayer --- .../Handler/PawnGetMypawnDataHandler.cs | 2 +- .../Handler/PawnJoinPartyMypawnHandler.cs | 1008 ++++++++++++++++- .../Entity/EntitySerializer.cs | 1 + .../S2CContextGetPartyMypawnContextNtc.cs | 391 +------ .../S2CPawnJoinPartyMypawnRes.cs | 19 +- .../Entity/Structure/CDataPartyContextPawn.cs | 71 ++ .../Entity/Structure/CDataPawnInfo.cs | 8 +- Arrowgene.Ddon.Shared/Model/Pawn.cs | 39 + 8 files changed, 1114 insertions(+), 425 deletions(-) create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs create mode 100644 Arrowgene.Ddon.Shared/Model/Pawn.cs diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnGetMypawnDataHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnGetMypawnDataHandler.cs index df37f9edb..4bf50cc96 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnGetMypawnDataHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnGetMypawnDataHandler.cs @@ -444,7 +444,7 @@ public override void Handle(GameClient client, StructurePacket() { + SpSkillList = new List() { new CDataSpSkill() {SpSkillId = myPawnCsvData.SpSkillSlot1Id, SpSkillLv = myPawnCsvData.SpSkillSlot1Lv}, new CDataSpSkill() {SpSkillId = myPawnCsvData.SpSkillSlot2Id, SpSkillLv = myPawnCsvData.SpSkillSlot2Lv}, new CDataSpSkill() {SpSkillId = myPawnCsvData.SpSkillSlot3Id, SpSkillLv = myPawnCsvData.SpSkillSlot3Lv} diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index 21a68149f..57aacbdbe 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -5,6 +5,9 @@ using Arrowgene.Logging; using Arrowgene.Ddon.GameServer.Dump; using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Entity.Structure; +using System.Collections.Generic; +using Arrowgene.Ddon.Shared.Entity; namespace Arrowgene.Ddon.GameServer.Handler { @@ -18,34 +21,983 @@ public PawnJoinPartyMypawnHandler(DdonGameServer server) : base(server) } public override void Handle(GameClient client, StructurePacket req) - { - // Oh no - //client.Party.Members.Add(pawn); - - MyPawnCsv myPawnCsvData = Server.AssetRepository.MyPawnAsset[req.Structure.PawnNumber-1]; - - S2CPawnJoinPartyPawnNtc joinPartyPawnNtc = new S2CPawnJoinPartyPawnNtc(); - joinPartyPawnNtc.PartyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = client.Character.Id; - joinPartyPawnNtc.PartyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = myPawnCsvData.Name; - joinPartyPawnNtc.PartyMember.CharacterListElement.CurrentJobBaseInfo.Job = myPawnCsvData.Job; - joinPartyPawnNtc.PartyMember.CharacterListElement.CurrentJobBaseInfo.Level = myPawnCsvData.JobLv; - joinPartyPawnNtc.PartyMember.MemberType = 2; - joinPartyPawnNtc.PartyMember.MemberIndex = client.Party.Members.Count; - joinPartyPawnNtc.PartyMember.PawnId = myPawnCsvData.PawnId; - joinPartyPawnNtc.PartyMember.IsLeader = false; - joinPartyPawnNtc.PartyMember.IsPawn = true; - joinPartyPawnNtc.PartyMember.IsPlayEntry = false; - joinPartyPawnNtc.PartyMember.JoinState = JoinState.On; - joinPartyPawnNtc.PartyMember.AnyValueList = new byte[] {0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2}; - joinPartyPawnNtc.PartyMember.SessionStatus = 0; - client.Send(joinPartyPawnNtc); - - S2CContextGetPartyMypawnContextNtc mypawnContextNtc = new S2CContextGetPartyMypawnContextNtc(Server.AssetRepository.MyPawnAsset, req.Structure); - mypawnContextNtc.CharacterId = client.Character.Id; - client.Send(mypawnContextNtc); - - S2CPawnJoinPartyMypawnRes res = new S2CPawnJoinPartyMypawnRes(); - client.Send(res); + { + S2CContextGetPartyMypawnContextNtc pcapPawn = EntitySerializer.Get().Read(SelectedDump.data_Dump_Pawn35_3_16); + + MyPawnCsv myPawnCsvData = Server.AssetRepository.MyPawnAsset[req.Structure.PawnNumber-1]; + Pawn pawn = new Pawn(); + pawn.Owner = client; + pawn.Party = client.Party; + pawn.HmType = myPawnCsvData.HmType; + pawn.PawnType = myPawnCsvData.PawnType; + pawn.Character.Stage = pawn.Character.Stage; + pawn.Character.StageNo = pawn.Character.StageNo; + pawn.Character.X = pawn.Character.X; + pawn.Character.Y = pawn.Character.Y; + pawn.Character.Z = pawn.Character.Z; + pawn.Character.Id = myPawnCsvData.PawnId; + pawn.Character.FirstName = myPawnCsvData.Name; + //pawn.Character.LastName = Pawns dont have Last Name + pawn.Character.EditInfo = new CDataEditInfo() + { + Sex = myPawnCsvData.Sex, + Voice = myPawnCsvData.Voice, + VoicePitch = myPawnCsvData.VoicePitch, + Personality = myPawnCsvData.Personality, + SpeechFreq = myPawnCsvData.SpeechFreq, + BodyType = myPawnCsvData.BodyType, + Hair = myPawnCsvData.Hair, + Beard = myPawnCsvData.Beard, + Makeup = myPawnCsvData.Makeup, + Scar = myPawnCsvData.Scar, + EyePresetNo = myPawnCsvData.EyePresetNo, + NosePresetNo = myPawnCsvData.NosePresetNo, + MouthPresetNo = myPawnCsvData.MouthPresetNo, + EyebrowTexNo = myPawnCsvData.EyebrowTexNo, + ColorSkin = myPawnCsvData.ColorSkin, + ColorHair = myPawnCsvData.ColorHair, + ColorBeard = myPawnCsvData.ColorBeard, + ColorEyebrow = myPawnCsvData.ColorEyebrow, + ColorREye = myPawnCsvData.ColorREye, + ColorLEye = myPawnCsvData.ColorLEye, + ColorMakeup = myPawnCsvData.ColorMakeup, + Sokutobu = myPawnCsvData.Sokutobu, + Hitai = myPawnCsvData.Hitai, + MimiJyouge = myPawnCsvData.MimiJyouge, + Kannkaku = myPawnCsvData.Kannkaku, + MabisasiJyouge = myPawnCsvData.MabisasiJyouge, + HanakuchiJyouge = myPawnCsvData.HanakuchiJyouge, + AgoSakiHaba = myPawnCsvData.AgoSakiHaba, + AgoZengo = myPawnCsvData.AgoZengo, + AgoSakiJyouge = myPawnCsvData.AgoSakiJyouge, + HitomiOokisa = myPawnCsvData.HitomiOokisa, + MeOokisa = myPawnCsvData.MeOokisa, + MeKaiten = myPawnCsvData.MeKaiten, + MayuKaiten = myPawnCsvData.MayuKaiten, + MimiOokisa = myPawnCsvData.MimiOokisa, + MimiMuki = myPawnCsvData.MimiMuki, + ElfMimi = myPawnCsvData.ElfMimi, + MikenTakasa = myPawnCsvData.MikenTakasa, + MikenHaba = myPawnCsvData.MikenHaba, + HohoboneRyou = myPawnCsvData.HohoboneRyou, + HohoboneJyouge = myPawnCsvData.HohoboneJyouge, + Hohoniku = myPawnCsvData.Hohoniku, + ErahoneJyouge = myPawnCsvData.ErahoneJyouge, + ErahoneHaba = myPawnCsvData.ErahoneHaba, + HanaJyouge = myPawnCsvData.HanaJyouge, + HanaHaba = myPawnCsvData.HanaHaba, + HanaTakasa = myPawnCsvData.HanaTakasa, + HanaKakudo = myPawnCsvData.HanaKakudo, + KuchiHaba = myPawnCsvData.KuchiHaba, + KuchiAtsusa = myPawnCsvData.KuchiAtsusa, + EyebrowUVOffsetX = myPawnCsvData.EyebrowUVOffsetX, + EyebrowUVOffsetY = myPawnCsvData.EyebrowUVOffsetY, + Wrinkle = myPawnCsvData.Wrinkle, + WrinkleAlbedoBlendRate = myPawnCsvData.WrinkleAlbedoBlendRate, + WrinkleDetailNormalPower = myPawnCsvData.WrinkleDetailNormalPower, + MuscleAlbedoBlendRate = myPawnCsvData.MuscleAlbedoBlendRate, + MuscleDetailNormalPower = myPawnCsvData.MuscleDetailNormalPower, + Height = myPawnCsvData.Height, + HeadSize = myPawnCsvData.HeadSize, + NeckOffset = myPawnCsvData.NeckOffset, + NeckScale = myPawnCsvData.NeckScale, + UpperBodyScaleX = myPawnCsvData.UpperBodyScaleX, + BellySize = myPawnCsvData.BellySize, + TeatScale = myPawnCsvData.TeatScale, + TekubiSize = myPawnCsvData.TekubiSize, + KoshiOffset = myPawnCsvData.KoshiOffset, + KoshiSize = myPawnCsvData.KoshiSize, + AnkleOffset = myPawnCsvData.AnkleOffset, + Fat = myPawnCsvData.Fat, + Muscle = myPawnCsvData.Muscle, + MotionFilter = myPawnCsvData.MotionFilter + }; + pawn.Character.Job = myPawnCsvData.Job; + pawn.Character.HideEquipHead = myPawnCsvData.HideEquipHead; + pawn.Character.HideEquipLantern = myPawnCsvData.HideEquipLantern; + pawn.Character.StatusInfo = new CDataStatusInfo() + { + HP = (uint) pcapPawn.Context.PlayerInfo.HP, + Stamina = (uint) pcapPawn.Context.PlayerInfo.Stamina, + RevivePoint = pcapPawn.Context.PlayerInfo.RevivePoint, + MaxHP = (uint) pcapPawn.Context.PlayerInfo.MaxHP, + MaxStamina = (uint) pcapPawn.Context.PlayerInfo.MaxStamina, + WhiteHP = (uint) pcapPawn.Context.PlayerInfo.WhiteHP, + GainHP = pcapPawn.Context.PlayerInfo.GainHp, + GainStamina = pcapPawn.Context.PlayerInfo.GainStamina, + GainAttack = pcapPawn.Context.PlayerInfo.GainAttack, + GainDefense = pcapPawn.Context.PlayerInfo.GainDefense, + GainMagicAttack = pcapPawn.Context.PlayerInfo.GainMagicAttack, + GainMagicDefense = pcapPawn.Context.PlayerInfo.GainMagicDefense + }; + //pawn.Character.PlayPointList + pawn.Character.CharacterJobDataList = new List(){ new CDataCharacterJobData { + Job = myPawnCsvData.Job, + //Exp = myPawnCsvData.Exp, + //JobPoint = myPawnCsvData.JobPoint, + Lv = myPawnCsvData.JobLv, + Atk = (ushort) pcapPawn.Context.PlayerInfo.Atk, + Def = (ushort) pcapPawn.Context.PlayerInfo.Def, + MAtk = (ushort) pcapPawn.Context.PlayerInfo.MAtk, + MDef = (ushort) pcapPawn.Context.PlayerInfo.MDef, + Strength = (ushort) pcapPawn.Context.PlayerInfo.Strength, + DownPower = (ushort) pcapPawn.Context.PlayerInfo.DownPower, + ShakePower = (ushort) pcapPawn.Context.PlayerInfo.ShakePower, + //StunPower = (ushort) pcapPawn.Context.PlayerInfo.StunPower, + Consitution = (ushort) pcapPawn.Context.PlayerInfo.Constitution, + Guts = (ushort) pcapPawn.Context.PlayerInfo.Guts, + FireResist = pcapPawn.Context.ResistInfo.FireResist, + IceResist = pcapPawn.Context.ResistInfo.IceResist, + ThunderResist = pcapPawn.Context.ResistInfo.ThunderResist, + HolyResist = pcapPawn.Context.ResistInfo.HolyResist, + DarkResist = pcapPawn.Context.ResistInfo.DarkResist, + SpreadResist = pcapPawn.Context.ResistInfo.SpreadResist, + FreezeResist = pcapPawn.Context.ResistInfo.FreezeResist, + ShockResist = pcapPawn.Context.ResistInfo.ShockResist, + AbsorbResist = pcapPawn.Context.ResistInfo.AbsorbResist, + DarkElmResist = pcapPawn.Context.ResistInfo.DarkElmResist, + PoisonResist = pcapPawn.Context.ResistInfo.PoisonResist, + SlowResist = pcapPawn.Context.ResistInfo.SlowResist, + SleepResist = pcapPawn.Context.ResistInfo.SleepResist, + StunResist = pcapPawn.Context.ResistInfo.StunResist, + WetResist = pcapPawn.Context.ResistInfo.WetResist, + OilResist = pcapPawn.Context.ResistInfo.OilResist, + SealResist = pcapPawn.Context.ResistInfo.SealResist, + CurseResist = pcapPawn.Context.ResistInfo.CurseResist, + SoftResist = pcapPawn.Context.ResistInfo.SoftResist, + StoneResist = pcapPawn.Context.ResistInfo.StoneResist, + GoldResist = pcapPawn.Context.ResistInfo.GoldResist, + FireReduceResist = pcapPawn.Context.ResistInfo.FireReduceResist, + IceReduceResist = pcapPawn.Context.ResistInfo.IceReduceResist, + ThunderReduceResist = pcapPawn.Context.ResistInfo.ThunderReduceResist, + HolyReduceResist = pcapPawn.Context.ResistInfo.HolyReduceResist, + DarkReduceResist = pcapPawn.Context.ResistInfo.DarkReduceResist, + AtkDownResist = pcapPawn.Context.ResistInfo.AtkDownResist, + DefDownResist = pcapPawn.Context.ResistInfo.DefDownResist, + MAtkDownResist = pcapPawn.Context.ResistInfo.MAtkDownResist, + MDefDownResist = pcapPawn.Context.ResistInfo.MDefDownResist, + }}; + pawn.Character.CharacterEquipDataListDictionary = new Dictionary>() { { myPawnCsvData.Job, new List() { new CDataCharacterEquipData() { + Equips = new List() { + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Primary, + Unk0 = 0, + EquipType = 1, + EquipSlot = 1, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() { + new CDataArmorCrestData { + u0 = 1, + u1 = 1, + u2 = 0x59, + u3 = 0x04 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Secondary, + Unk0 = 0, + EquipType = 1, + EquipSlot = 2, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Head, + Unk0 = 0, + EquipType = 1, + EquipSlot = 3, + Color = 0, + PlusValue = 3, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() { + new CDataArmorCrestData { + u0 = 1, + u1 = 1, + u2 = 0x29D, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Body, + Unk0 = 0, + EquipType = 1, + EquipSlot = 4, + Color = 0, + PlusValue = 4, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() { + new CDataArmorCrestData { + u0 = 1, + u1 = 1, + u2 = 0x280, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.BodyClothing, + Unk0 = 0, + EquipType = 1, + EquipSlot = 5, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Arm, + Unk0 = 0, + EquipType = 1, + EquipSlot = 6, + Color = 0, + PlusValue = 3, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() { + new CDataArmorCrestData { + u0 = 1, + u1 = 1, + u2 = 0x1D2, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Leg, + Unk0 = 0, + EquipType = 1, + EquipSlot = 7, + Color = 0, + PlusValue = 3, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() { + new CDataArmorCrestData { + u0 = 1, + u1 = 1, + u2 = 0x225, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.LegWear, + Unk0 = 0, + EquipType = 1, + EquipSlot = 8, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.OverWear, + Unk0 = 0, + EquipType = 1, + EquipSlot = 9, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.JewelrySlot1, + Unk0 = 0, + EquipType = 1, + EquipSlot = 10, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() { + new CDataEquipElementParam { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.JewelrySlot2, + Unk0 = 0, + EquipType = 1, + EquipSlot = 11, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() { + new CDataEquipElementParam { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.JewelrySlot3, + Unk0 = 0, + EquipType = 1, + EquipSlot = 12, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() { + new CDataEquipElementParam { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.JewelrySlot4, + Unk0 = 0, + EquipType = 1, + EquipSlot = 13, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() { + new CDataEquipElementParam { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.JewelrySlot5, + Unk0 = 0, + EquipType = 1, + EquipSlot = 14, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() { + new CDataEquipElementParam { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.Lantern, + Unk0 = 0, + EquipType = 1, + EquipSlot = 15 + } + } + } + }}}; + pawn.Character.CharacterEquipViewDataListDictionary = new Dictionary>() { { myPawnCsvData.Job, new List() { new CDataCharacterEquipData() { + Equips = new List() { + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VPrimary, + Unk0 = 0, + EquipType = 2, + EquipSlot = 1, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VSecondary, + Unk0 = 0, + EquipType = 2, + EquipSlot = 2, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VHead, + Unk0 = 0, + EquipType = 2, + EquipSlot = 3, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VBody, + Unk0 = 0, + EquipType = 2, + EquipSlot = 4, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VBodyClothing, + Unk0 = 0, + EquipType = 2, + EquipSlot = 5, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VArm, + Unk0 = 0, + EquipType = 2, + EquipSlot = 6, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VLeg, + Unk0 = 0, + EquipType = 2, + EquipSlot = 7, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VLegWear, + Unk0 = 0, + EquipType = 2, + EquipSlot = 8, + Color = 0 + }, + new CDataEquipItemInfo { + ItemId = myPawnCsvData.VOverWear, + Unk0 = 0, + EquipType = 2, + EquipSlot = 9, + Color = 0, + } + } + } + }}}; + pawn.Character.CharacterEquipJobItemListDictionary = new Dictionary>() { { myPawnCsvData.Job, new List() { + new CDataEquipJobItem { + JobItemId = myPawnCsvData.JobItem1, + EquipSlotNo = myPawnCsvData.JobItemSlot1 + }, + new CDataEquipJobItem { + JobItemId = myPawnCsvData.JobItem2, + EquipSlotNo = myPawnCsvData.JobItemSlot2 + } + }}}; + pawn.Character.NormalSkills = new List() { + new CDataNormalSkillParam() { + Job = myPawnCsvData.Job, + SkillNo = myPawnCsvData.NormalSkill1, + Index = 0, + PreSkillNo = 0 + }, + new CDataNormalSkillParam() { + Job = myPawnCsvData.Job, + SkillNo = myPawnCsvData.NormalSkill2, + Index = 0, + PreSkillNo = 0 + }, + new CDataNormalSkillParam() { + Job = myPawnCsvData.Job, + SkillNo = myPawnCsvData.NormalSkill3, + Index = 0, + PreSkillNo = 0 + } + }; + pawn.Character.CustomSkills = new List() { + // Main Palette + new CDataSetAcquirementParam() { + Job = myPawnCsvData.Job, + Type = 0, + SlotNo = 1, + AcquirementNo = myPawnCsvData.CustomSkillId1, + AcquirementLv = myPawnCsvData.CustomSkillLv1 + }, + new CDataSetAcquirementParam() { + Job = myPawnCsvData.Job, + Type = 0, + SlotNo = 2, + AcquirementNo = myPawnCsvData.CustomSkillId2, + AcquirementLv = myPawnCsvData.CustomSkillLv2 + }, + new CDataSetAcquirementParam() { + Job = myPawnCsvData.Job, + Type = 0, + SlotNo = 3, + AcquirementNo = myPawnCsvData.CustomSkillId3, + AcquirementLv = myPawnCsvData.CustomSkillLv3 + }, + new CDataSetAcquirementParam() { + Job = myPawnCsvData.Job, + Type = 0, + SlotNo = 4, + AcquirementNo = myPawnCsvData.CustomSkillId4, + AcquirementLv = myPawnCsvData.CustomSkillLv4 + } + }; + pawn.Character.Abilities = new List() { + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 1, + AcquirementNo = myPawnCsvData.AbilityId1, + AcquirementLv = myPawnCsvData.AbilityLv1 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 2, + AcquirementNo = myPawnCsvData.AbilityId2, + AcquirementLv = myPawnCsvData.AbilityLv2 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 3, + AcquirementNo = myPawnCsvData.AbilityId3, + AcquirementLv = myPawnCsvData.AbilityLv3 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 4, + AcquirementNo = myPawnCsvData.AbilityId4, + AcquirementLv = myPawnCsvData.AbilityLv4 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 5, + AcquirementNo = myPawnCsvData.AbilityId5, + AcquirementLv = myPawnCsvData.AbilityLv5 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 6, + AcquirementNo = myPawnCsvData.AbilityId6, + AcquirementLv = myPawnCsvData.AbilityLv6 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 7, + AcquirementNo = myPawnCsvData.AbilityId7, + AcquirementLv = myPawnCsvData.AbilityLv7 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 8, + AcquirementNo = myPawnCsvData.AbilityId8, + AcquirementLv = myPawnCsvData.AbilityLv8 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 9, + AcquirementNo = myPawnCsvData.AbilityId9, + AcquirementLv = myPawnCsvData.AbilityLv9 + }, + new CDataSetAcquirementParam() { + Job = 0, + Type = 0, + SlotNo = 10, + AcquirementNo = myPawnCsvData.AbilityId10, + AcquirementLv = myPawnCsvData.AbilityLv10 + } + }; + pawn.PawnReactionList = new List() + { + new CDataPawnReaction() + { + ReactionType = 1, + MotionNo = myPawnCsvData.MetPartyMembersId + }, + new CDataPawnReaction() + { + ReactionType = 2, + MotionNo = myPawnCsvData.QuestClearId + }, + new CDataPawnReaction() + { + ReactionType = 10, + MotionNo = myPawnCsvData.SpecialSkillInspirationMomentId + }, + new CDataPawnReaction() + { + ReactionType = 4, + MotionNo = myPawnCsvData.LevelUpId + }, + new CDataPawnReaction() + { + ReactionType = 11, + MotionNo = myPawnCsvData.SpecialSkillUseId + }, + new CDataPawnReaction() + { + ReactionType = 6, + MotionNo = myPawnCsvData.PlayerDeathId + }, + new CDataPawnReaction() + { + ReactionType = 7, + MotionNo = myPawnCsvData.WaitingOnLobbyId + }, + new CDataPawnReaction() + { + ReactionType = 8, + MotionNo = myPawnCsvData.WaitingOnAdventureId + }, + new CDataPawnReaction() + { + ReactionType = 9, + MotionNo = myPawnCsvData.EndOfCombatId + } + }; + pawn.SpSkillList = new List() + { + new CDataSpSkill() + { + SpSkillId = myPawnCsvData.SpSkillSlot1Id, + SpSkillLv = myPawnCsvData.SpSkillSlot1Lv + }, + new CDataSpSkill() + { + SpSkillId = myPawnCsvData.SpSkillSlot2Id, + SpSkillLv = myPawnCsvData.SpSkillSlot2Lv + }, + new CDataSpSkill() + { + SpSkillId = myPawnCsvData.SpSkillSlot3Id, + SpSkillLv = myPawnCsvData.SpSkillSlot3Lv + } + }; + + client.Party.Members.Add(pawn); + + S2CPawnJoinPartyPawnNtc joinPartyPawnNtc = new S2CPawnJoinPartyPawnNtc(); + joinPartyPawnNtc.PartyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = client.Character.Id; + joinPartyPawnNtc.PartyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = pawn.Character.FirstName; + joinPartyPawnNtc.PartyMember.CharacterListElement.CurrentJobBaseInfo.Job = pawn.Character.Job; + joinPartyPawnNtc.PartyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte) pawn.Character.ActiveCharacterJobData.Lv; + joinPartyPawnNtc.PartyMember.MemberType = 2; + joinPartyPawnNtc.PartyMember.MemberIndex = client.Party.Members.IndexOf(pawn); + joinPartyPawnNtc.PartyMember.PawnId = pawn.Character.Id; + joinPartyPawnNtc.PartyMember.IsLeader = false; + joinPartyPawnNtc.PartyMember.IsPawn = true; + joinPartyPawnNtc.PartyMember.IsPlayEntry = false; + joinPartyPawnNtc.PartyMember.JoinState = JoinState.On; + joinPartyPawnNtc.PartyMember.AnyValueList = new byte[] {0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2}; // Taken from pcaps + joinPartyPawnNtc.PartyMember.SessionStatus = 0; + client.Party.SendToAll(joinPartyPawnNtc); + + S2CContextGetPartyMypawnContextNtc mypawnContextNtc = new S2CContextGetPartyMypawnContextNtc(pawn); + mypawnContextNtc.Context.Base.MemberIndex = client.Party.Members.IndexOf(pawn); + client.Party.SendToAll(mypawnContextNtc); + + S2CPawnJoinPartyMypawnRes res = new S2CPawnJoinPartyMypawnRes(); + client.Send(res); } } } diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 5cd89e9a8..f0c24ffab 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -101,6 +101,7 @@ static EntitySerializer() Create(new CDataOrbGainExtendParam.Serializer()); Create(new CDataOrbPageStatusSerializer()); Create(new CDataPartnerPawnInfo.Serializer()); + Create(new CDataPartyContextPawn.Serializer()); Create(new CDataPartyListInfo.Serializer()); Create(new CDataPartyMember.Serializer()); Create(new CDataPartyMemberMinimum.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs index 09b1276cd..f024b64da 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs @@ -1,5 +1,5 @@ -using System.Collections.Generic; using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; @@ -7,401 +7,38 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { public class S2CContextGetPartyMypawnContextNtc : IPacketStructure { - public S2CContextGetPartyMypawnContextNtc() - { - MyPawnCsvData = new List(); - Req = new C2SPawnJoinPartyMypawnReq(); - CharacterId = 0; - } + public PacketId Id => PacketId.S2C_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_NTC; - public S2CContextGetPartyMypawnContextNtc(List myPawnCsvData, C2SPawnJoinPartyMypawnReq req) + public S2CContextGetPartyMypawnContextNtc(Pawn pawn) { - MyPawnCsvData = myPawnCsvData; - Req = req; + PawnId = pawn.Character.Id; + Context = new CDataPartyContextPawn(pawn); } - public List MyPawnCsvData { get; set; } - public C2SPawnJoinPartyMypawnReq Req { get; set; } - public uint CharacterId { get; set; } - - public PacketId Id => PacketId.S2C_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_NTC; - - private class MyPawnMemberIndex + public S2CContextGetPartyMypawnContextNtc() { - static int index; - int id; - - static MyPawnMemberIndex() - { - index = 1; - } - - public MyPawnMemberIndex() - { - id = index; - index++; - } - - public int ID - { - get { return id; } - } - + Context = new CDataPartyContextPawn(); } + public uint PawnId { get; set; } + public CDataPartyContextPawn Context { get; set; } + public class Serializer : PacketEntitySerializer { - public override void Write(IBuffer buffer, S2CContextGetPartyMypawnContextNtc obj) { - C2SPawnJoinPartyMypawnReq req = obj.Req; - int n = req.PawnNumber; - n--; - MyPawnMemberIndex myPawnMemberIndex = new MyPawnMemberIndex(); - MyPawnCsv myPawnCsvData = obj.MyPawnCsvData[n]; - WriteUInt32(buffer, myPawnCsvData.PawnId); - WriteInt32(buffer, myPawnMemberIndex.ID); - //WriteUInt32(buffer, myPawnCsvData.MemberIndex); //CSV - WriteUInt32(buffer, myPawnCsvData.PawnId); - WriteInt32(buffer, myPawnCsvData.StageNo); - WriteInt32(buffer, myPawnCsvData.StartPosNo); - WriteByteArray(buffer, obj.Top); - WriteByte(buffer, myPawnCsvData.Sex); - WriteByte(buffer, myPawnCsvData.UcColor); - WriteMtString(buffer, myPawnCsvData.Name); - WriteUInt32(buffer, 0); - WriteUInt16(buffer, 15); - //WriteUInt16(buffer, myPawnCsvData.CountEquip); - WriteUInt16(buffer, myPawnCsvData.Primary); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.Secondary); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.Head); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.Body); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.BodyClothing); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.Arm); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.Leg); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.LegWear); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.OverWear); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.JewelrySlot1); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.JewelrySlot2); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.JewelrySlot3); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.JewelrySlot4); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.JewelrySlot5); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.Lantern); - WriteByteArray(buffer, obj.Pad13); - //Visual - WriteUInt32(buffer, 15); - //WriteUInt32(buffer, myPawnCsvData.CountVisualEquip); - WriteUInt16(buffer, myPawnCsvData.VPrimary); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VSecondary); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VHead); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VBody); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VBodyClothing); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VArm); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VLeg); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VLegWear); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VOverWear); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VJewelrySlot1); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VJewelrySlot2); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VJewelrySlot3); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VJewelrySlot4); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VJewelrySlot5); - WriteByteArray(buffer, obj.Pad13); - WriteUInt16(buffer, myPawnCsvData.VLantern); - WriteByteArray(buffer, obj.Pad13); - //JobItem - WriteUInt32(buffer, 2); - //WriteUInt32(buffer, myPawnCsvData.CountJobItem); - WriteUInt16(buffer, myPawnCsvData.JobItem1); - WriteByte(buffer, 1); - //WriteByte(buffer, myPawnCsvData.JobItemSlot1); - WriteUInt16(buffer, myPawnCsvData.JobItem2); - WriteByte(buffer, 2); - //WriteByte(buffer, myPawnCsvData.JobItemSlot2); - WriteBool(buffer, myPawnCsvData.HideEquipHead); - WriteBool(buffer, myPawnCsvData.HideEquipLantern); - WriteByte(buffer, myPawnCsvData.HmType); - WriteByte(buffer, myPawnCsvData.PawnType); - if (myPawnCsvData.CharacterId == 0) - { WriteUInt32(buffer, obj.CharacterId); } - else - { WriteUInt32(buffer, myPawnCsvData.CharacterId); } - WriteBool(buffer, myPawnCsvData.SetWaitFlag); - //Null - WriteUInt16(buffer, 0); - WriteByte(buffer, 0); - //NormalSkill - WriteByte(buffer, 3); - //WriteByte(buffer, myPawnCsvData.CountNormalSkill); - WriteByte(buffer, myPawnCsvData.NormalSkill1); - WriteByte(buffer, myPawnCsvData.NormalSkill2); - WriteByte(buffer, myPawnCsvData.NormalSkill3); - WriteUInt32(buffer, 4); - //WriteUInt32(buffer, myPawnCsvData.CountCustomSkill); - WriteByte(buffer, 1); - //WriteByte(buffer, myPawnCsvData.CustomSkillSlot1); - WriteUInt32(buffer, myPawnCsvData.CustomSkillId1); - WriteByte(buffer, myPawnCsvData.CustomSkillLv1); - WriteByte(buffer, 2); - //WriteByte(buffer, myPawnCsvData.CustomSkillSlot2); - WriteUInt32(buffer, myPawnCsvData.CustomSkillId2); - WriteByte(buffer, myPawnCsvData.CustomSkillLv2); - WriteByte(buffer, 3); - //WriteByte(buffer, myPawnCsvData.CustomSkillSlot3); - WriteUInt32(buffer, myPawnCsvData.CustomSkillId3); - WriteByte(buffer, myPawnCsvData.CustomSkillLv3); - WriteByte(buffer, 4); - //WriteByte(buffer, myPawnCsvData.CustomSkillSlot4); - WriteUInt32(buffer, myPawnCsvData.CustomSkillId4); - WriteByte(buffer, myPawnCsvData.CustomSkillLv4); - //Ability - WriteUInt32(buffer, 10); - //WriteUInt32(buffer, myPawnCsvData.CountAbility); - WriteByte(buffer, 1); - //WriteByte(buffer, myPawnCsvData.AbilitySlot1); - WriteUInt32(buffer, myPawnCsvData.AbilityId1); - WriteByte(buffer, myPawnCsvData.AbilityLv1); - WriteByte(buffer, 2); - //WriteByte(buffer, myPawnCsvData.AbilitySlot2); - WriteUInt32(buffer, myPawnCsvData.AbilityId2); - WriteByte(buffer, myPawnCsvData.AbilityLv2); - WriteByte(buffer, 3); - //WriteByte(buffer, myPawnCsvData.AbilitySlot3); - WriteUInt32(buffer, myPawnCsvData.AbilityId3); - WriteByte(buffer, myPawnCsvData.AbilityLv3); - WriteByte(buffer, 4); - //WriteByte(buffer, myPawnCsvData.AbilitySlot4); - WriteUInt32(buffer, myPawnCsvData.AbilityId4); - WriteByte(buffer, myPawnCsvData.AbilityLv4); - WriteByte(buffer, 5); - //WriteByte(buffer, myPawnCsvData.AbilitySlot5); - WriteUInt32(buffer, myPawnCsvData.AbilityId5); - WriteByte(buffer, myPawnCsvData.AbilityLv5); - WriteByte(buffer, 6); - //WriteByte(buffer, myPawnCsvData.AbilitySlot6); - WriteUInt32(buffer, myPawnCsvData.AbilityId6); - WriteByte(buffer, myPawnCsvData.AbilityLv6); - WriteByte(buffer, 7); - //WriteByte(buffer, myPawnCsvData.AbilitySlot7); - WriteUInt32(buffer, myPawnCsvData.AbilityId7); - WriteByte(buffer, myPawnCsvData.AbilityLv7); - WriteByte(buffer, 8); - //WriteByte(buffer, myPawnCsvData.AbilitySlot8); - WriteUInt32(buffer, myPawnCsvData.AbilityId8); - WriteByte(buffer, myPawnCsvData.AbilityLv8); - WriteByte(buffer, 9); - //WriteByte(buffer, myPawnCsvData.AbilitySlot9); - WriteUInt32(buffer, myPawnCsvData.AbilityId9); - WriteByte(buffer, myPawnCsvData.AbilityLv9); - WriteByte(buffer, 10); - //WriteByte(buffer, myPawnCsvData.AbilitySlot10); - WriteUInt32(buffer, myPawnCsvData.AbilityId10); - WriteByte(buffer, myPawnCsvData.AbilityLv10); - WriteByteArray(buffer, obj.Pad12); - WriteByte(buffer, (byte) myPawnCsvData.Job); - WriteByteArray(buffer, obj.JobIdLv); - WriteByte(buffer, myPawnCsvData.JobLv); - WriteByteArray(buffer, obj.LvReaction); - WriteByte(buffer, 9); - WriteByte(buffer, 1); - //WriteByte(buffer, myPawnCsvData.MetPartyMembers); - WriteUInt32(buffer, myPawnCsvData.MetPartyMembersId); - WriteByte(buffer, 2); - //WriteByte(buffer, myPawnCsvData.QuestClear); - WriteUInt32(buffer, myPawnCsvData.QuestClearId); - WriteByte(buffer, 10); - //WriteByte(buffer, myPawnCsvData.SpecialSkillInspirationMoment); - WriteUInt32(buffer, myPawnCsvData.SpecialSkillInspirationMomentId); - WriteByte(buffer, 4); - //WriteByte(buffer, myPawnCsvData.LevelUp); - WriteUInt32(buffer, myPawnCsvData.LevelUpId); - WriteByte(buffer, 11); - //WriteByte(buffer, myPawnCsvData.SpecialSkillUse); - WriteUInt32(buffer, myPawnCsvData.SpecialSkillUseId); - WriteByte(buffer, 6); - //WriteByte(buffer, myPawnCsvData.PlayerDeath); - WriteUInt32(buffer, myPawnCsvData.PlayerDeathId); - WriteByte(buffer, 7); - //WriteByte(buffer, myPawnCsvData.WaitingOnLobby); - WriteUInt32(buffer, myPawnCsvData.WaitingOnLobbyId); - WriteByte(buffer, 8); - //WriteByte(buffer, myPawnCsvData.WaitingOnAdventure); - WriteUInt32(buffer, myPawnCsvData.WaitingOnAdventureId); - WriteByte(buffer, 9); - //WriteByte(buffer, myPawnCsvData.EndOfCombat); - WriteUInt32(buffer, myPawnCsvData.EndOfCombatId); - WriteByteArray(buffer, obj.ReactionSpSkill); - //SpSkill - WriteByte(buffer, 3); - //WriteByte(buffer, myPawnCsvData.CountSpSkill); - WriteByte(buffer, myPawnCsvData.SpSkillSlot1Id); - WriteByte(buffer, myPawnCsvData.SpSkillSlot1Lv); - WriteByte(buffer, myPawnCsvData.SpSkillSlot2Id); - WriteByte(buffer, myPawnCsvData.SpSkillSlot2Lv); - WriteByte(buffer, myPawnCsvData.SpSkillSlot3Id); - WriteByte(buffer, myPawnCsvData.SpSkillSlot3Lv); - WriteByteArray(buffer, obj.SpSkillEdit); - //Character - WriteByte(buffer, myPawnCsvData.Sex); - WriteByte(buffer, myPawnCsvData.Voice); - WriteUInt16(buffer, myPawnCsvData.VoicePitch); - WriteByte(buffer, myPawnCsvData.Personality); - WriteByte(buffer, myPawnCsvData.SpeechFreq); - WriteByte(buffer, myPawnCsvData.BodyType); - WriteByte(buffer, myPawnCsvData.Hair); - WriteByte(buffer, myPawnCsvData.Beard); - WriteByte(buffer, myPawnCsvData.Makeup); - WriteByte(buffer, myPawnCsvData.Scar); - WriteByte(buffer, myPawnCsvData.EyePresetNo); - WriteByte(buffer, myPawnCsvData.NosePresetNo); - WriteByte(buffer, myPawnCsvData.MouthPresetNo); - WriteByte(buffer, myPawnCsvData.EyebrowTexNo); - WriteByte(buffer, myPawnCsvData.ColorSkin); - WriteByte(buffer, myPawnCsvData.ColorHair); - WriteByte(buffer, myPawnCsvData.ColorBeard); - WriteByte(buffer, myPawnCsvData.ColorEyebrow); - WriteByte(buffer, myPawnCsvData.ColorREye); - WriteByte(buffer, myPawnCsvData.ColorLEye); - WriteByte(buffer, myPawnCsvData.ColorMakeup); - WriteUInt16(buffer, myPawnCsvData.Sokutobu); - WriteUInt16(buffer, myPawnCsvData.Hitai); - WriteUInt16(buffer, myPawnCsvData.MimiJyouge); - WriteUInt16(buffer, myPawnCsvData.Kannkaku); - WriteUInt16(buffer, myPawnCsvData.MabisasiJyouge); - WriteUInt16(buffer, myPawnCsvData.HanakuchiJyouge); - WriteUInt16(buffer, myPawnCsvData.AgoSakiHaba); - WriteUInt16(buffer, myPawnCsvData.AgoZengo); - WriteUInt16(buffer, myPawnCsvData.AgoSakiJyouge); - WriteUInt16(buffer, myPawnCsvData.HitomiOokisa); - WriteUInt16(buffer, myPawnCsvData.MeOokisa); - WriteUInt16(buffer, myPawnCsvData.MeKaiten); - WriteUInt16(buffer, myPawnCsvData.MayuKaiten); - WriteUInt16(buffer, myPawnCsvData.MimiOokisa); - WriteUInt16(buffer, myPawnCsvData.MimiMuki); - WriteUInt16(buffer, myPawnCsvData.ElfMimi); - WriteUInt16(buffer, myPawnCsvData.MikenTakasa); - WriteUInt16(buffer, myPawnCsvData.MikenHaba); - WriteUInt16(buffer, myPawnCsvData.HohoboneRyou); - WriteUInt16(buffer, myPawnCsvData.HohoboneJyouge); - WriteUInt16(buffer, myPawnCsvData.Hohoniku); - WriteUInt16(buffer, myPawnCsvData.ErahoneJyouge); - WriteUInt16(buffer, myPawnCsvData.ErahoneHaba); - WriteUInt16(buffer, myPawnCsvData.HanaJyouge); - WriteUInt16(buffer, myPawnCsvData.HanaHaba); - WriteUInt16(buffer, myPawnCsvData.HanaTakasa); - WriteUInt16(buffer, myPawnCsvData.HanaKakudo); - WriteUInt16(buffer, myPawnCsvData.KuchiHaba); - WriteUInt16(buffer, myPawnCsvData.KuchiAtsusa); - WriteUInt16(buffer, myPawnCsvData.EyebrowUVOffsetX); - WriteUInt16(buffer, myPawnCsvData.EyebrowUVOffsetY); - WriteUInt16(buffer, myPawnCsvData.Wrinkle); - WriteUInt16(buffer, myPawnCsvData.WrinkleAlbedoBlendRate); - WriteUInt16(buffer, myPawnCsvData.WrinkleDetailNormalPower); - WriteUInt16(buffer, myPawnCsvData.MuscleAlbedoBlendRate); - WriteUInt16(buffer, myPawnCsvData.MuscleDetailNormalPower); - WriteUInt16(buffer, myPawnCsvData.Height); - WriteUInt16(buffer, myPawnCsvData.HeadSize); - WriteUInt16(buffer, myPawnCsvData.NeckOffset); - WriteUInt16(buffer, myPawnCsvData.NeckScale); - WriteUInt16(buffer, myPawnCsvData.UpperBodyScaleX); - WriteUInt16(buffer, myPawnCsvData.BellySize); - WriteUInt16(buffer, myPawnCsvData.TeatScale); - WriteUInt16(buffer, myPawnCsvData.TekubiSize); - WriteUInt16(buffer, myPawnCsvData.KoshiOffset); - WriteUInt16(buffer, myPawnCsvData.KoshiSize); - WriteUInt16(buffer, myPawnCsvData.AnkleOffset); - WriteUInt16(buffer, myPawnCsvData.Fat); - WriteUInt16(buffer, myPawnCsvData.Muscle); - WriteUInt16(buffer, myPawnCsvData.MotionFilter); - WriteByteArray(buffer, obj.Base); + WriteUInt32(buffer, obj.PawnId); + WriteEntity(buffer, obj.Context); } public override S2CContextGetPartyMypawnContextNtc Read(IBuffer buffer) { S2CContextGetPartyMypawnContextNtc obj = new S2CContextGetPartyMypawnContextNtc(); - MyPawnCsv myPawnCsvData = new MyPawnCsv(); - + obj.PawnId = ReadUInt32(buffer); + obj.Context = ReadEntity(buffer); return obj; } } - - - - - private readonly byte[] Top = - { - 0x40, 0x7C, 0x1A, 0x6F, 0x40, 0x0, 0x0, 0x0, 0x46, 0x40, 0x39, 0xA5, 0x40, 0x86, 0x1F, 0xFB, - 0x0, 0x0, 0x0, 0x0, 0xBF, 0xB0, 0xA3, 0x6E - }; - private readonly byte[] Pad12 = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }; - private readonly byte[] Pad13 = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }; - private readonly byte[] JobIdLv = - { - 0x44, 0x3E, 0x0, 0x0, 0x44, 0x3E, 0x0, 0x0, 0x44, 0x3E, 0x0, 0x0, 0x43, 0xE1, 0x0, 0x0, - 0x43, 0xE1, 0x0, 0x0, 0x47, 0x43, 0x50, 0x0, 0x0 - }; - private readonly byte[] LvReaction = - { - 0x0, 0x0, 0x0, 0x0, 0x7, 0x6E, 0x9, 0x4B, 0x0, 0x0, 0x0, 0xD8, 0x0, 0x0, 0x0, 0x57, - 0x0, 0x0, 0x1, 0x44, 0x0, 0x0, 0x0, 0xC6, 0x0, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x0, 0x32, - 0x0, 0x0, 0x0, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0xF6, 0x90, 0x0, 0x0, 0x2, 0x9E, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xF, 0x0, 0x0, 0x0, 0x10, - 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x1, 0x0, 0x33, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x3A, 0x49, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x8A, 0x40, 0xB, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x3, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1A, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x5, 0x78, 0x6, 0x0, 0x63, 0x0, 0x0, 0x0, 0x0, 0x7, 0x6E, 0x9, 0x4B, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x5, 0xF6, 0x90, 0xA, 0x0, 0x5D, 0x0, 0x0, 0x0, 0x0, 0x5, 0xD7, 0x6D, - 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x86, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3F, 0x80, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC2, 0xC8, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC2, 0xC8, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 - }; - private readonly byte[] ReactionSpSkill = - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0 - }; - private readonly byte[] SpSkillEdit = - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 - }; - private readonly byte[] Base = { 0x0, 0x2, 0xC5, 0x0, 0x0, 0x3, 0x2E, 0x0, 0x0, 0x2, 0xC9, 0x0, 0x0, 0x2 }; - } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPawnJoinPartyMypawnRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPawnJoinPartyMypawnRes.cs index 7d9f7d864..9d56f4ec6 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPawnJoinPartyMypawnRes.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPawnJoinPartyMypawnRes.cs @@ -3,33 +3,22 @@ namespace Arrowgene.Ddon.Shared.Entity.PacketStructure { - public class S2CPawnJoinPartyMypawnRes : IPacketStructure + public class S2CPawnJoinPartyMypawnRes : ServerResponse { - - - - public PacketId Id => PacketId.S2C_PAWN_JOIN_PARTY_MYPAWN_RES; - - public byte PawnNumber; - public uint Data1; - public ushort Data2; + public override PacketId Id => PacketId.S2C_PAWN_JOIN_PARTY_MYPAWN_RES; public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, S2CPawnJoinPartyMypawnRes obj) { - WriteByte(buffer, obj.PawnNumber); - WriteUInt32(buffer, obj.Data1); - WriteUInt16(buffer, obj.Data2); + WriteServerResponse(buffer, obj); } public override S2CPawnJoinPartyMypawnRes Read(IBuffer buffer) { S2CPawnJoinPartyMypawnRes obj = new S2CPawnJoinPartyMypawnRes(); - obj.PawnNumber = ReadByte(buffer); - obj.Data1 = ReadUInt32(buffer); - obj.Data2 = ReadUInt16(buffer); + ReadServerResponse(buffer, obj); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs new file mode 100644 index 000000000..8c4baf577 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataPartyContextPawn + { + public CDataPartyContextPawn(Pawn pawn) + { + Base = new CDataContextBase(pawn.Character); + Base.PawnId = pawn.Character.Id; + Base.CharacterId = pawn.Owner.Character.Id; + Base.PawnType = pawn.PawnType; + Base.HmType = pawn.HmType; + PlayerInfo = new CDataContextPlayerInfo(pawn.Character); + PawnReactionList = pawn.PawnReactionList; + Unk0 = new byte[64]; + SpSkillList = pawn.SpSkillList; + ResistInfo = new CDataContextResist(pawn.Character); + EditInfo = pawn.Character.EditInfo; + } + + public CDataPartyContextPawn() + { + Base = new CDataContextBase(); + PlayerInfo = new CDataContextPlayerInfo(); + PawnReactionList = new List(); + Unk0 = new byte[64]; + SpSkillList = new List(); + ResistInfo = new CDataContextResist(); + EditInfo = new CDataEditInfo(); + } + + public CDataContextBase Base { get; set; } + public CDataContextPlayerInfo PlayerInfo { get; set; } + public List PawnReactionList { get; set; } + public byte[] Unk0 { get; set; } + public List SpSkillList { get; set; } + public CDataContextResist ResistInfo { get; set; } + public CDataEditInfo EditInfo { get; set; } + + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataPartyContextPawn obj) + { + WriteEntity(buffer, obj.Base); + WriteEntity(buffer, obj.PlayerInfo); + WriteEntityList(buffer, obj.PawnReactionList); + WriteByteArray(buffer, obj.Unk0); + WriteEntityList(buffer, obj.SpSkillList); + WriteEntity(buffer, obj.ResistInfo); + WriteEntity(buffer, obj.EditInfo); + } + + public override CDataPartyContextPawn Read(IBuffer buffer) + { + CDataPartyContextPawn obj = new CDataPartyContextPawn(); + obj.Base = ReadEntity(buffer); + obj.PlayerInfo = ReadEntity(buffer); + obj.PawnReactionList = ReadEntityList(buffer); + obj.Unk0 = ReadByteArray(buffer, 64); + obj.SpSkillList = ReadEntityList(buffer); + obj.ResistInfo = ReadEntity(buffer); + obj.EditInfo = ReadEntity(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnInfo.cs index 1b3266c14..398f115c7 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnInfo.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPawnInfo.cs @@ -23,7 +23,7 @@ public CDataPawnInfo() ExtendParam = new CDataOrbGainExtendParam(); Unk0 = new byte[64]; Unk1 = new CData_772E80(); - Unk2 = new List(); + SpSkillList = new List(); } public uint Version { get; set; } @@ -57,7 +57,7 @@ public CDataPawnInfo() public uint Likability { get; set; } public byte[] Unk0 { get; set; } public CData_772E80 Unk1 { get; set; } - public List Unk2 { get; set; } + public List SpSkillList { get; set; } public class Serializer : EntitySerializer { @@ -94,7 +94,7 @@ public override void Write(IBuffer buffer, CDataPawnInfo obj) WriteUInt32(buffer, obj.Likability); WriteByteArray(buffer, obj.Unk0); WriteEntity(buffer, obj.Unk1); - WriteEntityList(buffer, obj.Unk2); + WriteEntityList(buffer, obj.SpSkillList); } public override CDataPawnInfo Read(IBuffer buffer) @@ -131,7 +131,7 @@ public override CDataPawnInfo Read(IBuffer buffer) obj.Likability = ReadUInt32(buffer); obj.Unk0 = ReadByteArray(buffer, 64); obj.Unk1 = ReadEntity(buffer); - obj.Unk2 = ReadEntityList(buffer); + obj.SpSkillList = ReadEntityList(buffer); return obj ; } } diff --git a/Arrowgene.Ddon.Shared/Model/Pawn.cs b/Arrowgene.Ddon.Shared/Model/Pawn.cs new file mode 100644 index 000000000..161d868d5 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Model/Pawn.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Model +{ + public class Pawn : IPartyMember + { + public Pawn() + { + Character = new Character(); + OnlineStatus = OnlineStatus.None; + PendingInvitedParty = null; + Party = null; + PawnReactionList = new List(); + SpSkillList = new List(); + } + + public IPartyMember Owner { get; set; } + public Character Character { get; set; } + public byte HmType { get; set; } + public byte PawnType { get; set; } + public OnlineStatus OnlineStatus { get; set; } + public Party PendingInvitedParty { get; set; } + public Party Party { get; set; } + public List PawnReactionList { get; set; } + public List SpSkillList { get; set; } + + public void Send(Packet packet) + { + // Do nothing + } + + void IPartyMember.Send(TResStruct res) + { + // Do nothing + } + } +} \ No newline at end of file From f9ced8fbaae36b1ad5607237b9675217dc143d0b Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 11 Sep 2022 20:23:33 +0200 Subject: [PATCH 18/72] Pawns appear on the 2nd player even if summoned before inviting --- Arrowgene.Ddon.GameServer/GameClient.cs | 28 ++++++++++++++ .../Handler/ConnectionLoginHandler.cs | 1 + .../Handler/ConnectionMoveInServerHandler.cs | 1 + .../PartyPartyInvitePrepareAcceptHandler.cs | 2 +- .../Handler/PartyPartyJoinHandler.cs | 37 +++++-------------- .../Handler/PartySendBinaryMsgAllHandler.cs | 3 +- .../Handler/PartySendBinaryMsgHandler.cs | 3 +- .../Handler/PawnJoinPartyMypawnHandler.cs | 21 +---------- ...endLeaderQuestOrderConditionInfoHandler.cs | 3 +- ...uestSendLeaderWaitOrderQuestListHandler.cs | 3 +- Arrowgene.Ddon.Shared/Model/Character.cs | 2 + Arrowgene.Ddon.Shared/Model/IPartyMember.cs | 4 ++ Arrowgene.Ddon.Shared/Model/Party.cs | 5 +++ Arrowgene.Ddon.Shared/Model/Pawn.cs | 29 +++++++++++++++ 14 files changed, 91 insertions(+), 51 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index 8b0db5367..0c9f4a05f 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -1,6 +1,9 @@ using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; using Arrowgene.Networking.Tcp; namespace Arrowgene.Ddon.GameServer @@ -35,5 +38,30 @@ public void UpdateIdentity() public Party PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? public Party Party { get; set; } + public CDataPartyMember AsCDataPartyMember() + { + CDataPartyMember partyMember = new CDataPartyMember(); + partyMember.CharacterListElement.ServerId = Character.Server.Id; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = Character.Id; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = Character.FirstName; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.LastName = Character.LastName; + partyMember.CharacterListElement.CurrentJobBaseInfo.Job = Character.Job; + partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte) Character.ActiveCharacterJobData.Lv; + partyMember.CharacterListElement.OnlineStatus = Character.OnlineStatus; + partyMember.CharacterListElement.unk2 = 1; + partyMember.MemberType = 1; + partyMember.MemberIndex = (byte) Party.Members.IndexOf(this); + partyMember.IsLeader = Character.Id == Party.Leader.Character.Id; + partyMember.JoinState = JoinState.On; + return partyMember; + } + + public Packet AsContextPacket() + { + S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(Character); + partyPlayerContextNtc.Context.Base.MemberIndex = Party.Members.IndexOf(this); + StructurePacket packet = new StructurePacket(partyPlayerContextNtc); + return packet; + } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs index ad34726df..3cd850bfb 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs @@ -60,6 +60,7 @@ public override void Handle(GameClient client, StructurePacket x.AsCDataPartyMember()) + .ToList(); + newParty.SendToAll(partyJoinNtc); // Send party player context NTCs to the new member for(byte i = 0; i < newParty.Members.Count; i++) { IPartyMember member = newParty.Members[i]; - S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(member.Character); - partyPlayerContextNtc.Context.Base.MemberIndex = i; - newParty.SendToAll(partyPlayerContextNtc); + newParty.SendToAll(member.AsContextPacket()); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgAllHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgAllHandler.cs index 24e8b1720..989ce94ee 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgAllHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgAllHandler.cs @@ -1,6 +1,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -16,7 +17,7 @@ public PartySendBinaryMsgAllHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - foreach(Client otherClient in client.Party.Members) + foreach(IPartyMember otherClient in client.Party.Members) { S2CPartyRecvBinaryMsgAllNtc binaryMsgNtc = new S2CPartyRecvBinaryMsgAllNtc(); binaryMsgNtc.CharacterId = client.Character.Id; diff --git a/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs index f589a6bbd..cc5970cda 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs @@ -2,6 +2,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -17,7 +18,7 @@ public PartySendBinaryMsgHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - foreach(Client otherClient in Server.Clients.Where(x => packet.Structure.CharacterIdList.Select(x => x.Value).Contains(x.Character.Id))) + foreach(IPartyMember otherClient in Server.Clients.Where(x => packet.Structure.CharacterIdList.Select(x => x.Value).Contains(x.Character.Id))) { S2CPartyRecvBinaryMsgNtc binaryMsgNtc = new S2CPartyRecvBinaryMsgNtc(); binaryMsgNtc.CharacterId = client.Character.Id; diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index 57aacbdbe..bc5cecc6e 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -976,25 +976,8 @@ public override void Handle(GameClient client, StructurePacket(TResStruct res) where TResStruct : class, IPacketStructure, new(); void Send(Packet packet); } diff --git a/Arrowgene.Ddon.Shared/Model/Party.cs b/Arrowgene.Ddon.Shared/Model/Party.cs index 54d1cc7b4..bb159ee6a 100644 --- a/Arrowgene.Ddon.Shared/Model/Party.cs +++ b/Arrowgene.Ddon.Shared/Model/Party.cs @@ -27,6 +27,11 @@ public Party() public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() { StructurePacket packet = new StructurePacket(res); + SendToAll(packet); + } + + public void SendToAll(Packet packet) + { foreach(IPartyMember member in Members) { member.Send(packet); } diff --git a/Arrowgene.Ddon.Shared/Model/Pawn.cs b/Arrowgene.Ddon.Shared/Model/Pawn.cs index 161d868d5..78bb9a781 100644 --- a/Arrowgene.Ddon.Shared/Model/Pawn.cs +++ b/Arrowgene.Ddon.Shared/Model/Pawn.cs @@ -1,4 +1,6 @@ using System.Collections.Generic; +using Arrowgene.Ddon.Shared.Entity; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; @@ -26,6 +28,33 @@ public Pawn() public List PawnReactionList { get; set; } public List SpSkillList { get; set; } + public CDataPartyMember AsCDataPartyMember() + { + CDataPartyMember partyMember = new CDataPartyMember(); + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = Owner.Character.Id; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = Character.FirstName; + partyMember.CharacterListElement.CurrentJobBaseInfo.Job = Character.Job; + partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte) Character.ActiveCharacterJobData.Lv; + partyMember.MemberType = 2; + partyMember.MemberIndex = Party.Members.IndexOf(this); + partyMember.PawnId = Character.Id; + partyMember.IsLeader = false; + partyMember.IsPawn = true; + partyMember.IsPlayEntry = false; + partyMember.JoinState = JoinState.On; + partyMember.AnyValueList = new byte[] {0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2}; // Taken from pcaps + partyMember.SessionStatus = 0; + return partyMember; + } + + public Packet AsContextPacket() + { + S2CContextGetPartyMypawnContextNtc mypawnContextNtc = new S2CContextGetPartyMypawnContextNtc(this); + mypawnContextNtc.Context.Base.MemberIndex = Party.Members.IndexOf(this); + StructurePacket packet = new StructurePacket(mypawnContextNtc); + return packet; + } + public void Send(Packet packet) { // Do nothing From 0d5467ada5f94a965b7082b551a21a075d8a6312 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 15 Sep 2022 17:54:52 +0800 Subject: [PATCH 19/72] logging for bound ports, system environment and warning --- Arrowgene.Ddon.Cli/Command/ServerCommand.cs | 25 ++++++++++++++- Arrowgene.Ddon.Cli/Setting.cs | 4 +-- .../GameServerSetting.cs | 5 ++- .../LoginServerSetting.cs | 1 + Arrowgene.Ddon.Server/DdonServer.cs | 1 + Arrowgene.Ddon.Server/ServerSetting.cs | 2 +- Arrowgene.Ddon.WebServer/DdonWebServer.cs | 31 ++++++++++++++++--- 7 files changed, 56 insertions(+), 13 deletions(-) diff --git a/Arrowgene.Ddon.Cli/Command/ServerCommand.cs b/Arrowgene.Ddon.Cli/Command/ServerCommand.cs index f424f049c..e173bbdcc 100644 --- a/Arrowgene.Ddon.Cli/Command/ServerCommand.cs +++ b/Arrowgene.Ddon.Cli/Command/ServerCommand.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using System.IO; using System.Threading; using Arrowgene.Ddon.Database; @@ -31,6 +32,28 @@ public class ServerCommand : ICommand public CommandResultType Run(CommandParameter parameter) { + Logger.Info("*** NOTICE ***"); + Logger.Info("This software is and always will be free of charge available at:"); + Logger.Info("https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline"); + Logger.Info($"***{Environment.NewLine}"); + + Logger.Info("*** WARNING ***"); + Logger.Info("This software listens on ports for incoming requests and processes them,"); + Logger.Info("serves files via http/https protocol and exposes APIs."); + Logger.Info("All of the above happens with no to limited authentication required."); + Logger.Info("Please be aware that it may expose or put your system at risk"); + Logger.Info($"***{Environment.NewLine}"); + + Logger.Info($"Startup: {DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture)}"); + Logger.Info($"OS: {Environment.OSVersion}"); + Logger.Info($"x64 OS: {Environment.Is64BitOperatingSystem}"); + Logger.Info($"Processors: {Environment.ProcessorCount}"); + Logger.Info($".NET Version: {Environment.Version}"); + Logger.Info($"x64 Process: {Environment.Is64BitProcess}"); + Logger.Info($"CurrentDirectory: {Environment.CurrentDirectory}"); + Logger.Info($"ApplicationDirectory: {Util.ExecutingDirectory()}"); + Logger.Info($"RelativeApplicationDirectory: {Util.RelativeExecutingDirectory()}"); + bool isService = parameter.Switches.Contains("--service"); if (_setting == null) @@ -112,7 +135,7 @@ public CommandResultType Run(CommandParameter parameter) waitHandle.WaitOne(); return CommandResultType.Exit; } - + return CommandResultType.Completed; } diff --git a/Arrowgene.Ddon.Cli/Setting.cs b/Arrowgene.Ddon.Cli/Setting.cs index 04e55227a..8d07dada2 100644 --- a/Arrowgene.Ddon.Cli/Setting.cs +++ b/Arrowgene.Ddon.Cli/Setting.cs @@ -1,11 +1,9 @@ -using System.Collections.Generic; -using System.IO; +using System.IO; using System.Runtime.Serialization; using Arrowgene.Ddon.Database; using Arrowgene.Ddon.GameServer; using Arrowgene.Ddon.LoginServer; using Arrowgene.Ddon.Shared; -using Arrowgene.Ddon.Shared.Network; using Arrowgene.Ddon.WebServer; namespace Arrowgene.Ddon.Cli diff --git a/Arrowgene.Ddon.GameServer/GameServerSetting.cs b/Arrowgene.Ddon.GameServer/GameServerSetting.cs index ff209b339..2260fd72a 100644 --- a/Arrowgene.Ddon.GameServer/GameServerSetting.cs +++ b/Arrowgene.Ddon.GameServer/GameServerSetting.cs @@ -1,7 +1,5 @@ -using System.IO; -using System.Runtime.Serialization; +using System.Runtime.Serialization; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Shared; namespace Arrowgene.Ddon.GameServer { @@ -15,6 +13,7 @@ public GameServerSetting() ServerSetting = new ServerSetting(); ServerSetting.ServerPort = 52000; ServerSetting.Name = "Game"; + ServerSetting.ServerSocketSettings.Identity = "Game"; } public GameServerSetting(GameServerSetting setting) diff --git a/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs b/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs index 2100759ed..16e7fea53 100644 --- a/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs +++ b/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs @@ -39,6 +39,7 @@ public LoginServerSetting() ServerSetting = new ServerSetting(); ServerSetting.ServerPort = 52100; ServerSetting.Name = "Login"; + ServerSetting.ServerSocketSettings.Identity = "Login"; AccountRequired = false; diff --git a/Arrowgene.Ddon.Server/DdonServer.cs b/Arrowgene.Ddon.Server/DdonServer.cs index b70f616ac..f9d30fd56 100644 --- a/Arrowgene.Ddon.Server/DdonServer.cs +++ b/Arrowgene.Ddon.Server/DdonServer.cs @@ -68,6 +68,7 @@ public DdonServer(ServerSetting setting, IDatabase database, AssetRepository ass public virtual void Start() { + Logger.Info($"[{_setting.ServerSocketSettings.Identity}] Listening: {_server.IpAddress}:{_server.Port}"); _server.Start(); } diff --git a/Arrowgene.Ddon.Server/ServerSetting.cs b/Arrowgene.Ddon.Server/ServerSetting.cs index 2bc0c2348..49ab1cb7f 100644 --- a/Arrowgene.Ddon.Server/ServerSetting.cs +++ b/Arrowgene.Ddon.Server/ServerSetting.cs @@ -33,7 +33,7 @@ public ServerSetting() { ListenIpAddress = IPAddress.Any; ServerPort = 52100; - Name = "Unknown"; + Name = ""; LogLevel = 0; LogUnknownPackets = true; LogOutgoingPackets = true; diff --git a/Arrowgene.Ddon.WebServer/DdonWebServer.cs b/Arrowgene.Ddon.WebServer/DdonWebServer.cs index b838d85fd..cc37f638b 100644 --- a/Arrowgene.Ddon.WebServer/DdonWebServer.cs +++ b/Arrowgene.Ddon.WebServer/DdonWebServer.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Net; +using System.Threading.Tasks; using Arrowgene.Ddon.Database; using Arrowgene.Logging; using Arrowgene.WebServer; @@ -27,18 +28,38 @@ public DdonWebServer(WebServerSetting setting, IDatabase database) _webService = new WebService(core); IFileProvider webFileProvider = new PhysicalFileProvider(_setting.WebSetting.WebFolder); + Logger.Info($"Serving Directory: {_setting.WebSetting.WebFolder}"); _webService.AddMiddleware(new StaticFileMiddleware("", webFileProvider)); - _webService.AddRoute(new IndexRoute()); - _webService.AddRoute(new AccountRoute(_database)); + AddRoute(new IndexRoute()); + AddRoute(new AccountRoute(_database)); } - public void AddRoute(IWebRoute route) => _webService.AddRoute(route); + public void AddRoute(IWebRoute route) + { + Logger.Info($"Registered Route: {route.Route}"); + _webService.AddRoute(route); + } public async Task Start() { + // TODO update `Arrowgene.WebServer` to expose bound ports after startup, expose route METHOD + // current implementations does not allow to specify interface + // uses IPAddress.IPv6Any or IPAddress.Any + foreach (uint port in _setting.WebSetting.HttpPorts) + { + Logger.Info($"Listening: {IPAddress.Any}:{port}"); + // Logger.Info($"Listening: {IPAddress.IPv6Any}:{port}"); + } + + if (_setting.WebSetting.HttpsEnabled) + { + Logger.Info($"Listening: {IPAddress.Any}:{_setting.WebSetting.HttpsPort}"); + // Logger.Info($"Listening: {IPAddress.IPv6Any}:{_setting.WebSetting.HttpsPort}"); + } + await _webService.Start(); - Logger.Info($"Running Web Server http://localhost/web/index.html"); + // only returns once webserver stopped } public async Task Stop() From c803f90c3542d7dc986ad8da102c283d3c9bcb31 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 15 Sep 2022 18:05:22 +0800 Subject: [PATCH 20/72] print game server entries --- Arrowgene.Ddon.Cli/Command/ServerCommand.cs | 5 +++-- .../Handler/ClientDecideCharacterIdHandler.cs | 18 ++++++++++++------ Arrowgene.Ddon.WebServer/DdonWebServer.cs | 3 ++- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Arrowgene.Ddon.Cli/Command/ServerCommand.cs b/Arrowgene.Ddon.Cli/Command/ServerCommand.cs index e173bbdcc..419ec2466 100644 --- a/Arrowgene.Ddon.Cli/Command/ServerCommand.cs +++ b/Arrowgene.Ddon.Cli/Command/ServerCommand.cs @@ -7,6 +7,7 @@ using Arrowgene.Ddon.LoginServer; using Arrowgene.Ddon.Rpc.Web; using Arrowgene.Ddon.Shared; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.WebServer; using Arrowgene.Logging; @@ -36,14 +37,14 @@ public CommandResultType Run(CommandParameter parameter) Logger.Info("This software is and always will be free of charge available at:"); Logger.Info("https://github.com/sebastian-heinz/Arrowgene.DragonsDogmaOnline"); Logger.Info($"***{Environment.NewLine}"); - + Logger.Info("*** WARNING ***"); Logger.Info("This software listens on ports for incoming requests and processes them,"); Logger.Info("serves files via http/https protocol and exposes APIs."); Logger.Info("All of the above happens with no to limited authentication required."); Logger.Info("Please be aware that it may expose or put your system at risk"); Logger.Info($"***{Environment.NewLine}"); - + Logger.Info($"Startup: {DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture)}"); Logger.Info($"OS: {Environment.OSVersion}"); Logger.Info($"x64 OS: {Environment.Is64BitOperatingSystem}"); diff --git a/Arrowgene.Ddon.LoginServer/Handler/ClientDecideCharacterIdHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/ClientDecideCharacterIdHandler.cs index f62b56d87..841fb0a38 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/ClientDecideCharacterIdHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/ClientDecideCharacterIdHandler.cs @@ -19,6 +19,12 @@ public class ClientDecideCharacterIdHandler : StructurePacketHandler packet) @@ -52,11 +58,11 @@ public override void Handle(LoginClient client, StructurePacket packet.Structure.RotationServerId) - // { - // serverList = serverLists[packet.Structure.RotationServerId]; - // } - // else - // TODO figure out RotationServerId, at the moment always value 2? + // { + // serverList = serverLists[packet.Structure.RotationServerId]; + // } + // else + // TODO figure out RotationServerId, at the moment always value 2? if (serverLists.Count > 0) { serverList = serverLists[0]; @@ -68,7 +74,7 @@ public override void Handle(LoginClient client, StructurePacket enumerate files and folders served, remove _root // current implementations does not allow to specify interface // uses IPAddress.IPv6Any or IPAddress.Any foreach (uint port in _setting.WebSetting.HttpPorts) From d7281f5e02bebdc036a21c25967ead5c5a032a0c Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Sat, 17 Sep 2022 19:51:02 +0800 Subject: [PATCH 21/72] update web server --- Arrowgene.Ddon.Cli/Command/ServerCommand.cs | 1 - .../Arrowgene.Ddon.Rpc.Web.csproj | 2 +- .../Arrowgene.Ddon.Test.csproj | 2 +- .../Arrowgene.Ddon.WebServer.csproj | 2 +- Arrowgene.Ddon.WebServer/DdonWebServer.cs | 47 ++++++++++++------- Arrowgene.Ddon.WebServer/WebServerSetting.cs | 25 ++++++---- 6 files changed, 47 insertions(+), 32 deletions(-) diff --git a/Arrowgene.Ddon.Cli/Command/ServerCommand.cs b/Arrowgene.Ddon.Cli/Command/ServerCommand.cs index 419ec2466..d91050c20 100644 --- a/Arrowgene.Ddon.Cli/Command/ServerCommand.cs +++ b/Arrowgene.Ddon.Cli/Command/ServerCommand.cs @@ -7,7 +7,6 @@ using Arrowgene.Ddon.LoginServer; using Arrowgene.Ddon.Rpc.Web; using Arrowgene.Ddon.Shared; -using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.WebServer; using Arrowgene.Logging; diff --git a/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj b/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj index b9a325e8f..22e9736a4 100644 --- a/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj +++ b/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj @@ -14,6 +14,6 @@ - + \ No newline at end of file diff --git a/Arrowgene.Ddon.Test/Arrowgene.Ddon.Test.csproj b/Arrowgene.Ddon.Test/Arrowgene.Ddon.Test.csproj index d720140ce..fbb3ef86b 100644 --- a/Arrowgene.Ddon.Test/Arrowgene.Ddon.Test.csproj +++ b/Arrowgene.Ddon.Test/Arrowgene.Ddon.Test.csproj @@ -11,7 +11,7 @@ 10 - + all diff --git a/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj b/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj index 04242a3d3..47c9ea812 100644 --- a/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj +++ b/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj @@ -11,7 +11,7 @@ - + diff --git a/Arrowgene.Ddon.WebServer/DdonWebServer.cs b/Arrowgene.Ddon.WebServer/DdonWebServer.cs index 7218f18bc..b8e618535 100644 --- a/Arrowgene.Ddon.WebServer/DdonWebServer.cs +++ b/Arrowgene.Ddon.WebServer/DdonWebServer.cs @@ -1,5 +1,4 @@ -using System.Net; -using System.Threading.Tasks; +using System.Threading.Tasks; using Arrowgene.Ddon.Database; using Arrowgene.Logging; using Arrowgene.WebServer; @@ -17,54 +16,66 @@ public class DdonWebServer private readonly WebService _webService; private readonly WebServerSetting _setting; - private readonly IDatabase _database; + private bool _running; public DdonWebServer(WebServerSetting setting, IDatabase database) { _setting = setting; - _database = database; + _running = false; IWebServerCore core = new KestrelWebServer(_setting.WebSetting); _webService = new WebService(core); - IFileProvider webFileProvider = new PhysicalFileProvider(_setting.WebSetting.WebFolder); Logger.Info($"Serving Directory: {_setting.WebSetting.WebFolder}"); - _webService.AddMiddleware(new StaticFileMiddleware("", webFileProvider)); + var staticFile = new StaticFileMiddleware(new PhysicalFileProvider(_setting.WebSetting.WebFolder)); + foreach (string servingFile in staticFile.GetServingFilesUrl(_setting.PublicWebEndPoint)) + { + Logger.Info(servingFile); + } + + _webService.AddMiddleware(staticFile); AddRoute(new IndexRoute()); - AddRoute(new AccountRoute(_database)); + AddRoute(new AccountRoute(database)); } public void AddRoute(IWebRoute route) { - Logger.Info($"Registered Route: {route.Route}"); _webService.AddRoute(route); + if (_running) + { + Logger.Info($"Registered new route `{route.Route}`, now serving endpoints:"); + foreach (WebRequestMethod method in route.GetMethods()) + { + Logger.Info($"[{method}] {_setting.PublicWebEndPoint.GetUrl()}{route.Route}"); + } + } } public async Task Start() { - // TODO update `Arrowgene.WebServer` to expose bound ports after startup, expose route METHOD, - // TODO static file server -> enumerate files and folders served, remove _root - // current implementations does not allow to specify interface - // uses IPAddress.IPv6Any or IPAddress.Any - foreach (uint port in _setting.WebSetting.HttpPorts) + Logger.Info($"Serving Routes:"); + foreach (string servingRoute in _webService.GetServingRoutes(_setting.PublicWebEndPoint)) { - Logger.Info($"Listening: {IPAddress.Any}:{port}"); - // Logger.Info($"Listening: {IPAddress.IPv6Any}:{port}"); + Logger.Info(servingRoute); } - if (_setting.WebSetting.HttpsEnabled) + _running = true; + + foreach (WebEndPoint webEndPoint in _setting.WebSetting.WebEndpoints) { - Logger.Info($"Listening: {IPAddress.Any}:{_setting.WebSetting.HttpsPort}"); - // Logger.Info($"Listening: {IPAddress.IPv6Any}:{_setting.WebSetting.HttpsPort}"); + Logger.Info($"Listening: {webEndPoint.IpAddress}:{webEndPoint.Port}"); } await _webService.Start(); // only returns once webserver stopped + + _running = false; } public async Task Stop() { + _running = false; await _webService.Stop(); } } diff --git a/Arrowgene.Ddon.WebServer/WebServerSetting.cs b/Arrowgene.Ddon.WebServer/WebServerSetting.cs index de34a6874..7ae5fde26 100644 --- a/Arrowgene.Ddon.WebServer/WebServerSetting.cs +++ b/Arrowgene.Ddon.WebServer/WebServerSetting.cs @@ -1,9 +1,7 @@ -using System.Collections.Generic; -using System.IO; +using System.IO; +using System.Net; using System.Runtime.Serialization; -using Arrowgene.Ddon.Database; using Arrowgene.Ddon.Shared; -using Arrowgene.Ddon.Shared.Network; using Arrowgene.WebServer; namespace Arrowgene.Ddon.WebServer @@ -13,21 +11,28 @@ public class WebServerSetting { public WebServerSetting() { + PublicWebEndPoint = new WebEndPoint(); + PublicWebEndPoint.Port = 52099; + PublicWebEndPoint.IpAddress = IPAddress.Loopback; + WebSetting = new WebSetting(); WebSetting.ServerHeader = ""; WebSetting.WebFolder = Path.Combine(Util.ExecutingDirectory(), "Files/www"); - WebSetting.HttpPorts = new List() {52099}; - WebSetting.HttpsEnabled = false; - WebSetting.HttpsPort = 443; - WebSetting.HttpsCertPath = ""; - WebSetting.HttpsCertPw = ""; + + WebSetting.WebEndpoints.Clear(); + WebEndPoint httpEndpoint = new WebEndPoint(); + httpEndpoint.Port = 52099; + httpEndpoint.IpAddress = IPAddress.Any; + WebSetting.WebEndpoints.Add(httpEndpoint); } public WebServerSetting(WebServerSetting webServerSetting) { + PublicWebEndPoint = new WebEndPoint(webServerSetting.PublicWebEndPoint); WebSetting = new WebSetting(webServerSetting.WebSetting); } - [DataMember(Order = 1)] public WebSetting WebSetting { get; set; } + [DataMember(Order = 1)] public WebEndPoint PublicWebEndPoint { get; set; } + [DataMember(Order = 2)] public WebSetting WebSetting { get; set; } } } From e120a84ad0b82b68182bce2e7844c43202649ecb Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Sat, 17 Sep 2022 20:18:03 +0800 Subject: [PATCH 22/72] prevent parallel token processing --- .../Handler/ClientLoginHandler.cs | 66 +++++++++++++++++-- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs index 3b3e32491..37f5e4041 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; @@ -13,20 +14,34 @@ public class ClientLoginHandler : StructurePacketHandler(typeof(ClientLoginHandler)); private readonly LoginServerSetting _setting; + private readonly object _tokensInFLightLock; + private readonly HashSet _tokensInFlight; public ClientLoginHandler(DdonLoginServer server) : base(server) { _setting = server.Setting; + _tokensInFLightLock = new object(); + _tokensInFlight = new HashSet(); } public override void Handle(LoginClient client, StructurePacket packet) { - Logger.Debug(client, $"Received LoginToken:{packet.Structure.OneTimeToken} for platform:{packet.Structure.PlatformType}"); + string oneTimeToken = packet.Structure.OneTimeToken; + + Logger.Debug(client, $"Received LoginToken:{oneTimeToken} for platform:{packet.Structure.PlatformType}"); + L2CLoginRes res = new L2CLoginRes(); - res.OneTimeToken = packet.Structure.OneTimeToken; + res.OneTimeToken = oneTimeToken; + if (!LockToken(oneTimeToken)) + { + Logger.Error(client, $"OneTimeToken {oneTimeToken} is in process."); + res.Error = 1; + client.Send(res); + return; + } - Account account = Database.SelectAccountByLoginToken(packet.Structure.OneTimeToken); + Account account = Database.SelectAccountByLoginToken(oneTimeToken); if (_setting.AccountRequired) { if (account == null) @@ -34,6 +49,7 @@ public override void Handle(LoginClient client, StructurePacket pac Logger.Error(client, "Invalid OneTimeToken"); res.Error = 1; client.Send(res); + ReleaseToken(oneTimeToken); return; } @@ -43,6 +59,7 @@ public override void Handle(LoginClient client, StructurePacket pac Logger.Error(client, $"OneTimeToken Created at: {account.LoginTokenCreated} expired."); res.Error = 1; client.Send(res); + ReleaseToken(oneTimeToken); return; } } @@ -52,22 +69,23 @@ public override void Handle(LoginClient client, StructurePacket pac // assume token as account name & password if (account == null) { - account = Database.SelectAccountByName(packet.Structure.OneTimeToken); + account = Database.SelectAccountByName(oneTimeToken); if (account == null) { - account = Database.CreateAccount(packet.Structure.OneTimeToken, packet.Structure.OneTimeToken, packet.Structure.OneTimeToken); + account = Database.CreateAccount(oneTimeToken, oneTimeToken, oneTimeToken); if (account == null) { Logger.Error(client, "Could not create account from OneTimeToken, choose another token"); res.Error = 2; client.Send(res); + ReleaseToken(oneTimeToken); return; } Logger.Info(client, "Created new account from OneTimeToken"); } - account.LoginToken = packet.Structure.OneTimeToken; + account.LoginToken = oneTimeToken; account.LoginTokenCreated = DateTime.Now; } } @@ -80,6 +98,42 @@ public override void Handle(LoginClient client, StructurePacket pac Logger.Info(client, "Logged In"); client.Send(res); + + ReleaseToken(oneTimeToken); + } + + private void ReleaseToken(string token) + { + lock (_tokensInFLightLock) + { + if (!_tokensInFlight.Contains(token)) + { + return; + } + + _tokensInFlight.Remove(token); + } + } + + /// + /// Locks a token, which can not be used in any other thread until released + /// + /// + /// true if token was locked, false if token already locked + private bool LockToken(string token) + { + lock (_tokensInFLightLock) + { + if (_tokensInFlight.Contains(token)) + { + return false; + } + else + { + _tokensInFlight.Add(token); + return true; + } + } } } } From 1d6ff2b65b4039fa6df7be64483e8622c322a92d Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Sat, 17 Sep 2022 20:40:54 +0800 Subject: [PATCH 23/72] database flag for logged in account --- .../Files/Database/Script/schema_sqlite.sql | 1 + Arrowgene.Ddon.Database/Model/Account.cs | 2 +- .../Sql/Core/DdonSqlDbAccount.cs | 31 +++++++++---------- .../Handler/ClientLoginHandler.cs | 21 ++++++++----- 4 files changed, 30 insertions(+), 25 deletions(-) diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 4a2f98232..13f8956f0 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -16,6 +16,7 @@ CREATE TABLE IF NOT EXISTS `account` `mail_verified_at` DATETIME DEFAULT NULL, `mail_token` TEXT DEFAULT NULL, `password_token` TEXT DEFAULT NULL, + `logged_in` BIT NOT NULL, `login_token` TEXT DEFAULT NULL, `login_token_created` DATETIME NOT NULL, `state` INTEGER NOT NULL, diff --git a/Arrowgene.Ddon.Database/Model/Account.cs b/Arrowgene.Ddon.Database/Model/Account.cs index 311024b5b..e3553555e 100644 --- a/Arrowgene.Ddon.Database/Model/Account.cs +++ b/Arrowgene.Ddon.Database/Model/Account.cs @@ -11,8 +11,8 @@ public class Account public string Mail { get; set; } public string MailToken { get; set; } public string PasswordToken { get; set; } + public bool LoggedIn { get; set; } public string LoginToken { get; set; } - public DateTime LoginTokenCreated { get; set; } public bool MailVerified { get; set; } public DateTime? MailVerifiedAt { get; set; } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs index ac8476f4c..1d9766888 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs @@ -8,23 +8,17 @@ public abstract partial class DdonSqlDb : SqlDb where TCon : DbConnection where TCom : DbCommand { - private const string SqlInsertAccount = - "INSERT INTO `account` (`name`, `normal_name`, `hash`, `mail`, `mail_verified`, `mail_verified_at`, `mail_token`, `password_token`, `login_token`, `login_token_created`, `state`, `last_login`, `created`) VALUES (@name, @normal_name, @hash, @mail, @mail_verified, @mail_verified_at, @mail_token, @password_token, @login_token, @login_token_created, @state, @last_login, @created);"; - - private const string SqlSelectAccountById = - "SELECT `id`, `name`, `normal_name`, `hash`, `mail`, `mail_verified`, `mail_verified_at`, `mail_token`, `password_token`, `login_token`, `login_token_created`, `state`, `last_login`, `created` FROM `account` WHERE `id`=@id;"; - - private const string SqlSelectAccountByName = - "SELECT `id`, `name`, `normal_name`, `hash`, `mail`, `mail_verified`, `mail_verified_at`, `mail_token`, `password_token`, `login_token`, `login_token_created`, `state`, `last_login`, `created` FROM `account` WHERE `normal_name`=@normal_name;"; - - private const string SqlSelectAccountByLoginToken = - "SELECT `id`, `name`, `normal_name`, `hash`, `mail`, `mail_verified`, `mail_verified_at`, `mail_token`, `password_token`, `login_token`, `login_token_created`, `state`, `last_login`, `created` FROM `account` WHERE `login_token`=@login_token;"; - - private const string SqlUpdateAccount = - "UPDATE `account` SET `name`=@name, `normal_name`=@normal_name, `hash`=@hash, `mail`=@mail, `mail_verified`=@mail_verified, `mail_verified_at`=@mail_verified_at, `mail_token`=@mail_token, `password_token`=@password_token, `login_token`=@login_token, `login_token_created`=@login_token_created, `state`=@state, `last_login`=@last_login, `created`=@created WHERE `id`=@id;"; - - private const string SqlDeleteAccount = - "DELETE FROM `account` WHERE `id`=@id;"; + private static readonly string[] AccountFields = new string[] + { + "name", "normal_name", "hash", "mail", "mail_verified", "mail_verified_at", "mail_token", "password_token", "logged_in", "login_token", "login_token_created", "state", "last_login", "created" + }; + + private static readonly string SqlInsertAccount = $"INSERT INTO `account` ({BuildQueryField(AccountFields)}) VALUES ({BuildQueryInsert(AccountFields)});"; + private static readonly string SqlSelectAccountById = $"SELECT `id`, {BuildQueryField(AccountFields)} FROM `account` WHERE `id`=@id;"; + private static readonly string SqlSelectAccountByName = $"SELECT `id`, {BuildQueryField(AccountFields)} FROM `account` WHERE `normal_name`=@normal_name;"; + private static readonly string SqlSelectAccountByLoginToken = $"SELECT `id`, {BuildQueryField(AccountFields)} FROM `account` WHERE `login_token`=@login_token;"; + private static readonly string SqlUpdateAccount = $"UPDATE `account` SET {BuildQueryUpdate(AccountFields)} WHERE `id`=@id;"; + private const string SqlDeleteAccount = "DELETE FROM `account` WHERE `id`=@id;"; public Account CreateAccount(string name, string mail, string hash) { @@ -45,6 +39,7 @@ public Account CreateAccount(string name, string mail, string hash) AddParameter(command, "@mail_verified_at", account.MailVerifiedAt); AddParameter(command, "@mail_token", account.MailToken); AddParameter(command, "@password_token", account.PasswordToken); + AddParameter(command, "@logged_in", account.LoggedIn); AddParameter(command, "@login_token", account.LoginToken); AddParameter(command, "@login_token_created", account.LoginTokenCreated); AddParameterEnumInt32(command, "@state", account.State); @@ -117,6 +112,7 @@ public bool UpdateAccount(Account account) AddParameter(command, "@mail_verified_at", account.MailVerifiedAt); AddParameter(command, "@mail_token", account.MailToken); AddParameter(command, "@password_token", account.PasswordToken); + AddParameter(command, "@logged_in", account.LoggedIn); AddParameter(command, "@login_token", account.LoginToken); AddParameter(command, "@login_token_created", account.LoginTokenCreated); AddParameterEnumInt32(command, "@state", account.State); @@ -146,6 +142,7 @@ private Account ReadAccount(DbDataReader reader) account.MailVerifiedAt = GetDateTimeNullable(reader, "mail_verified_at"); account.MailToken = GetStringNullable(reader, "mail_token"); account.PasswordToken = GetStringNullable(reader, "password_token"); + account.LoggedIn = GetBoolean(reader, "logged_in"); account.LoginToken = GetStringNullable(reader, "login_token"); account.LoginTokenCreated = GetDateTime(reader, "login_token_created"); account.State = (AccountStateType) GetInt32(reader, "state"); diff --git a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs index 37f5e4041..aa5e3be09 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs @@ -29,8 +29,7 @@ public override void Handle(LoginClient client, StructurePacket pac string oneTimeToken = packet.Structure.OneTimeToken; Logger.Debug(client, $"Received LoginToken:{oneTimeToken} for platform:{packet.Structure.PlatformType}"); - - + L2CLoginRes res = new L2CLoginRes(); res.OneTimeToken = oneTimeToken; if (!LockToken(oneTimeToken)) @@ -53,6 +52,13 @@ public override void Handle(LoginClient client, StructurePacket pac return; } + + // TODO check after + if (account.LoggedIn) + { + // already logged in + } + TimeSpan loginTokenAge = account.LoginTokenCreated - DateTime.Now; if (loginTokenAge > TimeSpan.FromDays(1)) // TODO convert to setting { @@ -62,6 +68,8 @@ public override void Handle(LoginClient client, StructurePacket pac ReleaseToken(oneTimeToken); return; } + // TODO check after + } else { @@ -91,6 +99,7 @@ public override void Handle(LoginClient client, StructurePacket pac } account.LastLogin = DateTime.Now; + account.LoggedIn = true; Database.UpdateAccount(account); client.Account = account; @@ -128,11 +137,9 @@ private bool LockToken(string token) { return false; } - else - { - _tokensInFlight.Add(token); - return true; - } + + _tokensInFlight.Add(token); + return true; } } } From 1cd94090134b524e01d1bdbfa2f10644e3edf4cd Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 19 Sep 2022 18:54:18 +0200 Subject: [PATCH 24/72] chat command --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 29 +++++++++++ Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs | 32 +++++++++++++ Arrowgene.Ddon.Rpc.Web/RpcWebServer.cs | 1 + Arrowgene.Ddon.Rpc/Command/ChatCommand.cs | 34 +++++++++++++ Arrowgene.Ddon.Shared/Util.cs | 48 +++++++++++++++++++ 5 files changed, 144 insertions(+) create mode 100644 Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs create mode 100644 Arrowgene.Ddon.Rpc/Command/ChatCommand.cs diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index 4cae55f38..31c0be893 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -1,8 +1,10 @@ +using System; using System.Collections.Generic; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Model; using Arrowgene.Logging; +using static Arrowgene.Ddon.Shared.Util; namespace Arrowgene.Ddon.GameServer.Chat { @@ -10,15 +12,21 @@ public class ChatManager { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(ChatManager)); + public IEnumerable ChatMessageLog { get => _chatMessageLog; } + private readonly List _handler; private readonly GameRouter _router; private readonly DdonGameServer _server; + private readonly RollingList _chatMessageLog; + + public event EventHandler ChatMessageEvent; public ChatManager(DdonGameServer server, GameRouter router) { _server = server; _router = router; _handler = new List(); + _chatMessageLog = new RollingList(100); // TODO: Move to server config } public void AddHandler(IChatHandler handler) @@ -40,6 +48,14 @@ public void Handle(GameClient client, ChatMessage message) return; } + ChatMessageLogEntry logEntry = new ChatMessageLogEntry(message); + _chatMessageLog.Add(logEntry); + + // Event will be null if there are no subscribers + EventHandler raiseEvent = ChatMessageEvent; + if (raiseEvent != null) + raiseEvent(this, logEntry); + List responses = new List(); foreach (IChatHandler handler in _handler) { @@ -85,5 +101,18 @@ private void Deliver(GameClient client, ChatResponse response) _router.Send(response); } + + + public class ChatMessageLogEntry : EventArgs + { + public ChatMessageLogEntry(ChatMessage chatMessage) + { + DateTime = DateTime.Now; + ChatMessage = chatMessage; + } + + public DateTime DateTime { get; set; } + public ChatMessage ChatMessage { get; set; } + } } } diff --git a/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs b/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs new file mode 100644 index 000000000..30ca34a45 --- /dev/null +++ b/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs @@ -0,0 +1,32 @@ +using System.Threading.Tasks; +using Arrowgene.Ddon.Rpc.Command; +using Arrowgene.WebServer; + +namespace Arrowgene.Ddon.Rpc.Web.Route +{ + public class ChatRoute : RpcWebRoute + { + public override string Route => "/rpc/chat"; + + public ChatRoute(IRpcExecuter executer) : base(executer) + { + } + + public override async Task Get(WebRequest request) + { + WebResponse response = new WebResponse(); + ChatCommand chat = new ChatCommand(); + RpcCommandResult result = Executer.Execute(chat); + if (!result.Success) + { + response.StatusCode = 500; + await response.WriteAsync("Error"); + return response; + } + response.StatusCode = 200; + await response.WriteJsonAsync(chat.ChatMessageLog); + return response; + } + + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Rpc.Web/RpcWebServer.cs b/Arrowgene.Ddon.Rpc.Web/RpcWebServer.cs index 495a0c9b9..ed9394b01 100644 --- a/Arrowgene.Ddon.Rpc.Web/RpcWebServer.cs +++ b/Arrowgene.Ddon.Rpc.Web/RpcWebServer.cs @@ -20,6 +20,7 @@ public void Init() { _webServer.AddRoute(new SpawnRoute(this)); _webServer.AddRoute(new InfoRoute(this)); + _webServer.AddRoute(new ChatRoute(this)); } } } diff --git a/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs b/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs new file mode 100644 index 000000000..71cf12cc9 --- /dev/null +++ b/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs @@ -0,0 +1,34 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using Arrowgene.Ddon.GameServer; +using static Arrowgene.Ddon.GameServer.Chat.ChatManager; + +namespace Arrowgene.Ddon.Rpc.Command +{ + public class ChatCommand : IRpcCommand + { + public string Name => "ChatCommand"; + + public ChatCommand() + { + _since = DateTime.MinValue; + } + + public ChatCommand(DateTime since) + { + _since = since; + } + + public IEnumerable ChatMessageLog { get; set; } + + private DateTime _since; + + public RpcCommandResult Execute(DdonGameServer gameServer) + { + ChatMessageLog = gameServer.ChatManager.ChatMessageLog + .Where(entry => entry.DateTime >= _since); + return new RpcCommandResult(this, true); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Util.cs b/Arrowgene.Ddon.Shared/Util.cs index d4960abe0..de82a3e3f 100644 --- a/Arrowgene.Ddon.Shared/Util.cs +++ b/Arrowgene.Ddon.Shared/Util.cs @@ -1,4 +1,7 @@ using System; +using System.Linq; +using System.Collections; +using System.Collections.Generic; using System.IO; using System.Text; using Arrowgene.Buffers; @@ -335,5 +338,50 @@ public static byte[] ReplaceBytes(byte[] src, byte[] search, byte[] repl) return dst; } + + public class RollingList : IEnumerable + { + public RollingList(int size) + { + _list = new LinkedList(); + MaximumCount = size; + } + + private readonly LinkedList _list = new LinkedList(); + + public int MaximumCount { get; } + public int Count => _list.Count; + + public void Add(T item) + { + if(_list.Count == MaximumCount) + { + _list.RemoveFirst(); + } + + _list.AddLast(item); + } + + public T this[int index] + { + get + { + if (index < 0 || index >= Count) + throw new ArgumentOutOfRangeException(); + + return _list.Skip(index).First(); + } + } + + public IEnumerator GetEnumerator() + { + return _list.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return _list.GetEnumerator(); + } + } } } From 989eaa002c6010a859548761a7e9024723188390 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 19 Sep 2022 19:04:46 +0200 Subject: [PATCH 25/72] context bs that seems to do nothing --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 3 ++ .../Handler/ContextGetSetContextHandler.cs | 12 +++++++- .../Handler/ContextSetContextHandler.cs | 29 +++++++++++++++++++ .../Handler/InstanceEnemyGroupEntryHandler.cs | 29 +++++++++++++++++++ .../Handler/InstanceEnemyGroupLeaveHandler.cs | 22 ++++++++++++++ Arrowgene.Ddon.GameServer/Party.cs | 4 +++ 6 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupEntryHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupLeaveHandler.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 1430cdf94..8d8d8ba92 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -190,6 +190,7 @@ private void LoadPacketHandler() AddHandler(new ConnectionReserveServerHandler(this)); AddHandler(new ContextGetSetContextHandler(this)); + AddHandler(new ContextSetContextHandler(this)); AddHandler(new DailyMissionListGetHandler(this)); AddHandler(new EquipGetCharacterEquipListHandler(this)); @@ -206,6 +207,8 @@ private void LoadPacketHandler() AddHandler(new InnGetStayPriceHandler(this)); AddHandler(new InnStayInnHandler(this)); + AddHandler(new InstanceEnemyGroupEntryHandler(this)); + AddHandler(new InstanceEnemyGroupLeaveHandler(this)); AddHandler(new InstanceEnemyKillHandler(this)); AddHandler(new InstanceExchangeOmInstantKeyValueHandler(this)); AddHandler(new InstanceGetEnemySetListHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs index e9ea24b7c..9de56233f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ContextGetSetContextHandler.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; @@ -40,6 +40,16 @@ public override void Handle(GameClient client, StructurePacket context = client.Party.Contexts[packet.Structure.Base.UniqueId]; + // Send to all or just the host? + client.Party.SendToAll(new S2CContextSetContextNtc() { + Base = context.Item1, + Additional = context.Item2 + }); + } } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs new file mode 100644 index 000000000..c0b88fddd --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs @@ -0,0 +1,29 @@ +using System; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class ContextSetContextHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(ContextSetContextHandler)); + + + public ContextSetContextHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + // Should this be stored and later be sent in the GetSetContextHandler? + // Or should it be sent immediately? + // To the client or to all party? + Tuple context = new Tuple(packet.Structure.Base, packet.Structure.Additional); + client.Party.Contexts.Add(packet.Structure.Base.UniqueId, context); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupEntryHandler.cs b/Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupEntryHandler.cs new file mode 100644 index 000000000..0ba29efea --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupEntryHandler.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; +using Arrowgene.Ddon.GameServer.Enemy; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Crypto; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class InstanceEnemyGroupEntryHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(InstanceEnemyGroupEntryHandler)); + + private readonly EnemyManager _enemyManager; + + public InstanceEnemyGroupEntryHandler(DdonGameServer server) : base(server) + { + _enemyManager = server.EnemyManager; + } + + public override void Handle(GameClient client, StructurePacket packet) + { + // TODO: Something + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupLeaveHandler.cs b/Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupLeaveHandler.cs new file mode 100644 index 000000000..7a4857a96 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/InstanceEnemyGroupLeaveHandler.cs @@ -0,0 +1,22 @@ +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class InstanceEnemyGroupLeaveHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(InstanceEnemyGroupLeaveHandler)); + + public InstanceEnemyGroupLeaveHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + // I don't know what we're supposed to do with this info + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Party.cs b/Arrowgene.Ddon.GameServer/Party.cs index a565e1bff..baa277fb4 100644 --- a/Arrowgene.Ddon.GameServer/Party.cs +++ b/Arrowgene.Ddon.GameServer/Party.cs @@ -1,6 +1,8 @@ +using System; using System.Collections.Generic; using Arrowgene.Ddon.GameServer; using Arrowgene.Ddon.Shared.Entity; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Model @@ -13,12 +15,14 @@ public Party() { Id = ++Instances; // Incase 0 is a reserved ID Members = new List(); + Contexts = new Dictionary>(); } public uint Id { get; set; } public List Members { get; set; } public GameClient Leader { get; set; } public GameClient Host { get; set; } + public Dictionary> Contexts { get; set; } public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() { From 535bd0b198761d860f084cb48f6fdb2300698888 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 19 Sep 2022 22:42:13 +0200 Subject: [PATCH 26/72] ChatCommand "since" query param support --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 10 +++++-- Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs | 27 ++++++++++++++++++- Arrowgene.Ddon.Rpc/Command/InfoCommand.cs | 2 +- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index ff30b0152..daac2c001 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -49,7 +49,7 @@ public void Handle(GameClient client, ChatMessage message) return; } - ChatMessageLogEntry logEntry = new ChatMessageLogEntry(message); + ChatMessageLogEntry logEntry = new ChatMessageLogEntry(client.Character, message); _chatMessageLog.Add(logEntry); // Event will be null if there are no subscribers @@ -108,13 +108,19 @@ private void Deliver(GameClient client, ChatResponse response) public class ChatMessageLogEntry : EventArgs { - public ChatMessageLogEntry(ChatMessage chatMessage) + public ChatMessageLogEntry(Character character, ChatMessage chatMessage) { DateTime = DateTime.Now; + FirstName = character.FirstName; + LastName = character.LastName; + CharacterId = character.Id; ChatMessage = chatMessage; } public DateTime DateTime { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + public uint CharacterId { get; set; } public ChatMessage ChatMessage { get; set; } } } diff --git a/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs b/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs index 30ca34a45..3390aa607 100644 --- a/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs +++ b/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs @@ -1,11 +1,17 @@ +using System.Globalization; +using System; using System.Threading.Tasks; using Arrowgene.Ddon.Rpc.Command; +using Arrowgene.Logging; using Arrowgene.WebServer; +using System.Text.Json; namespace Arrowgene.Ddon.Rpc.Web.Route { public class ChatRoute : RpcWebRoute { + private static readonly ILogger Logger = LogProvider.Logger(typeof(ChatRoute)); + public override string Route => "/rpc/chat"; public ChatRoute(IRpcExecuter executer) : base(executer) @@ -15,7 +21,26 @@ public ChatRoute(IRpcExecuter executer) : base(executer) public override async Task Get(WebRequest request) { WebResponse response = new WebResponse(); - ChatCommand chat = new ChatCommand(); + ChatCommand chat; + if(request.QueryParameter.ContainsKey("since")) + { + string dateString = request.QueryParameter.Get("since"); + try { + chat = new ChatCommand(DateTime.Parse(dateString)); + } + catch(FormatException e) + { + Logger.Error($"Invalid date format: {dateString}"); + response.StatusCode = 400; + await response.WriteAsync("Invalid date format. Dates can be in UTC in a format like this: 2022-09-19T22:04:04.9860144Z"); + return response; + } + } + else + { + chat = new ChatCommand(); + } + RpcCommandResult result = Executer.Execute(chat); if (!result.Success) { diff --git a/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs b/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs index 3011b45d5..96bd8407c 100644 --- a/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs +++ b/Arrowgene.Ddon.Rpc/Command/InfoCommand.cs @@ -28,7 +28,7 @@ public Info() } } - public string Name => "SpawnCommand"; + public string Name => "InfoCommand"; public InfoCommand() { From 03f13c696e435c590225c2883514469b82d55883 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Wed, 21 Sep 2022 00:03:10 +0200 Subject: [PATCH 27/72] ChatPostCommand, post chat messages from RPC --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 51 +++++++-------- Arrowgene.Ddon.GameServer/Chat/ChatMessage.cs | 6 +- .../Chat/ChatResponse.cs | 10 +-- .../Chat/Command/ChatCommandHandler.cs | 9 +++ .../Chat/IChatHandler.cs | 3 +- .../Chat/Log/ChatLogHandler.cs | 9 +++ Arrowgene.Ddon.GameServer/GameRouter.cs | 3 +- .../Handler/LobbyLobbyChatMsgHandler.cs | 1 + Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs | 33 +++++++++- Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs | 63 +++++++++++++++++++ 10 files changed, 154 insertions(+), 34 deletions(-) create mode 100644 Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index daac2c001..d13c164d9 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -1,11 +1,10 @@ using System; -using System.Linq; using System.Collections.Generic; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Model; using Arrowgene.Logging; using static Arrowgene.Ddon.Shared.Util; +using Arrowgene.Ddon.Server.Network; namespace Arrowgene.Ddon.GameServer.Chat { @@ -20,8 +19,6 @@ public class ChatManager private readonly DdonGameServer _server; private readonly RollingList _chatMessageLog; - public event EventHandler ChatMessageEvent; - public ChatManager(DdonGameServer server, GameRouter router) { _server = server; @@ -35,9 +32,9 @@ public void AddHandler(IChatHandler handler) _handler.Add(handler); } - public void Handle(GameClient client, ChatMessage message) + public void Handle(IPartyMember messageSender, ChatMessage message) { - if (client == null) + if (messageSender == null) { Logger.Debug("Client is Null"); return; @@ -45,29 +42,31 @@ public void Handle(GameClient client, ChatMessage message) if (message == null) { - Logger.Debug(client, "Chat Message is Null"); + if(messageSender is GameClient) + { + Logger.Debug(messageSender as GameClient, "Chat Message is Null"); + } + else + { + Logger.Debug("Chat Message is Null"); + } return; } - ChatMessageLogEntry logEntry = new ChatMessageLogEntry(client.Character, message); + ChatMessageLogEntry logEntry = new ChatMessageLogEntry(messageSender.Character, message); _chatMessageLog.Add(logEntry); - // Event will be null if there are no subscribers - EventHandler raiseEvent = ChatMessageEvent; - if (raiseEvent != null) - raiseEvent(this, logEntry); - List responses = new List(); foreach (IChatHandler handler in _handler) { - handler.Handle(client, message, responses); + handler.Handle(messageSender, message, responses); } if (message.Deliver) { // deliver original chat message - ChatResponse response = ChatResponse.FromMessage(client, message); - Deliver(client, response); + ChatResponse response = ChatResponse.FromMessage(messageSender, message); + Deliver(messageSender, response); } foreach (ChatResponse response in responses) @@ -78,13 +77,11 @@ public void Handle(GameClient client, ChatMessage message) continue; } - Deliver(client, response); + Deliver(messageSender, response); } - - client.Send(new S2CLobbyChatMsgRes()); } - private void Deliver(GameClient client, ChatResponse response) + private void Deliver(IPartyMember messageSender, ChatResponse response) { switch (response.Type) { @@ -93,12 +90,11 @@ private void Deliver(GameClient client, ChatResponse response) response.Recipients.AddRange(_server.Clients); break; case LobbyChatMsgType.Party: - response.Recipients.AddRange(client.Party.Members - .Where(x => x is GameClient) - .Select(x => x as GameClient)); + if(messageSender.Party != null) + response.Recipients.AddRange(messageSender.Party.Members); break; default: - response.Recipients.Add(client); + response.Recipients.Add(messageSender); break; } @@ -106,8 +102,13 @@ private void Deliver(GameClient client, ChatResponse response) } - public class ChatMessageLogEntry : EventArgs + public class ChatMessageLogEntry { + // For the JSON deserializer + public ChatMessageLogEntry() + { + } + public ChatMessageLogEntry(Character character, ChatMessage chatMessage) { DateTime = DateTime.Now; diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatMessage.cs b/Arrowgene.Ddon.GameServer/Chat/ChatMessage.cs index 3e8b90d58..591ff11fd 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatMessage.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatMessage.cs @@ -4,6 +4,10 @@ namespace Arrowgene.Ddon.GameServer.Chat { public class ChatMessage { + public ChatMessage() + { + } + public ChatMessage(LobbyChatMsgType messageType, byte unk2, uint unk3, uint unk4, string message) { Type = messageType; @@ -18,7 +22,7 @@ public ChatMessage(LobbyChatMsgType messageType, byte unk2, uint unk3, uint unk4 public byte Unk2 { get; set; } public uint Unk3 { get; set; } public uint Unk4 { get; set; } - public string Message { get; } + public string Message { get; set; } public bool Deliver { get; set; } } } diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs b/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs index 425805a5d..a2a4a017b 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs @@ -5,7 +5,7 @@ namespace Arrowgene.Ddon.GameServer.Chat { public class ChatResponse { - public static ChatResponse CommandError(GameClient client, string message) + public static ChatResponse CommandError(IPartyMember client, string message) { return new ChatResponse() { @@ -16,7 +16,7 @@ public static ChatResponse CommandError(GameClient client, string message) }; } - public static ChatResponse ServerMessage(GameClient client, string message) + public static ChatResponse ServerMessage(IPartyMember client, string message) { return new ChatResponse() { @@ -27,7 +27,7 @@ public static ChatResponse ServerMessage(GameClient client, string message) }; } - public static ChatResponse FromMessage(GameClient client, ChatMessage message) + public static ChatResponse FromMessage(IPartyMember client, ChatMessage message) { return new ChatResponse() { @@ -46,7 +46,7 @@ public static ChatResponse FromMessage(GameClient client, ChatMessage message) public ChatResponse() { - Recipients = new List(); + Recipients = new List(); Deliver = true; Type = LobbyChatMsgType.Say; Unk2 = 0; @@ -59,7 +59,7 @@ public ChatResponse() ClanName = ""; } - public List Recipients { get; } + public List Recipients { get; } public bool Deliver { get; set; } public LobbyChatMsgType Type { get; set; } public byte Unk2 { get; set; } diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs b/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs index c90b123de..4c001cc30 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Arrowgene.Ddon.GameServer.Chat.Command.Commands; using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Logging; namespace Arrowgene.Ddon.GameServer.Chat.Command @@ -90,5 +91,13 @@ public void Handle(GameClient client, ChatMessage message, List re chatCommand.Execute(subCommand, client, message, responses); } + + public void Handle(IPartyMember client, ChatMessage message, List responses) + { + if(client is GameClient) + { + Handle(client as GameClient, message, responses); + } + } } } diff --git a/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs b/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs index e110e6de7..8417ce929 100644 --- a/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs @@ -1,9 +1,10 @@ using System.Collections.Generic; +using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.GameServer.Chat { public interface IChatHandler { - void Handle(GameClient client, ChatMessage message, List responses); + void Handle(IPartyMember client, ChatMessage message, List responses); } } diff --git a/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs b/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs index b36f49bb1..b33dfedec 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using Arrowgene.Ddon.GameServer.Chat.Command; using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Logging; namespace Arrowgene.Ddon.GameServer.Chat.Log @@ -13,5 +14,13 @@ public void Handle(GameClient client, ChatMessage message, List re { Logger.Info(client, message.Message); } + + public void Handle(IPartyMember client, ChatMessage message, List responses) + { + if(client is GameClient) + { + Handle(client as GameClient, message, responses); + } + } } } diff --git a/Arrowgene.Ddon.GameServer/GameRouter.cs b/Arrowgene.Ddon.GameServer/GameRouter.cs index 75488bc3d..84870ebaa 100644 --- a/Arrowgene.Ddon.GameServer/GameRouter.cs +++ b/Arrowgene.Ddon.GameServer/GameRouter.cs @@ -3,6 +3,7 @@ using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.GameServer { @@ -29,7 +30,7 @@ public void Send(ChatResponse response) notice.CharacterBaseInfo.CharacterName.FirstName = response.FirstName; notice.CharacterBaseInfo.CharacterName.LastName = response.LastName; notice.CharacterBaseInfo.ClanName = response.ClanName; - foreach (GameClient client in Unique(response.Recipients)) + foreach (IPartyMember client in Unique(response.Recipients)) { client.Send(notice); } diff --git a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs index a59d6650d..fd05aae8d 100644 --- a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs @@ -30,6 +30,7 @@ public override void Handle(GameClient client, StructurePacket Get(WebRequest request) return response; } + public override async Task Post(WebRequest request) + { + try + { + ChatMessageLogEntry entry = JsonSerializer.Deserialize(request.Body); + ChatPostCommand chat = new ChatPostCommand(entry); + RpcCommandResult result = Executer.Execute(chat); + if(!result.Success) + { + WebResponse response = new WebResponse(); + response.StatusCode = 500; + await response.WriteAsync("Error"); + return response; + } + else + { + WebResponse response = new WebResponse(); + response.StatusCode = 201; + return response; + } + } + catch(JsonException e) + { + WebResponse response = new WebResponse(); + Logger.Error($"Invalid request body"); + response.StatusCode = 400; + await response.WriteAsync("Invalid request body"); + return response; + } + } + } } \ No newline at end of file diff --git a/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs b/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs new file mode 100644 index 000000000..04a1b686b --- /dev/null +++ b/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs @@ -0,0 +1,63 @@ +using Arrowgene.Ddon.GameServer; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; +using static Arrowgene.Ddon.GameServer.Chat.ChatManager; + +namespace Arrowgene.Ddon.Rpc.Command +{ + public class ChatPostCommand : IRpcCommand + { + private static readonly string DEFAULT_FIRST_NAME = "DDOn"; + private static readonly string DEFAULT_LAST_NAME = "Tools"; + + public string Name => "ChatPostCommand"; + + public ChatPostCommand(ChatMessageLogEntry entry) + { + _entry = entry; + } + + private ChatMessageLogEntry _entry { get; set; } + + public RpcCommandResult Execute(DdonGameServer gameServer) + { + gameServer.ChatManager.Handle(new MockClient(_entry), _entry.ChatMessage); + return new RpcCommandResult(this, true); + } + + private class MockClient : IPartyMember + { + public MockClient(ChatMessageLogEntry entry) + { + Character = new Character(); + Character.Id = entry.CharacterId; + Character.FirstName = entry.FirstName ?? DEFAULT_FIRST_NAME; + Character.LastName = entry.LastName ?? DEFAULT_LAST_NAME; + } + + public Character Character { get; set; } + public Party Party { get; set; } + + public CDataPartyMember AsCDataPartyMember() + { + throw new System.NotImplementedException(); + } + + public Packet AsContextPacket() + { + throw new System.NotImplementedException(); + } + + public void Send(Packet packet) + { + // Do nothing + } + + void IPartyMember.Send(TResStruct res) + { + // Do nothing + } + } + } +} \ No newline at end of file From 49b8296f0980712acf0eea05f172a08a66b61639 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 21 Sep 2022 17:52:43 +0800 Subject: [PATCH 28/72] new lines for logs in logfile --- Arrowgene.Ddon.Cli/Program.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.Cli/Program.cs b/Arrowgene.Ddon.Cli/Program.cs index 389a46a9b..52158c230 100644 --- a/Arrowgene.Ddon.Cli/Program.cs +++ b/Arrowgene.Ddon.Cli/Program.cs @@ -371,8 +371,11 @@ private void LogProviderOnLogWrite(object sender, LogWriteEventArgs e) Console.ForegroundColor = consoleColor; Console.WriteLine(text); Console.ResetColor(); + + // TODO perhaps some buffering and only flush after X logs string filePath = Path.Combine(_logDir.FullName, $"{log.DateTime:yyyy-MM-dd}.log.txt"); - File.AppendAllText(filePath, text); + using StreamWriter sw = new StreamWriter(filePath, append: true); + sw.WriteLine(text); } } } From 5a77a186df0f7ffeae1b4e933a1191ad57538d5b Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 21 Sep 2022 20:46:45 +0800 Subject: [PATCH 29/72] hold off packet sending until client signals challange completed --- .../Handler/ConnectionLoginHandler.cs | 2 ++ .../Handler/PartySendBinaryMsgHandler.cs | 2 +- .../Handler/ClientLoginHandler.cs | 8 +++++-- Arrowgene.Ddon.Server/Network/Client.cs | 24 +++++++++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs index ad34726df..dc73f1edb 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs @@ -22,6 +22,8 @@ public ConnectionLoginHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { + client.SetChallengeCompleted(true); + Logger.Debug(client, $"Received SessionKey:{packet.Structure.SessionKey} for platform:{packet.Structure.PlatformType}"); S2CConnectionLoginRes res = new S2CConnectionLoginRes(); diff --git a/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs index 87e264a79..5dc20630f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartySendBinaryMsgHandler.cs @@ -27,4 +27,4 @@ public override void Handle(GameClient client, StructurePacket packet) { - Logger.Debug(client, $"Received LoginToken:{packet.Structure.OneTimeToken} for platform:{packet.Structure.PlatformType}"); + client.SetChallengeCompleted(true); + + Logger.Debug(client, + $"Received LoginToken:{packet.Structure.OneTimeToken} for platform:{packet.Structure.PlatformType}"); L2CLoginRes res = new L2CLoginRes(); res.OneTimeToken = packet.Structure.OneTimeToken; @@ -55,7 +58,8 @@ public override void Handle(LoginClient client, StructurePacket pac account = Database.SelectAccountByName(packet.Structure.OneTimeToken); if (account == null) { - account = Database.CreateAccount(packet.Structure.OneTimeToken, packet.Structure.OneTimeToken, packet.Structure.OneTimeToken); + account = Database.CreateAccount(packet.Structure.OneTimeToken, packet.Structure.OneTimeToken, + packet.Structure.OneTimeToken); if (account == null) { Logger.Error(client, "Could not create account from OneTimeToken, choose another token"); diff --git a/Arrowgene.Ddon.Server/Network/Client.cs b/Arrowgene.Ddon.Server/Network/Client.cs index a7e20e80e..db8f37bf2 100644 --- a/Arrowgene.Ddon.Server/Network/Client.cs +++ b/Arrowgene.Ddon.Server/Network/Client.cs @@ -15,18 +15,32 @@ public class Client private readonly PacketFactory _packetFactory; private Challenge _challenge; + /** + * Roundtrip Challenge completed + * The client considered to be initialized with crypto key + * and able to parse packet headers. + */ + private bool _challengeCompleted; + public Client(ITcpSocket socket, PacketFactory packetFactory) { Socket = socket; _packetFactory = packetFactory; _challenge = null; Identity = socket.Identity; + _challengeCompleted = false; } public string Identity { get; protected set; } public DateTime PingTime { get; set; } + public void SetChallengeCompleted(bool challengeCompleted) + { + _challengeCompleted = challengeCompleted; + Logger.Info(this, $"SetChallengeCompleted:{_challengeCompleted}"); + } + public void Close() { Socket.Close(); @@ -65,6 +79,16 @@ public List Receive(byte[] data) public void Send(Packet packet) { + if (!_challengeCompleted && packet.Id != PacketId.S2C_CERT_CLIENT_CHALLENGE_RES) + { + // at this point in time we only allow to send S2C_CERT_CLIENT_CHALLENGE_RES + // only after receiving the first client packet, we can assume the client is able + // to parse packets headers and process other packets. + Logger.Error(this, + $"Tried to send Packet:\"{packet.PrintHeader()}\", while client not yet considered ready"); + return; + } + byte[] data; try { From 2340a848855bad000b0725186fa4d09c0a7db82a Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 21 Sep 2022 20:53:54 +0800 Subject: [PATCH 30/72] allow cert packets --- Arrowgene.Ddon.Server/Network/Client.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.Server/Network/Client.cs b/Arrowgene.Ddon.Server/Network/Client.cs index db8f37bf2..079bf0d83 100644 --- a/Arrowgene.Ddon.Server/Network/Client.cs +++ b/Arrowgene.Ddon.Server/Network/Client.cs @@ -79,7 +79,10 @@ public List Receive(byte[] data) public void Send(Packet packet) { - if (!_challengeCompleted && packet.Id != PacketId.S2C_CERT_CLIENT_CHALLENGE_RES) + if (!_challengeCompleted + && packet.Id != PacketId.S2C_CERT_CLIENT_CHALLENGE_RES + && packet.Id != PacketId.L2C_CLIENT_CHALLENGE_RES + ) { // at this point in time we only allow to send S2C_CERT_CLIENT_CHALLENGE_RES // only after receiving the first client packet, we can assume the client is able From 9b2d924d106e8fb6eaa04094a1a524a9493f4baa Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 22 Sep 2022 12:08:31 +0800 Subject: [PATCH 31/72] detect duplicate login --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 23 ++-- Arrowgene.Ddon.GameServer/GameClientLookup.cs | 29 ++++ .../GameStructurePacketHandler.cs | 16 +++ Arrowgene.Ddon.LoginServer/DdonLoginServer.cs | 15 +-- .../Handler/ClientLoginHandler.cs | 124 ++++++++++-------- .../LoginClientLookup.cs | 29 ++++ .../LoginStructurePacketHandler.cs | 16 +++ Arrowgene.Ddon.Server/ClientLookup.cs | 15 +-- Arrowgene.Ddon.Server/DdonServer.cs | 7 +- 9 files changed, 192 insertions(+), 82 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/GameClientLookup.cs create mode 100644 Arrowgene.Ddon.GameServer/GameStructurePacketHandler.cs create mode 100644 Arrowgene.Ddon.LoginServer/LoginClientLookup.cs create mode 100644 Arrowgene.Ddon.LoginServer/LoginStructurePacketHandler.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 1430cdf94..c0a17b949 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -45,22 +45,22 @@ public class DdonGameServer : DdonServer { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(DdonGameServer)); - private readonly List _clients; - private readonly List _parties; + private readonly List _parties; // TODO not thread safe private readonly Dictionary _stages; public DdonGameServer(GameServerSetting setting, IDatabase database, AssetRepository assetRepository) : base(setting.ServerSetting, database, assetRepository) { - _clients = new List(); _parties = new List(); _stages = new Dictionary(); Setting = new GameServerSetting(setting); Router = new GameRouter(); ChatManager = new ChatManager(this, Router); EnemyManager = new EnemyManager(assetRepository, database); + ClientLookup = new GameClientLookup(); - S2CStageGetStageListRes stageListPacket = EntitySerializer.Get().Read(GameDump.data_Dump_19); + S2CStageGetStageListRes stageListPacket = + EntitySerializer.Get().Read(GameDump.data_Dump_19); StageList = stageListPacket.StageList; } @@ -71,12 +71,6 @@ public DdonGameServer(GameServerSetting setting, IDatabase database, AssetReposi public EnemyManager EnemyManager { get; } public GameRouter Router { get; } - /// - /// Returns a copy of the client list. - /// To prevent modifications of affecting the original list. - /// - public override List Clients => new List(_clients); - /// /// Returns a copy of the party list. /// To prevent modifications of affecting the original list. @@ -85,6 +79,7 @@ public DdonGameServer(GameServerSetting setting, IDatabase database, AssetReposi public List StageList { get; } + public override GameClientLookup ClientLookup { get; } public override void Start() { @@ -109,7 +104,7 @@ ClientConnectionChangeArgs connectionChangeEventArgs protected override void ClientDisconnected(GameClient client) { - _clients.Remove(client); + ClientLookup.Remove(client); EventHandler connectionChangeEvent = ClientConnectionChangeEvent; if (connectionChangeEvent != null) @@ -122,11 +117,13 @@ ClientConnectionChangeArgs connectionChangeEventArgs public override GameClient NewClient(ITcpSocket socket) { - GameClient newClient = new GameClient(socket, new PacketFactory(Setting.ServerSetting, PacketIdResolver.GamePacketIdResolver)); - _clients.Add(newClient); + GameClient newClient = new GameClient(socket, + new PacketFactory(Setting.ServerSetting, PacketIdResolver.GamePacketIdResolver)); + ClientLookup.Add(newClient); return newClient; } + public Party NewParty() { Party newParty = new Party(); diff --git a/Arrowgene.Ddon.GameServer/GameClientLookup.cs b/Arrowgene.Ddon.GameServer/GameClientLookup.cs new file mode 100644 index 000000000..a634a0b2a --- /dev/null +++ b/Arrowgene.Ddon.GameServer/GameClientLookup.cs @@ -0,0 +1,29 @@ +using Arrowgene.Ddon.Server; + +namespace Arrowgene.Ddon.GameServer +{ + public class GameClientLookup : ClientLookup + { + public GameClientLookup() + { + } + + public GameClient GetClientByAccountId(int accountId) + { + foreach (GameClient client in GetAll()) + { + if (client.Account == null) + { + continue; + } + + if (client.Account.Id == accountId) + { + return client; + } + } + + return null; + } + } +} diff --git a/Arrowgene.Ddon.GameServer/GameStructurePacketHandler.cs b/Arrowgene.Ddon.GameServer/GameStructurePacketHandler.cs new file mode 100644 index 000000000..3f6cc060b --- /dev/null +++ b/Arrowgene.Ddon.GameServer/GameStructurePacketHandler.cs @@ -0,0 +1,16 @@ +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity; + +namespace Arrowgene.Ddon.GameServer +{ + public abstract class GameStructurePacketHandler : StructurePacketHandler + where TReqStruct : class, IPacketStructure, new() + { + protected GameStructurePacketHandler(DdonGameServer server) : base(server) + { + Server = server; + } + + protected new DdonGameServer Server { get; } + } +} diff --git a/Arrowgene.Ddon.LoginServer/DdonLoginServer.cs b/Arrowgene.Ddon.LoginServer/DdonLoginServer.cs index 00b55e83e..7d641ce67 100644 --- a/Arrowgene.Ddon.LoginServer/DdonLoginServer.cs +++ b/Arrowgene.Ddon.LoginServer/DdonLoginServer.cs @@ -20,7 +20,6 @@ * along with Arrowgene.Ddon.LoginServer. If not, see . */ -using System.Collections.Generic; using Arrowgene.Ddon.Database; using Arrowgene.Ddon.LoginServer.Handler; using Arrowgene.Ddon.Server; @@ -34,37 +33,37 @@ namespace Arrowgene.Ddon.LoginServer public class DdonLoginServer : DdonServer { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(DdonLoginServer)); - - private readonly List _clients; public DdonLoginServer(LoginServerSetting setting, IDatabase database, AssetRepository assetRepository) : base(setting.ServerSetting, database, assetRepository) { Setting = new LoginServerSetting(setting); - _clients = new List(); + ClientLookup = new LoginClientLookup(); LoadPacketHandler(); } public LoginServerSetting Setting { get; } - public override List Clients => new List(_clients); + public override LoginClientLookup ClientLookup { get; } protected override void ClientConnected(LoginClient client) { client.InitializeChallenge(); - _clients.Add(client); + ClientLookup.Add(client); } protected override void ClientDisconnected(LoginClient client) { - _clients.Remove(client); + ClientLookup.Remove(client); } public override LoginClient NewClient(ITcpSocket socket) { - return new LoginClient(socket, new PacketFactory(Setting.ServerSetting, PacketIdResolver.LoginPacketIdResolver)); + return new LoginClient(socket, + new PacketFactory(Setting.ServerSetting, PacketIdResolver.LoginPacketIdResolver)); } + private void LoadPacketHandler() { AddHandler(new ClientChallengeHandler(this)); diff --git a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs index aa5e3be09..6ae4d06d7 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs @@ -2,14 +2,13 @@ using System.Collections.Generic; using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; namespace Arrowgene.Ddon.LoginServer.Handler { - public class ClientLoginHandler : StructurePacketHandler + public class ClientLoginHandler : LoginStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(ClientLoginHandler)); @@ -29,9 +28,10 @@ public override void Handle(LoginClient client, StructurePacket pac string oneTimeToken = packet.Structure.OneTimeToken; Logger.Debug(client, $"Received LoginToken:{oneTimeToken} for platform:{packet.Structure.PlatformType}"); - + L2CLoginRes res = new L2CLoginRes(); res.OneTimeToken = oneTimeToken; + if (!LockToken(oneTimeToken)) { Logger.Error(client, $"OneTimeToken {oneTimeToken} is in process."); @@ -40,23 +40,68 @@ public override void Handle(LoginClient client, StructurePacket pac return; } - Account account = Database.SelectAccountByLoginToken(oneTimeToken); - if (_setting.AccountRequired) + try { - if (account == null) + Account account = Database.SelectAccountByLoginToken(oneTimeToken); + if (_setting.AccountRequired) { - Logger.Error(client, "Invalid OneTimeToken"); - res.Error = 1; - client.Send(res); - ReleaseToken(oneTimeToken); - return; + if (account == null) + { + Logger.Error(client, "Invalid OneTimeToken"); + res.Error = 1; + client.Send(res); + ReleaseToken(oneTimeToken); + return; + } + } + else + { + // allow easy access + // assume token as account name, password & email + if (account == null) + { + account = Database.SelectAccountByName(oneTimeToken); + if (account == null) + { + account = Database.CreateAccount(oneTimeToken, oneTimeToken, oneTimeToken); + if (account == null) + { + Logger.Error(client, + "Could not create account from OneTimeToken, choose another token"); + res.Error = 2; + client.Send(res); + ReleaseToken(oneTimeToken); + return; + } + + Logger.Info(client, "Created new account from OneTimeToken"); + } + + account.LoginToken = oneTimeToken; + account.LoginTokenCreated = DateTime.Now; + } } - - // TODO check after if (account.LoggedIn) { - // already logged in + LoginClient loggedInClient = Server.ClientLookup.GetClientByAccountId(account.Id); + if (loggedInClient != null) + { + // see if the client has a active login connection and close it + loggedInClient.Close(); + } + + // TODO communicate to GS to close client + // since login and game server can run on different physical boxes + // this can only be done if a inter-server-communication system is in place. + // or it needs to be handled if the same client shows up again in GS + // for now, just deny another connection - this will ease finding bugs where + // the state of logged in is not properly updated. + Logger.Error(client, $"already logged in"); + res.Error = 1; + client.Send(res); + ReleaseToken(oneTimeToken); + return; } TimeSpan loginTokenAge = account.LoginTokenCreated - DateTime.Now; @@ -68,47 +113,22 @@ public override void Handle(LoginClient client, StructurePacket pac ReleaseToken(oneTimeToken); return; } - // TODO check after - - } - else - { - // allow easy access - // assume token as account name & password - if (account == null) - { - account = Database.SelectAccountByName(oneTimeToken); - if (account == null) - { - account = Database.CreateAccount(oneTimeToken, oneTimeToken, oneTimeToken); - if (account == null) - { - Logger.Error(client, "Could not create account from OneTimeToken, choose another token"); - res.Error = 2; - client.Send(res); - ReleaseToken(oneTimeToken); - return; - } - Logger.Info(client, "Created new account from OneTimeToken"); - } - - account.LoginToken = oneTimeToken; - account.LoginTokenCreated = DateTime.Now; - } - } - - account.LastLogin = DateTime.Now; - account.LoggedIn = true; - Database.UpdateAccount(account); + account.LastLogin = DateTime.Now; + account.LoggedIn = true; + Database.UpdateAccount(account); - client.Account = account; - client.UpdateIdentity(); - Logger.Info(client, "Logged In"); + client.Account = account; + client.UpdateIdentity(); + Logger.Info(client, "Logged In"); - client.Send(res); - - ReleaseToken(oneTimeToken); + client.Send(res); + } + finally + { + // in case of a exception, ensure our token is not locked up forever + ReleaseToken(oneTimeToken); + } } private void ReleaseToken(string token) diff --git a/Arrowgene.Ddon.LoginServer/LoginClientLookup.cs b/Arrowgene.Ddon.LoginServer/LoginClientLookup.cs new file mode 100644 index 000000000..6e8cd2038 --- /dev/null +++ b/Arrowgene.Ddon.LoginServer/LoginClientLookup.cs @@ -0,0 +1,29 @@ +using Arrowgene.Ddon.Server; + +namespace Arrowgene.Ddon.LoginServer +{ + public class LoginClientLookup : ClientLookup + { + public LoginClientLookup() + { + } + + public LoginClient GetClientByAccountId(int accountId) + { + foreach (LoginClient client in GetAll()) + { + if (client.Account == null) + { + continue; + } + + if (client.Account.Id == accountId) + { + return client; + } + } + + return null; + } + } +} diff --git a/Arrowgene.Ddon.LoginServer/LoginStructurePacketHandler.cs b/Arrowgene.Ddon.LoginServer/LoginStructurePacketHandler.cs new file mode 100644 index 000000000..b0e9965dc --- /dev/null +++ b/Arrowgene.Ddon.LoginServer/LoginStructurePacketHandler.cs @@ -0,0 +1,16 @@ +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity; + +namespace Arrowgene.Ddon.LoginServer +{ + public abstract class LoginStructurePacketHandler : StructurePacketHandler + where TReqStruct : class, IPacketStructure, new() + { + protected LoginStructurePacketHandler(DdonLoginServer server) : base(server) + { + Server = server; + } + + protected new DdonLoginServer Server { get; } + } +} diff --git a/Arrowgene.Ddon.Server/ClientLookup.cs b/Arrowgene.Ddon.Server/ClientLookup.cs index 1f427ae30..bc4578568 100644 --- a/Arrowgene.Ddon.Server/ClientLookup.cs +++ b/Arrowgene.Ddon.Server/ClientLookup.cs @@ -1,35 +1,34 @@ using System.Collections.Generic; using Arrowgene.Ddon.Server.Network; -using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Server { - public class ClientLookup + public class ClientLookup where TClient : Client { - private readonly List _clients; + private readonly List _clients; private readonly object _lock = new object(); public ClientLookup() { - _clients = new List(); + _clients = new List(); } /// /// Returns all Clients. /// - public List GetAll() + public List GetAll() { lock (_lock) { - return new List(_clients); + return new List(_clients); } } /// /// Adds a Client. /// - public void Add(Client client) + public void Add(TClient client) { if (client == null) { @@ -45,7 +44,7 @@ public void Add(Client client) /// /// Removes the Client from all lists and lookup tables. /// - public void Remove(Client client) + public void Remove(TClient client) { lock (_lock) { diff --git a/Arrowgene.Ddon.Server/DdonServer.cs b/Arrowgene.Ddon.Server/DdonServer.cs index f9d30fd56..16af00cb2 100644 --- a/Arrowgene.Ddon.Server/DdonServer.cs +++ b/Arrowgene.Ddon.Server/DdonServer.cs @@ -20,6 +20,7 @@ * along with Arrowgene.Ddon.LoginServer. If not, see . */ +using System; using System.Collections.Generic; using Arrowgene.Ddon.Database; using Arrowgene.Ddon.Server.Network; @@ -85,6 +86,10 @@ protected void AddHandler(IPacketHandler packetHandler) protected abstract void ClientConnected(TClient client); protected abstract void ClientDisconnected(TClient client); public abstract TClient NewClient(ITcpSocket socket); - public abstract List Clients { get; } + + [Obsolete("deprecated, use `ClientLookup.GetAll()` instead")] + public List Clients => ClientLookup.GetAll(); + + public abstract ClientLookup ClientLookup { get; } } } From 76548d1b126abe956fef5387e5e68811de3e1671 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 22 Sep 2022 17:29:21 +0800 Subject: [PATCH 32/72] server transition time --- .../Files/Database/Script/schema_sqlite.sql | 1 + Arrowgene.Ddon.Database/Model/Account.cs | 1 + .../Sql/Core/DdonSqlDbAccount.cs | 5 +++- .../Handler/ClientLoginHandler.cs | 26 ++++++++++++++----- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 13f8956f0..0ec06a24f 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -17,6 +17,7 @@ CREATE TABLE IF NOT EXISTS `account` `mail_token` TEXT DEFAULT NULL, `password_token` TEXT DEFAULT NULL, `logged_in` BIT NOT NULL, + `server_transition` DATETIME NOT NULL, `login_token` TEXT DEFAULT NULL, `login_token_created` DATETIME NOT NULL, `state` INTEGER NOT NULL, diff --git a/Arrowgene.Ddon.Database/Model/Account.cs b/Arrowgene.Ddon.Database/Model/Account.cs index e3553555e..b6dc7e9f3 100644 --- a/Arrowgene.Ddon.Database/Model/Account.cs +++ b/Arrowgene.Ddon.Database/Model/Account.cs @@ -12,6 +12,7 @@ public class Account public string MailToken { get; set; } public string PasswordToken { get; set; } public bool LoggedIn { get; set; } + public DateTime? ServerTransition { get; set; } public string LoginToken { get; set; } public DateTime LoginTokenCreated { get; set; } public bool MailVerified { get; set; } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs index 1d9766888..602b21f51 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs @@ -10,7 +10,7 @@ public abstract partial class DdonSqlDb : SqlDb { private static readonly string[] AccountFields = new string[] { - "name", "normal_name", "hash", "mail", "mail_verified", "mail_verified_at", "mail_token", "password_token", "logged_in", "login_token", "login_token_created", "state", "last_login", "created" + "name", "normal_name", "hash", "mail", "mail_verified", "mail_verified_at", "mail_token", "password_token", "logged_in", "server_transition", "login_token", "login_token_created", "state", "last_login", "created" }; private static readonly string SqlInsertAccount = $"INSERT INTO `account` ({BuildQueryField(AccountFields)}) VALUES ({BuildQueryInsert(AccountFields)});"; @@ -40,6 +40,7 @@ public Account CreateAccount(string name, string mail, string hash) AddParameter(command, "@mail_token", account.MailToken); AddParameter(command, "@password_token", account.PasswordToken); AddParameter(command, "@logged_in", account.LoggedIn); + AddParameter(command, "@server_transition", account.ServerTransition); AddParameter(command, "@login_token", account.LoginToken); AddParameter(command, "@login_token_created", account.LoginTokenCreated); AddParameterEnumInt32(command, "@state", account.State); @@ -113,6 +114,7 @@ public bool UpdateAccount(Account account) AddParameter(command, "@mail_token", account.MailToken); AddParameter(command, "@password_token", account.PasswordToken); AddParameter(command, "@logged_in", account.LoggedIn); + AddParameter(command, "@server_transition", account.ServerTransition); AddParameter(command, "@login_token", account.LoginToken); AddParameter(command, "@login_token_created", account.LoginTokenCreated); AddParameterEnumInt32(command, "@state", account.State); @@ -143,6 +145,7 @@ private Account ReadAccount(DbDataReader reader) account.MailToken = GetStringNullable(reader, "mail_token"); account.PasswordToken = GetStringNullable(reader, "password_token"); account.LoggedIn = GetBoolean(reader, "logged_in"); + account.ServerTransition = GetDateTimeNullable(reader, "server_transition"); account.LoginToken = GetStringNullable(reader, "login_token"); account.LoginTokenCreated = GetDateTime(reader, "login_token_created"); account.State = (AccountStateType) GetInt32(reader, "state"); diff --git a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs index 6ae4d06d7..9edcb0d04 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/ClientLoginHandler.cs @@ -90,13 +90,25 @@ public override void Handle(LoginClient client, StructurePacket pac // see if the client has a active login connection and close it loggedInClient.Close(); } - - // TODO communicate to GS to close client - // since login and game server can run on different physical boxes - // this can only be done if a inter-server-communication system is in place. - // or it needs to be handled if the same client shows up again in GS - // for now, just deny another connection - this will ease finding bugs where - // the state of logged in is not properly updated. + + if (!account.LastLogin.HasValue) + { + Logger.Error(client, "has no last log in, despite flagged as logged in"); + account.LastLogin = DateTime.Now; + Database.UpdateAccount(account); + } + + TimeSpan lastLoginAge = account.LastLogin.Value - DateTime.Now; + if (lastLoginAge < TimeSpan.FromMinutes(1)) // TODO convert to setting + { + // + Logger.Error(client, $"LastLogin at: {account.LastLogin.Value} is to early"); + res.Error = 1; + client.Send(res); + ReleaseToken(oneTimeToken); + return; + } + Logger.Error(client, $"already logged in"); res.Error = 1; client.Send(res); From e6b263055b6067a2074068a28021789384217ef8 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 22 Sep 2022 20:37:13 +0800 Subject: [PATCH 33/72] keep track of connection via db --- .../Files/Database/Script/schema_sqlite.sql | 383 +++++++++--------- Arrowgene.Ddon.Database/IDatabase.cs | 6 + Arrowgene.Ddon.Database/Model/Account.cs | 6 +- Arrowgene.Ddon.Database/Model/Connection.cs | 15 + .../Model/ConnectionType.cs | 8 + Arrowgene.Ddon.Database/Sql/Core/DdonSqlDb.cs | 6 +- .../Sql/Core/DdonSqlDbAccount.cs | 16 +- .../Sql/Core/DdonSqlDbConnection.cs | 69 ++++ Arrowgene.Ddon.Database/Sql/SqlDb.cs | 52 +-- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 7 + .../Handler/ConnectionLoginHandler.cs | 38 +- Arrowgene.Ddon.LoginServer/DdonLoginServer.cs | 7 + .../Handler/ClientLoginHandler.cs | 64 ++- 13 files changed, 410 insertions(+), 267 deletions(-) create mode 100644 Arrowgene.Ddon.Database/Model/Connection.cs create mode 100644 Arrowgene.Ddon.Database/Model/ConnectionType.cs create mode 100644 Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 0ec06a24f..57011c730 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -16,10 +16,8 @@ CREATE TABLE IF NOT EXISTS `account` `mail_verified_at` DATETIME DEFAULT NULL, `mail_token` TEXT DEFAULT NULL, `password_token` TEXT DEFAULT NULL, - `logged_in` BIT NOT NULL, - `server_transition` DATETIME NOT NULL, `login_token` TEXT DEFAULT NULL, - `login_token_created` DATETIME NOT NULL, + `login_token_created` DATETIME DEFAULT NULL, `state` INTEGER NOT NULL, `last_login` DATETIME DEFAULT NULL, `created` DATETIME NOT NULL, @@ -31,238 +29,238 @@ CREATE TABLE IF NOT EXISTS `account` CREATE TABLE IF NOT EXISTS `ddon_character` ( - `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, - `account_id` INTEGER NOT NULL, - `version` INTEGER NOT NULL, - `first_name` TEXT NOT NULL, - `last_name` TEXT NOT NULL, - `created` DATETIME NOT NULL, - `job` TINYINT NOT NULL, - `jewelry_slot_num` TINYINT NOT NULL, - `my_pawn_slot_num` TINYINT NOT NULL, - `rental_pawn_slot_num` TINYINT NOT NULL, - `hide_equip_head` BIT NOT NULL, - `hide_equip_lantern` BIT NOT NULL, - `hide_equip_head_pawn` BIT NOT NULL, - `hide_equip_lantern_pawn` BIT NOT NULL, - `arisen_profile_share_range` TINYINT NOT NULL, + `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, + `account_id` INTEGER NOT NULL, + `version` INTEGER NOT NULL, + `first_name` TEXT NOT NULL, + `last_name` TEXT NOT NULL, + `created` DATETIME NOT NULL, + `job` TINYINT NOT NULL, + `jewelry_slot_num` TINYINT NOT NULL, + `my_pawn_slot_num` TINYINT NOT NULL, + `rental_pawn_slot_num` TINYINT NOT NULL, + `hide_equip_head` BIT NOT NULL, + `hide_equip_lantern` BIT NOT NULL, + `hide_equip_head_pawn` BIT NOT NULL, + `hide_equip_lantern_pawn` BIT NOT NULL, + `arisen_profile_share_range` TINYINT NOT NULL, CONSTRAINT `fk_character_account_id` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`) ); CREATE TABLE IF NOT EXISTS `ddon_character_edit_info` ( - `character_id` INTEGER PRIMARY KEY NOT NULL, - `sex` BIT NOT NULL, - `voice` TINYINT NOT NULL, - `voice_pitch` SMALLINT NOT NULL, - `personality` TINYINT NOT NULL, - `speech_freq` TINYINT NOT NULL, - `body_type` TINYINT NOT NULL, - `hair` TINYINT NOT NULL, - `beard` TINYINT NOT NULL, - `makeup` TINYINT NOT NULL, - `scar` TINYINT NOT NULL, - `eye_preset_no` TINYINT NOT NULL, - `nose_preset_no` TINYINT NOT NULL, - `mouth_preset_no` TINYINT NOT NULL, - `eyebrow_tex_no` TINYINT NOT NULL, - `color_skin` TINYINT NOT NULL, - `color_hair` TINYINT NOT NULL, - `color_beard` TINYINT NOT NULL, - `color_eyebrow` TINYINT NOT NULL, - `color_r_eye` TINYINT NOT NULL, - `color_l_eye` TINYINT NOT NULL, - `color_makeup` TINYINT NOT NULL, - `sokutobu` SMALLINT NOT NULL, - `hitai` SMALLINT NOT NULL, - `mimi_jyouge` SMALLINT NOT NULL, - `kannkaku` SMALLINT NOT NULL, - `mabisasi_jyouge` SMALLINT NOT NULL, - `hanakuchi_jyouge` SMALLINT NOT NULL, - `ago_saki_haba` SMALLINT NOT NULL, - `ago_zengo` SMALLINT NOT NULL, - `ago_saki_jyouge` SMALLINT NOT NULL, - `hitomi_ookisa` SMALLINT NOT NULL, - `me_ookisa` SMALLINT NOT NULL, - `me_kaiten` SMALLINT NOT NULL, - `mayu_kaiten` SMALLINT NOT NULL, - `mimi_ookisa` SMALLINT NOT NULL, - `mimi_muki` SMALLINT NOT NULL, - `elf_mimi` SMALLINT NOT NULL, - `miken_takasa` SMALLINT NOT NULL, - `miken_haba` SMALLINT NOT NULL, - `hohobone_ryou` SMALLINT NOT NULL, - `hohobone_jyouge` SMALLINT NOT NULL, - `hohoniku` SMALLINT NOT NULL, - `erahone_jyouge` SMALLINT NOT NULL, - `erahone_haba` SMALLINT NOT NULL, - `hana_jyouge` SMALLINT NOT NULL, - `hana_haba` SMALLINT NOT NULL, - `hana_takasa` SMALLINT NOT NULL, - `hana_kakudo` SMALLINT NOT NULL, - `kuchi_haba` SMALLINT NOT NULL, - `kuchi_atsusa` SMALLINT NOT NULL, - `eyebrow_uv_offset_x` SMALLINT NOT NULL, - `eyebrow_uv_offset_y` SMALLINT NOT NULL, - `wrinkle` SMALLINT NOT NULL, - `wrinkle_albedo_blend_rate` SMALLINT NOT NULL, - `wrinkle_detail_normal_power` SMALLINT NOT NULL, - `muscle_albedo_blend_rate` SMALLINT NOT NULL, - `muscle_detail_normal_power` SMALLINT NOT NULL, - `height` SMALLINT NOT NULL, - `head_size` SMALLINT NOT NULL, - `neck_offset` SMALLINT NOT NULL, - `neck_scale` SMALLINT NOT NULL, - `upper_body_scale_x` SMALLINT NOT NULL, - `belly_size` SMALLINT NOT NULL, - `teat_scale` SMALLINT NOT NULL, - `tekubi_size` SMALLINT NOT NULL, - `koshi_offset` SMALLINT NOT NULL, - `koshi_size` SMALLINT NOT NULL, - `ankle_offset` SMALLINT NOT NULL, - `fat` SMALLINT NOT NULL, - `muscle` SMALLINT NOT NULL, - `motion_filter` SMALLINT NOT NULL, + `character_id` INTEGER PRIMARY KEY NOT NULL, + `sex` BIT NOT NULL, + `voice` TINYINT NOT NULL, + `voice_pitch` SMALLINT NOT NULL, + `personality` TINYINT NOT NULL, + `speech_freq` TINYINT NOT NULL, + `body_type` TINYINT NOT NULL, + `hair` TINYINT NOT NULL, + `beard` TINYINT NOT NULL, + `makeup` TINYINT NOT NULL, + `scar` TINYINT NOT NULL, + `eye_preset_no` TINYINT NOT NULL, + `nose_preset_no` TINYINT NOT NULL, + `mouth_preset_no` TINYINT NOT NULL, + `eyebrow_tex_no` TINYINT NOT NULL, + `color_skin` TINYINT NOT NULL, + `color_hair` TINYINT NOT NULL, + `color_beard` TINYINT NOT NULL, + `color_eyebrow` TINYINT NOT NULL, + `color_r_eye` TINYINT NOT NULL, + `color_l_eye` TINYINT NOT NULL, + `color_makeup` TINYINT NOT NULL, + `sokutobu` SMALLINT NOT NULL, + `hitai` SMALLINT NOT NULL, + `mimi_jyouge` SMALLINT NOT NULL, + `kannkaku` SMALLINT NOT NULL, + `mabisasi_jyouge` SMALLINT NOT NULL, + `hanakuchi_jyouge` SMALLINT NOT NULL, + `ago_saki_haba` SMALLINT NOT NULL, + `ago_zengo` SMALLINT NOT NULL, + `ago_saki_jyouge` SMALLINT NOT NULL, + `hitomi_ookisa` SMALLINT NOT NULL, + `me_ookisa` SMALLINT NOT NULL, + `me_kaiten` SMALLINT NOT NULL, + `mayu_kaiten` SMALLINT NOT NULL, + `mimi_ookisa` SMALLINT NOT NULL, + `mimi_muki` SMALLINT NOT NULL, + `elf_mimi` SMALLINT NOT NULL, + `miken_takasa` SMALLINT NOT NULL, + `miken_haba` SMALLINT NOT NULL, + `hohobone_ryou` SMALLINT NOT NULL, + `hohobone_jyouge` SMALLINT NOT NULL, + `hohoniku` SMALLINT NOT NULL, + `erahone_jyouge` SMALLINT NOT NULL, + `erahone_haba` SMALLINT NOT NULL, + `hana_jyouge` SMALLINT NOT NULL, + `hana_haba` SMALLINT NOT NULL, + `hana_takasa` SMALLINT NOT NULL, + `hana_kakudo` SMALLINT NOT NULL, + `kuchi_haba` SMALLINT NOT NULL, + `kuchi_atsusa` SMALLINT NOT NULL, + `eyebrow_uv_offset_x` SMALLINT NOT NULL, + `eyebrow_uv_offset_y` SMALLINT NOT NULL, + `wrinkle` SMALLINT NOT NULL, + `wrinkle_albedo_blend_rate` SMALLINT NOT NULL, + `wrinkle_detail_normal_power` SMALLINT NOT NULL, + `muscle_albedo_blend_rate` SMALLINT NOT NULL, + `muscle_detail_normal_power` SMALLINT NOT NULL, + `height` SMALLINT NOT NULL, + `head_size` SMALLINT NOT NULL, + `neck_offset` SMALLINT NOT NULL, + `neck_scale` SMALLINT NOT NULL, + `upper_body_scale_x` SMALLINT NOT NULL, + `belly_size` SMALLINT NOT NULL, + `teat_scale` SMALLINT NOT NULL, + `tekubi_size` SMALLINT NOT NULL, + `koshi_offset` SMALLINT NOT NULL, + `koshi_size` SMALLINT NOT NULL, + `ankle_offset` SMALLINT NOT NULL, + `fat` SMALLINT NOT NULL, + `muscle` SMALLINT NOT NULL, + `motion_filter` SMALLINT NOT NULL, CONSTRAINT `fk_edit_info_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS `ddon_character_status_info` ( - `character_id` INTEGER PRIMARY KEY NOT NULL, - `hp` INT NOT NULL, - `stamina` INT NOT NULL, - `revive_point` TINYINT NOT NULL, - `max_hp` INT NOT NULL, - `max_stamina` INT NOT NULL, - `white_hp` INT NOT NULL, - `gain_hp` INT NOT NULL, - `gain_stamina` INT NOT NULL, - `gain_attack` INT NOT NULL, - `gain_defense` INT NOT NULL, - `gain_magic_attack` INT NOT NULL, - `gain_magic_defense` INT NOT NULL, + `character_id` INTEGER PRIMARY KEY NOT NULL, + `hp` INT NOT NULL, + `stamina` INT NOT NULL, + `revive_point` TINYINT NOT NULL, + `max_hp` INT NOT NULL, + `max_stamina` INT NOT NULL, + `white_hp` INT NOT NULL, + `gain_hp` INT NOT NULL, + `gain_stamina` INT NOT NULL, + `gain_attack` INT NOT NULL, + `gain_defense` INT NOT NULL, + `gain_magic_attack` INT NOT NULL, + `gain_magic_defense` INT NOT NULL, CONSTRAINT `fk_status_info_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); - + CREATE TABLE IF NOT EXISTS `ddon_character_matching_profile` ( - `character_id` INTEGER PRIMARY KEY NOT NULL, - `entry_job` TINYINT NOT NULL, - `entry_job_level` INT NOT NULL, - `current_job` TINYINT NOT NULL, - `current_job_level` INT NOT NULL, - `objective_type1` INT NOT NULL, - `objective_type2` INT NOT NULL, - `play_style` INT NOT NULL, - `comment` TEXT NOT NULL, - `is_join_party` TINYINT NOT NULL, + `character_id` INTEGER PRIMARY KEY NOT NULL, + `entry_job` TINYINT NOT NULL, + `entry_job_level` INT NOT NULL, + `current_job` TINYINT NOT NULL, + `current_job_level` INT NOT NULL, + `objective_type1` INT NOT NULL, + `objective_type2` INT NOT NULL, + `play_style` INT NOT NULL, + `comment` TEXT NOT NULL, + `is_join_party` TINYINT NOT NULL, CONSTRAINT `fk_matching_profile_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); - + CREATE TABLE IF NOT EXISTS `ddon_character_arisen_profile` ( - `character_id` INTEGER PRIMARY KEY NOT NULL, - `background_id` TINYINT NOT NULL, - `title_uid` INT NOT NULL, - `title_index` INT NOT NULL, - `motion_id` SMALLINT NOT NULL, - `motion_frame_no` INT NOT NULL, + `character_id` INTEGER PRIMARY KEY NOT NULL, + `background_id` TINYINT NOT NULL, + `title_uid` INT NOT NULL, + `title_index` INT NOT NULL, + `motion_id` SMALLINT NOT NULL, + `motion_frame_no` INT NOT NULL, CONSTRAINT `fk_arisen_profile_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS `ddon_character_job_data` ( - `character_id` INTEGER NOT NULL, - `job` TINYINT NOT NULL, - `exp` INT NOT NULL, - `job_point` INT NOT NULL, - `lv` INT NOT NULL, - `atk` SMALLINT NOT NULL, - `def` SMALLINT NOT NULL, - `m_atk` SMALLINT NOT NULL, - `m_def` SMALLINT NOT NULL, - `strength` SMALLINT NOT NULL, - `down_power` SMALLINT NOT NULL, - `shake_power` SMALLINT NOT NULL, - `stun_power` SMALLINT NOT NULL, - `consitution` SMALLINT NOT NULL, - `guts` SMALLINT NOT NULL, - `fire_resist` TINYINT NOT NULL, - `ice_resist` TINYINT NOT NULL, - `thunder_resist` TINYINT NOT NULL, - `holy_resist` TINYINT NOT NULL, - `dark_resist` TINYINT NOT NULL, - `spread_resist` TINYINT NOT NULL, - `freeze_resist` TINYINT NOT NULL, - `shock_resist` TINYINT NOT NULL, - `absorb_resist` TINYINT NOT NULL, - `dark_elm_resist` TINYINT NOT NULL, - `poison_resist` TINYINT NOT NULL, - `slow_resist` TINYINT NOT NULL, - `sleep_resist` TINYINT NOT NULL, - `stun_resist` TINYINT NOT NULL, - `wet_resist` TINYINT NOT NULL, - `oil_resist` TINYINT NOT NULL, - `seal_resist` TINYINT NOT NULL, - `curse_resist` TINYINT NOT NULL, - `soft_resist` TINYINT NOT NULL, - `stone_resist` TINYINT NOT NULL, - `gold_resist` TINYINT NOT NULL, - `fire_reduce_resist` TINYINT NOT NULL, - `ice_reduce_resist` TINYINT NOT NULL, - `thunder_reduce_resist` TINYINT NOT NULL, - `holy_reduce_resist` TINYINT NOT NULL, - `dark_reduce_resist` TINYINT NOT NULL, - `atk_down_resist` TINYINT NOT NULL, - `def_down_resist` TINYINT NOT NULL, - `m_atk_down_resist` TINYINT NOT NULL, - `m_def_down_resist` TINYINT NOT NULL, + `character_id` INTEGER NOT NULL, + `job` TINYINT NOT NULL, + `exp` INT NOT NULL, + `job_point` INT NOT NULL, + `lv` INT NOT NULL, + `atk` SMALLINT NOT NULL, + `def` SMALLINT NOT NULL, + `m_atk` SMALLINT NOT NULL, + `m_def` SMALLINT NOT NULL, + `strength` SMALLINT NOT NULL, + `down_power` SMALLINT NOT NULL, + `shake_power` SMALLINT NOT NULL, + `stun_power` SMALLINT NOT NULL, + `consitution` SMALLINT NOT NULL, + `guts` SMALLINT NOT NULL, + `fire_resist` TINYINT NOT NULL, + `ice_resist` TINYINT NOT NULL, + `thunder_resist` TINYINT NOT NULL, + `holy_resist` TINYINT NOT NULL, + `dark_resist` TINYINT NOT NULL, + `spread_resist` TINYINT NOT NULL, + `freeze_resist` TINYINT NOT NULL, + `shock_resist` TINYINT NOT NULL, + `absorb_resist` TINYINT NOT NULL, + `dark_elm_resist` TINYINT NOT NULL, + `poison_resist` TINYINT NOT NULL, + `slow_resist` TINYINT NOT NULL, + `sleep_resist` TINYINT NOT NULL, + `stun_resist` TINYINT NOT NULL, + `wet_resist` TINYINT NOT NULL, + `oil_resist` TINYINT NOT NULL, + `seal_resist` TINYINT NOT NULL, + `curse_resist` TINYINT NOT NULL, + `soft_resist` TINYINT NOT NULL, + `stone_resist` TINYINT NOT NULL, + `gold_resist` TINYINT NOT NULL, + `fire_reduce_resist` TINYINT NOT NULL, + `ice_reduce_resist` TINYINT NOT NULL, + `thunder_reduce_resist` TINYINT NOT NULL, + `holy_reduce_resist` TINYINT NOT NULL, + `dark_reduce_resist` TINYINT NOT NULL, + `atk_down_resist` TINYINT NOT NULL, + `def_down_resist` TINYINT NOT NULL, + `m_atk_down_resist` TINYINT NOT NULL, + `m_def_down_resist` TINYINT NOT NULL, PRIMARY KEY (`character_id`, `job`), CONSTRAINT `fk_character_job_data_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS `ddon_equip_item_info` ( - `character_id` INTEGER NOT NULL, - `job` TINYINT NOT NULL, - `item_id` INT NOT NULL, - `equip_type` TINYINT NOT NULL, - `equip_slot` SMALLINT NOT NULL, - `color` TINYINT NOT NULL, - `plus_value` TINYINT NOT NULL, + `character_id` INTEGER NOT NULL, + `job` TINYINT NOT NULL, + `item_id` INT NOT NULL, + `equip_type` TINYINT NOT NULL, + `equip_slot` SMALLINT NOT NULL, + `color` TINYINT NOT NULL, + `plus_value` TINYINT NOT NULL, PRIMARY KEY (`character_id`, `job`, `equip_type`, `equip_slot`), CONSTRAINT `fk_equip_item_info_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS `ddon_equip_job_item` ( - `character_id` INTEGER NOT NULL, - `job` TINYINT NOT NULL, - `job_item_id` INT NOT NULL, - `equip_slot_no` TINYINT NOT NULL, + `character_id` INTEGER NOT NULL, + `job` TINYINT NOT NULL, + `job_item_id` INT NOT NULL, + `equip_slot_no` TINYINT NOT NULL, PRIMARY KEY (`character_id`, `job`, `equip_slot_no`), CONSTRAINT `fk_equip_job_item_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS `ddon_set_acquirement_param` ( - `character_id` INTEGER NOT NULL, - `job` TINYINT NOT NULL, - `type` TINYINT NOT NULL, - `slot_no` TINYINT NOT NULL, - `acquirement_no` INT NOT NULL, - `acquirement_lv` TINYINT NOT NULL, + `character_id` INTEGER NOT NULL, + `job` TINYINT NOT NULL, + `type` TINYINT NOT NULL, + `slot_no` TINYINT NOT NULL, + `acquirement_no` INT NOT NULL, + `acquirement_lv` TINYINT NOT NULL, PRIMARY KEY (`character_id`, `job`, `slot_no`), CONSTRAINT `fk_set_acquirement_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS `ddon_normal_skill_param` ( - `character_id` INTEGER NOT NULL, - `job` TINYINT NOT NULL, - `skill_no` INT NOT NULL, - `index` INT NOT NULL, - `pre_skill_no` INT NOT NULL, + `character_id` INTEGER NOT NULL, + `job` TINYINT NOT NULL, + `skill_no` INT NOT NULL, + `index` INT NOT NULL, + `pre_skill_no` INT NOT NULL, PRIMARY KEY (`character_id`, `job`, `skill_no`), CONSTRAINT `fk_normal_skill_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); @@ -276,4 +274,13 @@ CREATE TABLE IF NOT EXISTS `ddon_game_token` CONSTRAINT `uq_game_token_token` UNIQUE (`token`), CONSTRAINT `fk_game_token_account_id` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`), CONSTRAINT `fk_game_token_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) +); + +CREATE TABLE IF NOT EXISTS `ddon_connection` +( + `account_id` INTEGER NOT NULL, + `connection_type` INTEGER NOT NULL, + `created` DATETIME NOT NULL, + CONSTRAINT `uq_connection_account_id_created` UNIQUE (`account_id`, `connection_type`), + CONSTRAINT `fk_game_token_account_id` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`) ); \ No newline at end of file diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 8d51c8e6a..332ccbd4d 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -41,5 +41,11 @@ public interface IDatabase GameToken SelectToken(string tokenStr); bool DeleteTokenByAccountId(int accountId); bool DeleteToken(string token); + + // Connections + bool InsertConnection(Connection connection); + List SelectConnections(int accountId); + bool DeleteConnection(int accountId, ConnectionType connectionType); + bool DeleteConnections(int accountId); } } diff --git a/Arrowgene.Ddon.Database/Model/Account.cs b/Arrowgene.Ddon.Database/Model/Account.cs index b6dc7e9f3..cead3d880 100644 --- a/Arrowgene.Ddon.Database/Model/Account.cs +++ b/Arrowgene.Ddon.Database/Model/Account.cs @@ -11,14 +11,12 @@ public class Account public string Mail { get; set; } public string MailToken { get; set; } public string PasswordToken { get; set; } - public bool LoggedIn { get; set; } - public DateTime? ServerTransition { get; set; } public string LoginToken { get; set; } - public DateTime LoginTokenCreated { get; set; } + public DateTime? LoginTokenCreated { get; set; } public bool MailVerified { get; set; } public DateTime? MailVerifiedAt { get; set; } public AccountStateType State { get; set; } - public DateTime? LastLogin { get; set; } + public DateTime? LastAuthentication { get; set; } public DateTime Created { get; set; } public Account() diff --git a/Arrowgene.Ddon.Database/Model/Connection.cs b/Arrowgene.Ddon.Database/Model/Connection.cs new file mode 100644 index 000000000..62ebc6e23 --- /dev/null +++ b/Arrowgene.Ddon.Database/Model/Connection.cs @@ -0,0 +1,15 @@ +using System; + +namespace Arrowgene.Ddon.Database.Model +{ + public class Connection + { + public int AccountId { get; set; } + public ConnectionType ConnectionType { get; set; } + public DateTime Created { get; set; } + + public Connection() + { + } + } +} diff --git a/Arrowgene.Ddon.Database/Model/ConnectionType.cs b/Arrowgene.Ddon.Database/Model/ConnectionType.cs new file mode 100644 index 000000000..0ed7af3ec --- /dev/null +++ b/Arrowgene.Ddon.Database/Model/ConnectionType.cs @@ -0,0 +1,8 @@ +namespace Arrowgene.Ddon.Database.Model +{ + public enum ConnectionType + { + LoginServer, + GameServer, + } +} diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDb.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDb.cs index 656129211..42f1cee1a 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDb.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDb.cs @@ -89,9 +89,13 @@ public static string BuildQueryInsert(params string[][] fieldLists) return sb.ToString(); } - protected override void Exception(Exception ex) + protected override void Exception(Exception ex, string query) { Logger.Exception(ex); + if (query != null) + { + Logger.Error($"Exception during query: {query}"); + } } } } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs index 602b21f51..9ab0776fa 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbAccount.cs @@ -10,7 +10,7 @@ public abstract partial class DdonSqlDb : SqlDb { private static readonly string[] AccountFields = new string[] { - "name", "normal_name", "hash", "mail", "mail_verified", "mail_verified_at", "mail_token", "password_token", "logged_in", "server_transition", "login_token", "login_token_created", "state", "last_login", "created" + "name", "normal_name", "hash", "mail", "mail_verified", "mail_verified_at", "mail_token", "password_token", "login_token", "login_token_created", "state", "last_login", "created" }; private static readonly string SqlInsertAccount = $"INSERT INTO `account` ({BuildQueryField(AccountFields)}) VALUES ({BuildQueryInsert(AccountFields)});"; @@ -39,12 +39,10 @@ public Account CreateAccount(string name, string mail, string hash) AddParameter(command, "@mail_verified_at", account.MailVerifiedAt); AddParameter(command, "@mail_token", account.MailToken); AddParameter(command, "@password_token", account.PasswordToken); - AddParameter(command, "@logged_in", account.LoggedIn); - AddParameter(command, "@server_transition", account.ServerTransition); AddParameter(command, "@login_token", account.LoginToken); AddParameter(command, "@login_token_created", account.LoginTokenCreated); AddParameterEnumInt32(command, "@state", account.State); - AddParameter(command, "@last_login", account.LastLogin); + AddParameter(command, "@last_login", account.LastAuthentication); AddParameter(command, "@created", account.Created); }, out long autoIncrement); if (rowsAffected <= NoRowsAffected || autoIncrement <= NoAutoIncrement) @@ -113,12 +111,10 @@ public bool UpdateAccount(Account account) AddParameter(command, "@mail_verified_at", account.MailVerifiedAt); AddParameter(command, "@mail_token", account.MailToken); AddParameter(command, "@password_token", account.PasswordToken); - AddParameter(command, "@logged_in", account.LoggedIn); - AddParameter(command, "@server_transition", account.ServerTransition); AddParameter(command, "@login_token", account.LoginToken); AddParameter(command, "@login_token_created", account.LoginTokenCreated); AddParameterEnumInt32(command, "@state", account.State); - AddParameter(command, "@last_login", account.LastLogin); + AddParameter(command, "@last_login", account.LastAuthentication); AddParameter(command, "@created", account.Created); AddParameter(command, "@id", account.Id); }); @@ -144,12 +140,10 @@ private Account ReadAccount(DbDataReader reader) account.MailVerifiedAt = GetDateTimeNullable(reader, "mail_verified_at"); account.MailToken = GetStringNullable(reader, "mail_token"); account.PasswordToken = GetStringNullable(reader, "password_token"); - account.LoggedIn = GetBoolean(reader, "logged_in"); - account.ServerTransition = GetDateTimeNullable(reader, "server_transition"); account.LoginToken = GetStringNullable(reader, "login_token"); - account.LoginTokenCreated = GetDateTime(reader, "login_token_created"); + account.LoginTokenCreated = GetDateTimeNullable(reader, "login_token_created"); account.State = (AccountStateType) GetInt32(reader, "state"); - account.LastLogin = GetDateTimeNullable(reader, "last_login"); + account.LastAuthentication = GetDateTimeNullable(reader, "last_login"); account.Created = GetDateTime(reader, "created"); return account; } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs new file mode 100644 index 000000000..0ea1bd56d --- /dev/null +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs @@ -0,0 +1,69 @@ +using System.Collections.Generic; +using System.Data.Common; +using Arrowgene.Ddon.Database.Model; + +namespace Arrowgene.Ddon.Database.Sql.Core +{ + public abstract partial class DdonSqlDb : SqlDb + where TCon : DbConnection + where TCom : DbCommand + { + private const string SqlInsertConnection = + "INSERT INTO `ddon_connection` (`account_id`, `connection_type`, `created`) VALUES (@account_id, @connection_type, @created);"; + + private const string SqlSelectConnection = + "SELECT `account_id`, `connection_type`, `created` FROM `ddon_connection` WHERE `account_id` = @account_id;"; + + private const string SqlDeleteConnections = "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id;"; + + private const string SqlDeleteConnection = + "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id AND `connection_type`=@accounconnection_typet_id ;"; + + public bool InsertConnection(Connection connection) + { + int rowsAffected = ExecuteNonQuery(SqlInsertConnection, command => + { + AddParameter(command, "@account_id", connection.AccountId); + AddParameterEnumInt32(command, "@connection_type", connection.ConnectionType); + AddParameter(command, "@created", connection.Created); + }); + + return rowsAffected > NoRowsAffected; + } + + public List SelectConnections(int accountId) + { + List connections = new List(); + ExecuteReader(SqlSelectConnection, command => { AddParameter(command, "@account_id", accountId); }, + reader => + { + while (reader.Read()) + { + Connection connection = new Connection(); + connection.AccountId = GetInt32(reader, "account_id"); + connection.ConnectionType = GetEnumInt32(reader, "connection_type"); + connection.Created = GetDateTime(reader, "created"); + connections.Add(connection); + } + }); + return connections; + } + + public bool DeleteConnection(int accountId, ConnectionType connectionType) + { + int rowsAffected = ExecuteNonQuery(SqlDeleteConnection, command => + { + AddParameter(command, "@account_id", accountId); + AddParameterEnumInt32(command, "@connection_type", connectionType); + }); + return rowsAffected > NoRowsAffected; + } + + public bool DeleteConnections(int accountId) + { + int rowsAffected = ExecuteNonQuery(SqlDeleteConnections, + command => { AddParameter(command, "@account_id", accountId); }); + return rowsAffected > NoRowsAffected; + } + } +} diff --git a/Arrowgene.Ddon.Database/Sql/SqlDb.cs b/Arrowgene.Ddon.Database/Sql/SqlDb.cs index 018f0facb..915145a12 100644 --- a/Arrowgene.Ddon.Database/Sql/SqlDb.cs +++ b/Arrowgene.Ddon.Database/Sql/SqlDb.cs @@ -27,15 +27,16 @@ public abstract int Upsert(string table, string[] columns, object[] values, stri public bool ExecuteInTransaction(Action action) { - using(TCon connection = Connection()) + using (TCon connection = Connection()) { - try { + try + { Execute(connection, "BEGIN TRANSACTION"); action(connection); Execute(connection, "COMMIT"); return true; } - catch(Exception ex) + catch (Exception ex) { Execute(connection, "ROLLBACK"); Exception(ex); @@ -55,7 +56,7 @@ public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction) { bool autoCloseConnection = false; TCon connection = conn; - if(connection == null) + if (connection == null) { autoCloseConnection = true; connection = Connection(); @@ -68,7 +69,7 @@ public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction) rowsAffected = command.ExecuteNonQuery(); } - if(autoCloseConnection) + if (autoCloseConnection) { connection.Close(); } @@ -77,7 +78,7 @@ public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction) } catch (Exception ex) { - Exception(ex); + Exception(ex, query); return NoRowsAffected; } } @@ -93,7 +94,7 @@ public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction, { bool autoCloseConnection = false; TCon connection = conn; - if(connection == null) + if (connection == null) { autoCloseConnection = true; connection = Connection(); @@ -107,7 +108,7 @@ public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction, autoIncrement = AutoIncrement(connection, command); } - if(autoCloseConnection) + if (autoCloseConnection) { connection.Close(); } @@ -116,7 +117,7 @@ public int ExecuteNonQuery(TCon conn, string query, Action nonQueryAction, } catch (Exception ex) { - Exception(ex); + Exception(ex, query); autoIncrement = NoAutoIncrement; return NoRowsAffected; } @@ -133,7 +134,7 @@ public void ExecuteReader(TCon conn, string query, Action nonQueryAction, { bool autoCloseConnection = false; TCon connection = conn; - if(connection == null) + if (connection == null) { autoCloseConnection = true; connection = Connection(); @@ -148,14 +149,14 @@ public void ExecuteReader(TCon conn, string query, Action nonQueryAction, } } - if(autoCloseConnection) + if (autoCloseConnection) { connection.Close(); } } catch (Exception ex) { - Exception(ex); + Exception(ex, query); } } @@ -170,7 +171,7 @@ public void ExecuteReader(TCon conn, string query, Action readActi { bool autoCloseConnection = false; TCon connection = conn; - if(connection == null) + if (connection == null) { autoCloseConnection = true; connection = Connection(); @@ -184,14 +185,14 @@ public void ExecuteReader(TCon conn, string query, Action readActi } } - if(autoCloseConnection) + if (autoCloseConnection) { connection.Close(); } } catch (Exception ex) { - Exception(ex); + Exception(ex, query); } } @@ -206,7 +207,7 @@ public void Execute(TCon conn, string query) { bool autoCloseConnection = false; TCon connection = conn; - if(connection == null) + if (connection == null) { autoCloseConnection = true; connection = Connection(); @@ -217,14 +218,14 @@ public void Execute(TCon conn, string query) command.ExecuteNonQuery(); } - if(autoCloseConnection) + if (autoCloseConnection) { connection.Close(); } } catch (Exception ex) { - Exception(ex); + Exception(ex, query); } } @@ -239,7 +240,7 @@ public string ServerVersion(TCon conn) { bool autoCloseConnection = false; TCon connection = conn; - if(connection == null) + if (connection == null) { autoCloseConnection = true; connection = Connection(); @@ -247,7 +248,7 @@ public string ServerVersion(TCon conn) string serverVersion = connection.ServerVersion; - if(autoCloseConnection) + if (autoCloseConnection) { connection.Close(); } @@ -261,7 +262,7 @@ public string ServerVersion(TCon conn) } } - protected virtual void Exception(Exception ex) + protected virtual void Exception(Exception ex, string query = null) { throw ex; } @@ -313,7 +314,7 @@ protected void AddParameter(TCom command, string name, UInt32 value) protected void AddParameterEnumInt32(TCom command, string name, T value) where T : Enum { - AddParameter(command, name, (Int32) (object) value, DbType.Int32); + AddParameter(command, name, (Int32)(object)value, DbType.Int32); } protected void AddParameter(TCom command, string name, DateTime? value) @@ -373,7 +374,7 @@ protected short GetInt16(DbDataReader reader, string column) protected ushort GetUInt16(DbDataReader reader, string column) { - return (ushort) reader.GetInt16(reader.GetOrdinal(column)); + return (ushort)reader.GetInt16(reader.GetOrdinal(column)); } protected float GetFloat(DbDataReader reader, string column) @@ -391,6 +392,11 @@ protected bool GetBoolean(DbDataReader reader, string column) return reader.GetBoolean(reader.GetOrdinal(column)); } + protected T GetEnumInt32(DbDataReader reader, string column) where T : Enum + { + return (T)(object)reader.GetInt32(reader.GetOrdinal(column)); + } + protected DateTime GetDateTime(DbDataReader reader, string column) { return reader.GetDateTime(reader.GetOrdinal(column)); diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 7f68433d0..e3b09a0be 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -23,6 +23,7 @@ using System; using System.Collections.Generic; using Arrowgene.Ddon.Database; +using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.GameServer.Chat; using Arrowgene.Ddon.GameServer.Chat.Command; using Arrowgene.Ddon.GameServer.Chat.Log; @@ -106,6 +107,12 @@ protected override void ClientDisconnected(GameClient client) { ClientLookup.Remove(client); + Account account = client.Account; + if (account != null) + { + Database.DeleteConnection(client.Account.Id, ConnectionType.GameServer); + } + EventHandler connectionChangeEvent = ClientConnectionChangeEvent; if (connectionChangeEvent != null) { diff --git a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs index e7eb663eb..5b1550acd 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs @@ -4,7 +4,6 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -23,8 +22,9 @@ public ConnectionLoginHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { client.SetChallengeCompleted(true); - - Logger.Debug(client, $"Received SessionKey:{packet.Structure.SessionKey} for platform:{packet.Structure.PlatformType}"); + + Logger.Debug(client, + $"Received SessionKey:{packet.Structure.SessionKey} for platform:{packet.Structure.PlatformType}"); S2CConnectionLoginRes res = new S2CConnectionLoginRes(); GameToken token = Database.SelectToken(packet.Structure.SessionKey); @@ -51,6 +51,35 @@ public override void Handle(GameClient client, StructurePacket connections = Database.SelectConnections(account.Id); + if (connections.Count > 0) + { + foreach (Connection con in connections) + { + if (con.ConnectionType == ConnectionType.GameServer) + { + Logger.Error(client, $"game server connection already exists"); + res.Error = 1; + client.Send(res); + return; + } + } + } + + Connection connection = new Connection(); + connection.Created = now; + connection.AccountId = account.Id; + connection.ConnectionType = ConnectionType.GameServer; + if (!Database.InsertConnection(connection)) + { + Logger.Error(client, $"Failed to register game connection"); + res.Error = 1; + client.Send(res); + return; + } + Character character = Database.SelectCharacter(token.CharacterId); if (character == null) { @@ -68,7 +97,7 @@ public override void Handle(GameClient client, StructurePacket packet) { + DateTime now = DateTime.Now; client.SetChallengeCompleted(true); string oneTimeToken = packet.Structure.OneTimeToken; @@ -51,7 +52,6 @@ public override void Handle(LoginClient client, StructurePacket pac Logger.Error(client, "Invalid OneTimeToken"); res.Error = 1; client.Send(res); - ReleaseToken(oneTimeToken); return; } } @@ -71,7 +71,6 @@ public override void Handle(LoginClient client, StructurePacket pac "Could not create account from OneTimeToken, choose another token"); res.Error = 2; client.Send(res); - ReleaseToken(oneTimeToken); return; } @@ -79,56 +78,50 @@ public override void Handle(LoginClient client, StructurePacket pac } account.LoginToken = oneTimeToken; - account.LoginTokenCreated = DateTime.Now; + account.LoginTokenCreated = now; } } - if (account.LoggedIn) + if (!account.LoginTokenCreated.HasValue) { - LoginClient loggedInClient = Server.ClientLookup.GetClientByAccountId(account.Id); - if (loggedInClient != null) - { - // see if the client has a active login connection and close it - loggedInClient.Close(); - } - - if (!account.LastLogin.HasValue) - { - Logger.Error(client, "has no last log in, despite flagged as logged in"); - account.LastLogin = DateTime.Now; - Database.UpdateAccount(account); - } + Logger.Error(client, "No login token exists"); + res.Error = 2; + client.Send(res); + return; + } - TimeSpan lastLoginAge = account.LastLogin.Value - DateTime.Now; - if (lastLoginAge < TimeSpan.FromMinutes(1)) // TODO convert to setting - { - // - Logger.Error(client, $"LastLogin at: {account.LastLogin.Value} is to early"); - res.Error = 1; - client.Send(res); - ReleaseToken(oneTimeToken); - return; - } + TimeSpan loginTokenAge = account.LoginTokenCreated.Value - now; + if (loginTokenAge > TimeSpan.FromDays(1)) // TODO convert to setting + { + Logger.Error(client, $"OneTimeToken Created at: {account.LoginTokenCreated} expired."); + res.Error = 1; + client.Send(res); + return; + } - Logger.Error(client, $"already logged in"); + List connections = Database.SelectConnections(account.Id); + if (connections.Count > 0) + { + // todo check connection age? + Logger.Error(client, $"Already logged in"); res.Error = 1; client.Send(res); - ReleaseToken(oneTimeToken); return; } - TimeSpan loginTokenAge = account.LoginTokenCreated - DateTime.Now; - if (loginTokenAge > TimeSpan.FromDays(1)) // TODO convert to setting + Connection connection = new Connection(); + connection.Created = now; + connection.AccountId = account.Id; + connection.ConnectionType = ConnectionType.LoginServer; + if (!Database.InsertConnection(connection)) { - Logger.Error(client, $"OneTimeToken Created at: {account.LoginTokenCreated} expired."); + Logger.Error(client, $"Failed to register login connection"); res.Error = 1; client.Send(res); - ReleaseToken(oneTimeToken); return; } - account.LastLogin = DateTime.Now; - account.LoggedIn = true; + account.LastAuthentication = now; Database.UpdateAccount(account); client.Account = account; @@ -139,7 +132,6 @@ public override void Handle(LoginClient client, StructurePacket pac } finally { - // in case of a exception, ensure our token is not locked up forever ReleaseToken(oneTimeToken); } } From 55b9aa7bf808adb795fae5bad19f6b0588a4cd88 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 22 Sep 2022 20:44:05 +0800 Subject: [PATCH 34/72] typo --- Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs index 0ea1bd56d..56147e154 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs @@ -17,7 +17,7 @@ public abstract partial class DdonSqlDb : SqlDb private const string SqlDeleteConnections = "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id;"; private const string SqlDeleteConnection = - "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id AND `connection_type`=@accounconnection_typet_id ;"; + "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id AND `connection_type`=@connection_type ;"; public bool InsertConnection(Connection connection) { From a42ef4250befc1cab78ead008ffe5c9fbb67c27f Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Fri, 23 Sep 2022 15:02:20 +0800 Subject: [PATCH 35/72] use serverId for connection tracking --- .../Files/Database/Script/schema_sqlite.sql | 9 +++-- Arrowgene.Ddon.Database/IDatabase.cs | 7 ++-- Arrowgene.Ddon.Database/Model/Connection.cs | 3 +- .../Sql/Core/DdonSqlDbConnection.cs | 40 +++++++++++++------ Arrowgene.Ddon.GameServer/DdonGameServer.cs | 5 +-- .../GameServerSetting.cs | 3 +- .../Handler/ConnectionLoginHandler.cs | 9 +++-- Arrowgene.Ddon.LoginServer/DdonLoginServer.cs | 2 +- .../Handler/ClientLoginHandler.cs | 7 ++-- .../Handler/GetErrorMessageListHandler.cs | 1 + .../LoginServerSetting.cs | 11 ++--- Arrowgene.Ddon.Server/DdonServer.cs | 4 ++ Arrowgene.Ddon.Server/ServerSetting.cs | 16 +++++--- 13 files changed, 73 insertions(+), 44 deletions(-) diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 57011c730..25eaa1d36 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -278,9 +278,10 @@ CREATE TABLE IF NOT EXISTS `ddon_game_token` CREATE TABLE IF NOT EXISTS `ddon_connection` ( - `account_id` INTEGER NOT NULL, - `connection_type` INTEGER NOT NULL, - `created` DATETIME NOT NULL, - CONSTRAINT `uq_connection_account_id_created` UNIQUE (`account_id`, `connection_type`), + `server_id` INTEGER NOT NULL, + `account_id` INTEGER NOT NULL, + `type` INTEGER NOT NULL, + `created` DATETIME NOT NULL, + CONSTRAINT `uq_connection_server_id_account_d` UNIQUE (`server_id`, `account_id`), CONSTRAINT `fk_game_token_account_id` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`) ); \ No newline at end of file diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 332ccbd4d..4a23412c6 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -44,8 +44,9 @@ public interface IDatabase // Connections bool InsertConnection(Connection connection); - List SelectConnections(int accountId); - bool DeleteConnection(int accountId, ConnectionType connectionType); - bool DeleteConnections(int accountId); + List SelectConnectionsByAccountId(int accountId); + bool DeleteConnection(int serverId, int accountId); + bool DeleteConnectionsByAccountId(int accountId); + bool DeleteConnectionsByServerId(int serverId); } } diff --git a/Arrowgene.Ddon.Database/Model/Connection.cs b/Arrowgene.Ddon.Database/Model/Connection.cs index 62ebc6e23..1eae8abf0 100644 --- a/Arrowgene.Ddon.Database/Model/Connection.cs +++ b/Arrowgene.Ddon.Database/Model/Connection.cs @@ -4,8 +4,9 @@ namespace Arrowgene.Ddon.Database.Model { public class Connection { + public int ServerId { get; set; } public int AccountId { get; set; } - public ConnectionType ConnectionType { get; set; } + public ConnectionType Type { get; set; } public DateTime Created { get; set; } public Connection() diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs index 56147e154..c9a0e6f77 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbConnection.cs @@ -9,39 +9,46 @@ public abstract partial class DdonSqlDb : SqlDb where TCom : DbCommand { private const string SqlInsertConnection = - "INSERT INTO `ddon_connection` (`account_id`, `connection_type`, `created`) VALUES (@account_id, @connection_type, @created);"; + "INSERT INTO `ddon_connection` (`server_id`, `account_id`, `type`, `created`) VALUES (@server_id, @account_id, @type, @created);"; - private const string SqlSelectConnection = - "SELECT `account_id`, `connection_type`, `created` FROM `ddon_connection` WHERE `account_id` = @account_id;"; + private const string SqlSelectConnectionsByAccountId = + "SELECT `server_id`, `account_id`, `type`, `created` FROM `ddon_connection` WHERE `account_id` = @account_id;"; - private const string SqlDeleteConnections = "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id;"; + private const string SqlDeleteConnectionsByAccountId = + "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id;"; + + private const string SqlDeleteConnectionsByServerId = + "DELETE FROM `ddon_connection` WHERE `server_id`=@server_id;"; private const string SqlDeleteConnection = - "DELETE FROM `ddon_connection` WHERE `account_id`=@account_id AND `connection_type`=@connection_type ;"; + "DELETE FROM `ddon_connection` WHERE `server_id`=@server_id AND `account_id`=@account_id;"; public bool InsertConnection(Connection connection) { int rowsAffected = ExecuteNonQuery(SqlInsertConnection, command => { + AddParameter(command, "@server_id", connection.ServerId); AddParameter(command, "@account_id", connection.AccountId); - AddParameterEnumInt32(command, "@connection_type", connection.ConnectionType); + AddParameterEnumInt32(command, "@type", connection.Type); AddParameter(command, "@created", connection.Created); }); return rowsAffected > NoRowsAffected; } - public List SelectConnections(int accountId) + public List SelectConnectionsByAccountId(int accountId) { List connections = new List(); - ExecuteReader(SqlSelectConnection, command => { AddParameter(command, "@account_id", accountId); }, + ExecuteReader(SqlSelectConnectionsByAccountId, + command => { AddParameter(command, "@account_id", accountId); }, reader => { while (reader.Read()) { Connection connection = new Connection(); + connection.ServerId = GetInt32(reader, "server_id"); connection.AccountId = GetInt32(reader, "account_id"); - connection.ConnectionType = GetEnumInt32(reader, "connection_type"); + connection.Type = GetEnumInt32(reader, "type"); connection.Created = GetDateTime(reader, "created"); connections.Add(connection); } @@ -49,21 +56,28 @@ public List SelectConnections(int accountId) return connections; } - public bool DeleteConnection(int accountId, ConnectionType connectionType) + public bool DeleteConnection(int serverId, int accountId) { int rowsAffected = ExecuteNonQuery(SqlDeleteConnection, command => { + AddParameter(command, "@server_id", serverId); AddParameter(command, "@account_id", accountId); - AddParameterEnumInt32(command, "@connection_type", connectionType); }); return rowsAffected > NoRowsAffected; } - public bool DeleteConnections(int accountId) + public bool DeleteConnectionsByAccountId(int accountId) { - int rowsAffected = ExecuteNonQuery(SqlDeleteConnections, + int rowsAffected = ExecuteNonQuery(SqlDeleteConnectionsByAccountId, command => { AddParameter(command, "@account_id", accountId); }); return rowsAffected > NoRowsAffected; } + + public bool DeleteConnectionsByServerId(int serverId) + { + int rowsAffected = ExecuteNonQuery(SqlDeleteConnectionsByServerId, + command => { AddParameter(command, "@server_id", serverId); }); + return rowsAffected > NoRowsAffected; + } } } diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index e3b09a0be..b4025e46e 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -66,7 +66,6 @@ public DdonGameServer(GameServerSetting setting, IDatabase database, AssetReposi } public event EventHandler ClientConnectionChangeEvent; - public GameServerSetting Setting { get; } public ChatManager ChatManager { get; } public EnemyManager EnemyManager { get; } @@ -90,6 +89,7 @@ public override void Start() base.Start(); } + protected override void ClientConnected(GameClient client) { client.InitializeChallenge(); @@ -110,7 +110,7 @@ protected override void ClientDisconnected(GameClient client) Account account = client.Account; if (account != null) { - Database.DeleteConnection(client.Account.Id, ConnectionType.GameServer); + Database.DeleteConnection(Id, client.Account.Id); } EventHandler connectionChangeEvent = ClientConnectionChangeEvent; @@ -130,7 +130,6 @@ public override GameClient NewClient(ITcpSocket socket) return newClient; } - public Party NewParty() { Party newParty = new Party(); diff --git a/Arrowgene.Ddon.GameServer/GameServerSetting.cs b/Arrowgene.Ddon.GameServer/GameServerSetting.cs index 2260fd72a..83f7d81cf 100644 --- a/Arrowgene.Ddon.GameServer/GameServerSetting.cs +++ b/Arrowgene.Ddon.GameServer/GameServerSetting.cs @@ -11,8 +11,9 @@ public class GameServerSetting public GameServerSetting() { ServerSetting = new ServerSetting(); - ServerSetting.ServerPort = 52000; + ServerSetting.Id = 10; ServerSetting.Name = "Game"; + ServerSetting.ServerPort = 52000; ServerSetting.ServerSocketSettings.Identity = "Game"; } diff --git a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs index 5b1550acd..a3e3c6288 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs @@ -53,12 +53,12 @@ public override void Handle(GameClient client, StructurePacket connections = Database.SelectConnections(account.Id); + List connections = Database.SelectConnectionsByAccountId(account.Id); if (connections.Count > 0) { foreach (Connection con in connections) { - if (con.ConnectionType == ConnectionType.GameServer) + if (con.Type == ConnectionType.GameServer) { Logger.Error(client, $"game server connection already exists"); res.Error = 1; @@ -69,9 +69,10 @@ public override void Handle(GameClient client, StructurePacket pac return; } - List connections = Database.SelectConnections(account.Id); + List connections = Database.SelectConnectionsByAccountId(account.Id); if (connections.Count > 0) { // todo check connection age? @@ -110,9 +110,10 @@ public override void Handle(LoginClient client, StructurePacket pac } Connection connection = new Connection(); - connection.Created = now; + connection.ServerId = Server.Id; connection.AccountId = account.Id; - connection.ConnectionType = ConnectionType.LoginServer; + connection.Type = ConnectionType.LoginServer; + connection.Created = now; if (!Database.InsertConnection(connection)) { Logger.Error(client, $"Failed to register login connection"); diff --git a/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs index cf49fe978..792364fe6 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs @@ -1,6 +1,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; diff --git a/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs b/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs index 16e7fea53..01a8e7ff2 100644 --- a/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs +++ b/Arrowgene.Ddon.LoginServer/LoginServerSetting.cs @@ -37,12 +37,13 @@ public class LoginServerSetting public LoginServerSetting() { ServerSetting = new ServerSetting(); - ServerSetting.ServerPort = 52100; + ServerSetting.Id = 1; ServerSetting.Name = "Login"; + ServerSetting.ServerPort = 52100; ServerSetting.ServerSocketSettings.Identity = "Login"; - + AccountRequired = false; - + JobLevelMax = 65; ClanMemberMax = 100; CharacterNumMax = 4; @@ -75,9 +76,9 @@ public LoginServerSetting() public LoginServerSetting(LoginServerSetting setting) { ServerSetting = new ServerSetting(setting.ServerSetting); - + AccountRequired = setting.AccountRequired; - + JobLevelMax = setting.JobLevelMax; ClanMemberMax = setting.ClanMemberMax; CharacterNumMax = setting.CharacterNumMax; diff --git a/Arrowgene.Ddon.Server/DdonServer.cs b/Arrowgene.Ddon.Server/DdonServer.cs index 16af00cb2..4876141d0 100644 --- a/Arrowgene.Ddon.Server/DdonServer.cs +++ b/Arrowgene.Ddon.Server/DdonServer.cs @@ -64,11 +64,15 @@ public DdonServer(ServerSetting setting, IDatabase database, AssetRepository ass ); } + public int Id => _setting.Id; + public string Name => _setting.Name; + public AssetRepository AssetRepository { get; } public IDatabase Database { get; } public virtual void Start() { + Database.DeleteConnectionsByServerId(Id); Logger.Info($"[{_setting.ServerSocketSettings.Identity}] Listening: {_server.IpAddress}:{_server.Port}"); _server.Start(); } diff --git a/Arrowgene.Ddon.Server/ServerSetting.cs b/Arrowgene.Ddon.Server/ServerSetting.cs index 49ab1cb7f..c66c215bf 100644 --- a/Arrowgene.Ddon.Server/ServerSetting.cs +++ b/Arrowgene.Ddon.Server/ServerSetting.cs @@ -7,18 +7,20 @@ namespace Arrowgene.Ddon.Server [DataContract] public class ServerSetting { - [IgnoreDataMember] public IPAddress ListenIpAddress { get; set; } + public const int InvalidId = -1; + [DataMember(Order = 0)] public int Id { get; set; } + [DataMember(Order = 1)] public string Name { get; set; } + [IgnoreDataMember] public IPAddress ListenIpAddress { get; set; } - [DataMember(Name = "ListenIpAddress", Order = 0)] + [DataMember(Name = "ListenIpAddress", Order = 5)] public string DataListenIpAddress { get => ListenIpAddress.ToString(); set => ListenIpAddress = string.IsNullOrEmpty(value) ? null : IPAddress.Parse(value); } - [DataMember(Order = 2)] public ushort ServerPort { get; set; } - [DataMember(Order = 3)] public string Name { get; set; } + [DataMember(Order = 6)] public ushort ServerPort { get; set; } [DataMember(Order = 20)] public int LogLevel { get; set; } [DataMember(Order = 21)] public bool LogUnknownPackets { get; set; } [DataMember(Order = 22)] public bool LogOutgoingPackets { get; set; } @@ -31,9 +33,10 @@ public string DataListenIpAddress public ServerSetting() { + Id = InvalidId; + Name = ""; ListenIpAddress = IPAddress.Any; ServerPort = 52100; - Name = ""; LogLevel = 0; LogUnknownPackets = true; LogOutgoingPackets = true; @@ -48,9 +51,10 @@ public ServerSetting() public ServerSetting(ServerSetting setting) { + Id = setting.Id; + Name = setting.Name; ListenIpAddress = setting.ListenIpAddress; ServerPort = setting.ServerPort; - Name = setting.Name; LogLevel = setting.LogLevel; LogUnknownPackets = setting.LogUnknownPackets; LogOutgoingPackets = setting.LogOutgoingPackets; From 2ff97e2b8c796cca101eb2b0856339da328fed0f Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Fri, 23 Sep 2022 15:28:14 +0800 Subject: [PATCH 36/72] ensure order --- .../Handler/ConnectionLoginHandler.cs | 10 ++++++++-- .../Handler/ClientLoginHandler.cs | 16 ++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs index a3e3c6288..775915896 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ConnectionLoginHandler.cs @@ -67,7 +67,13 @@ public override void Handle(GameClient client, StructurePacket pac client.Send(res); return; } - + + // Order Important, + // account need to be only assigned after + // verification that no connection exists, and before + // registering the connection + client.Account = account; + Connection connection = new Connection(); connection.ServerId = Server.Id; connection.AccountId = account.Id; @@ -122,13 +128,11 @@ public override void Handle(LoginClient client, StructurePacket pac return; } - account.LastAuthentication = now; - Database.UpdateAccount(account); - - client.Account = account; + client.Account.LastAuthentication = now; client.UpdateIdentity(); - Logger.Info(client, "Logged In"); + Database.UpdateAccount(client.Account); + Logger.Info(client, "Logged In"); client.Send(res); } finally From 243bf6283e1a6cad88dee7daaf3d7e4f5382c548 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Fri, 23 Sep 2022 15:31:50 +0800 Subject: [PATCH 37/72] typo --- Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 25eaa1d36..22c92a3ba 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -282,6 +282,6 @@ CREATE TABLE IF NOT EXISTS `ddon_connection` `account_id` INTEGER NOT NULL, `type` INTEGER NOT NULL, `created` DATETIME NOT NULL, - CONSTRAINT `uq_connection_server_id_account_d` UNIQUE (`server_id`, `account_id`), + CONSTRAINT `uq_connection_server_id_account_id` UNIQUE (`server_id`, `account_id`), CONSTRAINT `fk_game_token_account_id` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`) ); \ No newline at end of file From ca27352e32e3189a18024b7b6bdbbba11b3d8286 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 25 Sep 2022 20:26:11 +0200 Subject: [PATCH 38/72] Updated Arisen.csv --- Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv b/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv index 93909fe7f..797e8f66a 100644 --- a/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv +++ b/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv @@ -1,12 +1,12 @@ #Class,Lv,HP,Stamina,RevivePoint,MaxHP,MaxStamina,WhiteHP,GainHP,GainStamina,GainAttack,GainDefense,GainMagicAttack,GainMagicDefense,CustomSkill-1(MainPalette),CS1MP-Lv,CustomSkill-2(MP),CS2MP-Lv,CustomSkill-3(MP),CS3MP-Lv,CustomSkill-4(MP),CS4MP-Lv,CustomSkill-1(SubPalette),CS1SP-Lv,CustomSkill-2(SP),CS2SP-Lv,CustomSkill-3(SP),CS3SP-Lv,CustomSkill-4(SP),CS4SP-Lv,*,Ability-1,Ab1Lv,*,Ability-2,Ab2Lv,*,Ability-3,Ab3Lv,*,Ability-4,Ab4Lv,*,Ability-5,Ab5Lv,*,Ability-6,Ab6Lv,*,Ability-7,Ab7Lv,*,Ability-8,Ab8Lv,*,Ability-9,Ab9Lv,*,Ability-10,Ab10Lv,PAtk,PDef,MAtk,MDef,PrimaryWeapon,PrimaryWeaponColour,PWCrest1,PWC1Add1,PWC1Add2,PWCrest2,PWC2Add1,PWC2Add2,PWCrest3,PWC3Add1,PWC3Add2,PWCrest4,PWC4Add1,PWC4Add2,SecondaryWeapon,SecondaryWeaponColour,Head,HeadColour,HeadCrest1,HC1Add1,HC1Add2,HeadCrest2,HC2Add1,HC2Add2,HeadCrest3,HC3Add1,HC3Add2,Body,BodyColour,BodyCrest1,BC1Add1,BC1Add2,BodyCrest2,BC2Add1,BC2Add2,BodyCrest3,BC3Add1,BC3Add2,BodyCrest4,BC4Add1,BC4Add2,Clothing,ClothingColour,Arm,ArmColour,ArmCrest1,AC1Add1,AC1Add2,ArmCrest2,AC2Add1,AC2Add2,ArmCrest3,AC3Add1,AC3Add2,Leg,LegColour,LegCrest1,LC1Add1,LC1Add2,LegCrest2,LC2Add1,LC2Add2,LegCrest3,LC3Add1,LC3Add2,Legwear,LegwearColour,Overwear,OverwearColour,Lantern,HideHelmet,HideLantern,VPrimaryWeapon,VPrimaryWeaponColour,VSecondaryWeapon,VSecondaryWeaponColour,VHead,VHeadColour,VBody,VBodyColour,VClothing,VClothingColour,VArm,VArmColour,VLeg,VLegColour,VLegwear,VLegwearColour,VOverwear,VOverwearColour,ClassItem1,ClassItem2,Jewelry1,J1Crest1,J1C1Add1,J1C1Add2,J1Crest2,J1C2Add1,J1C2Add2,J1Crest3,J1C3Add1,J1C3Add2,J1Crest4,J1C4Add1,J1C4Add2,Jewelry2,J2Crest1,J2C1Add1,J2C1Add2,J2Crest2,J2C2Add1,J2C2Add2,J2Crest3,J2C3Add1,J2C3Add2,J2Crest4,J2C4Add1,J2C4Add2,Jewelry3,J3Crest1,J3C1Add1,J3C1Add2,J3Crest2,J3C2Add1,J3C2Add2,J3Crest3,J3C3Add1,J3C3Add2,J3Crest4,J3C4Add1,J3C4Add2,Jewelry4,J4Crest1,J4C1Add1,J4C1Add2,J4Crest2,J4C2Add1,J4C2Add2,J4Crest3,J4C3Add1,J4C3Add2,J4Crest4,J4C4Add1,J4C4Add2,Jewelry5,J5Crest1,J5C1Add1,J5C1Add2,J5Crest2,J5C2Add1,J5C2Add2,J5Crest3,J5C3Add1,J5C3Add2,J5Crest4,J5C4Add1,J5C4Add2,Exp,JobPoint,Strength,DownPower,ShakePower,StunPower,Consitution,Guts,FireResist,IceResist,ThunderResist,HolyResist,DarkResist,SpreadResist,FreezeResist,ShockResist,AbsorbResist,DarkElmResist,PoisonResist,SlowResist,SleepResist,StunResist,WetResist,OilResist,SealResist,CurseResist,SoftResist,StoneResist,GoldResist,FireReduceResist,IceReduceResist,ThunderReduceResist,HolyReduceResist,DarkReduceResist,AtkDownResist,DefDownResist,MAtkDownResist,MDefDownResist,NormalSkill1A,NormalSkill1B,NormalSkill2A,NormalSkill2B,NormalSkill3A,NormalSkill3B 1,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,6,6,0,5,6,500,500,500,500,20116,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20135,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19149,5,14040,5,21294,8,4223,0,24620,5,12808,0,15404,5,509,0,8783,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -2,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,113,6,0,117,6,0,103,6,500,500,500,500,20116,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20232,5,0,0,12651,5,12771,5,8533,5,12908,5,13028,5,8713,0,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +2,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,113,6,0,117,6,0,103,6,500,500,500,500,20232,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20232,5,0,0,12651,5,12771,5,8533,5,12908,5,13028,5,8713,0,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 3,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,38,6,0,31,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14557,0,0,0,14983,0,15143,0,24620,5,15354,0,15514,0,509,0,15609,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 4,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,54,6,0,165,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,12436,0,0,0,12576,0,12696,0,24620,5,12833,0,12953,0,509,0,13168,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 5,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,6,6,0,5,6,500,500,500,500,20186,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20210,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19162,5,19842,5,14877,5,14993,5,24620,5,15203,5,15364,5,509,8,15589,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -6,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,129,6,0,128,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20360,0,0,0,11749,0,15058,0,24620,0,15283,0,15444,5,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -7,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,178,6,0,391,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20162,0,0,0,14867,0,15038,0,24620,0,15248,0,15409,0,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -8,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,379,6,0,165,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20304,0,0,0,20448,0,20459,0,21056,8,20474,0,20493,0,21071,8,21086,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -9,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,204,6,0,201,6,0,221,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20275,3,0,0,12606,0,12726,0,24620,0,12863,0,12983,0,509,0,13168,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -10,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,406,6,0,440,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20388,0,0,0,21294,8,20519,0,18449,0,20534,0,20549,0,18464,0,8818,8,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -11,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,208,6,0,165,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20407,5,0,0,11749,0,477,5,24620,0,5163,0,481,8,509,8,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 \ No newline at end of file +6,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,129,6,0,128,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14732,0,0,0,11749,0,15058,0,24620,0,15283,0,15444,5,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +7,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,178,6,0,391,6,500,500,500,500,20162,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14367,0,0,0,14867,0,15038,0,24620,0,15248,0,15409,0,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +8,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,379,6,0,165,6,500,500,500,500,20304,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19182,0,0,0,21294,0,17656,0,21352,5,17716,0,17776,0,21071,8,17851,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +9,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,201,6,0,204,6,0,221,6,500,500,500,500,20275,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19178,3,0,0,11749,0,12726,0,24620,0,12863,0,12983,0,509,0,13168,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +10,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,406,6,0,440,6,500,500,500,500,20388,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14832,0,0,0,21294,8,20519,0,18449,0,20534,0,20549,0,18464,0,8818,8,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 +11,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,208,6,0,165,6,500,500,500,500,20412,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20407,5,0,0,11749,0,477,5,24620,0,5163,0,481,8,509,8,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 \ No newline at end of file From a2f033c8f6a0d9a38031a7dd9f8acd5a5cae37c7 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 25 Sep 2022 20:30:34 +0200 Subject: [PATCH 39/72] Updated enemy sets commit 4ba98132622699871a44b894fbcfd22233b13b74 of https://github.com/109bat/DDON-enemy-placements --- .../Files/Assets/EnemySpawn.csv | 1831 +++++++++++++---- 1 file changed, 1461 insertions(+), 370 deletions(-) diff --git a/Arrowgene.Ddon.Shared/Files/Assets/EnemySpawn.csv b/Arrowgene.Ddon.Shared/Files/Assets/EnemySpawn.csv index 37deaa544..5ffbbd88d 100644 --- a/Arrowgene.Ddon.Shared/Files/Assets/EnemySpawn.csv +++ b/Arrowgene.Ddon.Shared/Files/Assets/EnemySpawn.csv @@ -1,371 +1,1462 @@ #StageId,LayerNo,GroupId,SubGroupId,EnemyId,NamedEnemyParamsId,RaidBossId,Scale,Lv,HmPresetNo,StartThinkTblNo,RepopNum,RepopCount,EnemyTargetTypesId,MontageFixNo,SetType,InfectionType,IsBossGauge,IsBossBGM,IsManualSet,IsAreaBoss,IsBloodEnemy,Unk0 -1,0,0,0,0x10100,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,1,0,0x11200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,1,0,0x11200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,2,0,0x10100,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,2,0,0x10100,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,2,0,0x10103,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,2,0,0x10102,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,3,0,0x11200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,3,0,0x11200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,7,0,0x10100,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,7,0,0x10101,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,7,0,0x10103,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,7,0,0x10104,0x8,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,8,0,0x18300,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,8,0,0x18300,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,101,0,0x15000,0x8,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,110,0,0x10101,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,110,0,0x10600,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,111,0,0x10101,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,111,0,0x10103,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,112,0,0x10102,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,113,0,0x10103,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,113,0,0x10100,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,113,0,0x10100,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,115,0,0x18601,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,115,0,0x18601,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,118,0,0x11000,0x8FA,0,100,11,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,118,0,0x11006,0x8FA,0,100,12,51,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,118,0,0x11003,0x8FA,0,100,11,48,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,126,0,0x10401,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,126,0,0x10401,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,126,0,0x10400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,128,0,0x10400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,128,0,0x10400,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,129,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,129,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,129,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,130,0,0x10400,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,130,0,0x10400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,130,0,0x10400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,133,0,0x15504,0x8,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,134,0,0x10503,0x8,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,134,0,0x10503,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,134,0,0x10501,0x8,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,137,0,0x10309,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,137,0,0x10309,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,137,0,0x10309,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,138,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,138,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,142,0,0x11100,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,144,0,0x10460,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,144,0,0x10460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,144,0,0x10460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,147,0,0x10460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,147,0,0x10460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,147,0,0x11100,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,153,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,153,0,0x11200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,158,0,0x10400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,158,0,0x10400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,158,0,0x10400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,158,0,0x10400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,16,0,0x10300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,16,0,0x10300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,16,0,0x10300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,160,0,0x10510,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,160,0,0x10510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,160,0,0x10510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,161,0,0x18600,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,161,0,0x18600,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,162,0,0x10510,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,162,0,0x10510,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,163,0,0x10201,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,163,0,0x10201,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,164,0,0x10510,0x8,0,100,26,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,164,0,0x10510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,164,0,0x10510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,165,0,0x18000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,165,0,0x18000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,165,0,0x18000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,165,0,0x18000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,166,0,0x10600,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,166,0,0x10600,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,166,0,0x10600,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,167,0,0x18601,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,167,0,0x18601,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,171,0,0x10309,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,171,0,0x10309,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,175,0,0x10100,0x8,0,100,18,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,175,0,0x10103,0x8,0,100,18,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,175,0,0x10110,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,175,0,0x10113,0x8,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,175,0,0x10114,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,176,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,176,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,176,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,176,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,177,0,0x11000,0x8FA,0,100,22,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,177,0,0x11005,0x8FA,0,100,24,50,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,177,0,0x11004,0x8FA,0,100,21,49,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,178,0,0x10600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,178,0,0x10600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,178,0,0x10600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,179,0,0x10600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,179,0,0x10600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,179,0,0x10600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,18,0,0x11000,0x8FA,0,100,6,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,18,0,0x11000,0x8FA,0,100,6,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,18,0,0x11001,0x8FA,0,100,6,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,18,0,0x11005,0x8FA,0,100,8,50,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,181,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,181,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,181,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,181,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,182,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,182,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,182,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,182,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,190,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,190,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,190,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,190,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,191,0,0x11150,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,191,0,0x11150,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,191,0,0x11150,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,194,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,194,0,0x10201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,202,0,0x10110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,202,0,0x10110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,204,0,0x10110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,204,0,0x10110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,204,0,0x10111,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,204,0,0x10114,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,205,0,0x10500,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,205,0,0x10500,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,205,0,0x10501,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,206,0,0x10309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,206,0,0x10309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,206,0,0x10601,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,21,0,0x15504,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,210,0,0x10309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,210,0,0x10309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,212,0,0x11001,0x8FA,0,100,30,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,212,0,0x11001,0x8FA,0,100,31,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,212,0,0x11002,0x8FA,0,100,31,47,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,212,0,0x11000,0x8FA,0,100,31,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,212,0,0x11005,0x8FA,0,100,32,50,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,213,0,0x10102,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,213,0,0x10100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,222,0,0x10201,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,222,0,0x10201,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,222,0,0x10201,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,225,0,0x10420,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,225,0,0x10420,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,235,0,0x10201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,235,0,0x10201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,235,0,0x10201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,235,0,0x10201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,236,0,0x11200,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,236,0,0x11200,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,236,0,0x11200,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,241,0,0x10195,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,249,0,0x15802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,25,0,0x11000,0x8FA,0,100,7,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,25,0,0x11000,0x8FA,0,100,7,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,25,0,0x11001,0x8FA,0,100,7,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,250,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,250,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,250,0,0x15801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,251,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,251,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,254,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,254,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,254,0,0x15801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,254,0,0x15802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,26,0,0x15000,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,264,0,0x10301,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,264,0,0x10301,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,264,0,0x10302,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,265,0,0x15801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,265,0,0x15801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,266,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,266,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,269,0,0x15802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,269,0,0x15802,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,269,0,0x15800,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,270,0,0x15801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,274,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,274,0,0x15800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,274,0,0x15801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,274,0,0x15802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,279,0,0x10205,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,279,0,0x10205,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,284,0,0x10205,0x8,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,284,0,0x10205,0x8,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,289,0,0x15820,0x8,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,294,0,0x11033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,294,0,0x11030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,294,0,0x11031,0x8FA,0,100,42,69,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,296,0,0x11033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,296,0,0x11033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,296,0,0x11030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,297,0,0x11030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,297,0,0x11030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,297,0,0x11030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,297,0,0x11032,0x8FA,0,100,42,70,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,302,0,0x11033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,302,0,0x11033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,302,0,0x11031,0x8FA,0,100,42,69,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,302,0,0x11034,0x8FA,0,100,42,72,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,318,0,0x10101,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,318,0,0x10101,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,318,0,0x10100,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,318,0,0x10100,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,321,0,0x10201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,321,0,0x10201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,322,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,322,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,329,0,0x10309,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,329,0,0x10309,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,337,0,0x10201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,337,0,0x10201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,34,0,0x11002,0x8FA,0,100,10,47,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,34,0,0x11001,0x8FA,0,100,10,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,34,0,0x11004,0x8FA,0,100,10,49,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,340,0,0x15504,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,340,0,0x15504,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,341,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,341,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,342,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,342,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,342,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,343,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,343,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,343,0,0x10600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,369,0,0x11123,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,370,0,0x11123,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,370,0,0x11123,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,373,0,0x10504,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,373,0,0x10504,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,378,0,0x11012,0x8FA,0,100,45,54,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,378,0,0x11012,0x8FA,0,100,45,54,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,378,0,0x11015,0x8FA,0,100,46,57,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,38,0,0x15504,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,380,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,380,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,381,0,0x10910,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,381,0,0x10910,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,382,0,0x11010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,382,0,0x11010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,382,0,0x11012,0x8FA,0,100,46,54,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,384,0,0x15800,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,384,0,0x15800,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,384,0,0x15800,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,388,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,388,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,392,0,0x15302,0x8,0,100,48,0,0,0,0,1,0,0,0,True,False,False,False,False,False -1,0,400,0,0x10113,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,400,0,0x10114,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,400,0,0x10112,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,400,0,0x10110,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,402,0,0x11124,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,402,0,0x11014,0x8FA,0,100,46,56,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,402,0,0x11013,0x8FA,0,100,46,55,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,402,0,0x11010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,403,0,0x10600,0x8,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,403,0,0x10600,0x8,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,403,0,0x10600,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,404,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,404,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,404,0,0x10910,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,405,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,405,0,0x10208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,44,0,0x19100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,44,0,0x19100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,44,0,0x19100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,44,0,0x19100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,44,0,0x19100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,440,0,0x10410,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,440,0,0x10410,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,440,0,0x10410,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,448,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,448,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,448,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,450,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,450,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,450,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,46,0,0x18000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,46,0,0x18000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,46,0,0x18000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,46,0,0x18000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,46,0,0x18000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,47,0,0x10400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,47,0,0x10400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,47,0,0x10400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,475,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,475,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,475,0,0x11123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,48,0,0x11100,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,48,0,0x11101,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,48,0,0x11102,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,48,0,0x15504,0x8,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,480,0,0x11200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,484,0,0x11200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,486,0,0x11000,0x8FA,0,100,7,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,486,0,0x11001,0x8FA,0,100,7,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,486,0,0x11003,0x8FA,0,100,7,48,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,487,0,0x10502,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,487,0,0x10502,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,487,0,0x10500,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,488,0,0x10309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,488,0,0x10309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,489,0,0x10502,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,489,0,0x10503,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,489,0,0x10503,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,497,0,0x10500,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,497,0,0x10501,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,497,0,0x10501,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,499,0,0x10800,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,499,0,0x10800,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,500,0,0x18300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,500,0,0x18300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,500,0,0x18300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,500,0,0x18300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,500,0,0x18300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,501,0,0x10502,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,501,0,0x10502,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,501,0,0x10501,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,503,0,0x15504,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,504,0,0x10601,0x8,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,504,0,0x10601,0x8,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,504,0,0x15504,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,505,0,0x10201,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,505,0,0x10201,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,505,0,0x10201,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,507,0,0x10410,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,507,0,0x10410,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,507,0,0x10410,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,508,0,0x10410,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,508,0,0x10410,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,509,0,0x10110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,509,0,0x10110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,509,0,0x10601,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,509,0,0x10601,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,510,0,0x10800,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,510,0,0x10800,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,52,0,0x10200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,52,0,0x10200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,52,0,0x10200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,52,0,0x10200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,54,0,0x10300,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,54,0,0x10300,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,54,0,0x10300,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,72,0,0x15502,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,85,0,0x11000,0x8FA,0,100,11,45,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,85,0,0x11005,0x8FA,0,100,11,50,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,88,0,0x10301,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,88,0,0x10308,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,88,0,0x10301,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,89,0,0x10400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,89,0,0x10400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,90,0,0x10200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,90,0,0x10200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,90,0,0x10200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,93,0,0x10114,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,93,0,0x10110,0x8,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,93,0,0x10112,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,93,0,0x10110,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,94,0,0x11001,0x8FA,0,100,11,46,0,0,0,1,0,0,0,False,False,False,False,False,False -1,0,94,0,0x11002,0x8FA,0,100,11,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,0,0,0x010100,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,0,0,0x010101,0x8FA,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,0,0,0x010100,0x8FA,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,1,0,0x011200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,1,0,0x011200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,1,0,0x011200,0x8FA,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,2,0,0x010100,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,2,0,0x010100,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,2,0,0x010103,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,2,0,0x010102,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,3,0,0x011200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,3,0,0x011200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,5,0,0x010102,0x8FA,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,5,0,0x010101,0x8FA,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,5,0,0x010180,0x8FA,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,5,0,0x010103,0x8FA,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,6,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,6,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,6,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,6,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,7,0,0x010100,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,7,0,0x010101,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,7,0,0x010103,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,7,0,0x010104,0x8,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,8,0,0x018300,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,8,0,0x018300,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,9,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,9,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,9,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,9,0,0x010300,0x8FA,0,100,4,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,101,0,0x015000,0x8,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,107,0,0x010600,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,107,0,0x010600,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,107,0,0x010600,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,107,0,0x010600,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,107,0,0x010600,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,108,0,0x011000,0x8FA,0,100,8,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,108,0,0x011006,0x8FA,0,100,8,51,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,108,0,0x011005,0x8FA,0,100,8,50,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,109,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,109,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,109,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,110,0,0x010101,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,110,0,0x010600,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,111,0,0x010101,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,111,0,0x010103,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,112,0,0x010102,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,113,0,0x010103,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,113,0,0x010100,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,113,0,0x010100,0x8,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,115,0,0x018601,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,115,0,0x018601,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,118,0,0x011000,0x8FA,0,100,11,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,118,0,0x011006,0x8FA,0,100,12,51,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,118,0,0x011003,0x8FA,0,100,11,48,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,120,0,0x010500,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,120,0,0x010500,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,120,0,0x010500,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,120,0,0x010501,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,120,0,0x010501,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,120,0,0x010501,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,122,0,0x010301,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,122,0,0x010301,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,122,0,0x010301,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,122,0,0x010301,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,122,0,0x010308,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,122,0,0x010308,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,123,0,0x018800,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,123,0,0x018800,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,123,0,0x018800,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,125,0,0x010500,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,125,0,0x010500,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,125,0,0x010501,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,125,0,0x010501,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,126,0,0x010401,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,126,0,0x010401,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,126,0,0x010400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,126,0,0x010400,0x8FA,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,126,0,0x010400,0x8FA,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,127,0,0x011200,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,127,0,0x011200,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,127,0,0x010500,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,127,0,0x010500,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,127,0,0x010501,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,127,0,0x010501,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,128,0,0x010400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,128,0,0x010400,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,128,0,0x011200,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,128,0,0x011200,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,128,0,0x011200,0x8FA,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,129,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,129,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,129,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,130,0,0x010400,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,130,0,0x010400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,130,0,0x010400,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,131,0,0x018200,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,131,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,131,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,133,0,0x015504,0x8,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,134,0,0x010503,0x8,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,134,0,0x010503,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,134,0,0x010501,0x8,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,135,0,0x015504,0x8FA,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,135,0,0x015504,0x8FA,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,136,0,0x011030,0x8FA,0,100,36,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,136,0,0x011030,0x8FA,0,100,36,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,136,0,0x011031,0x8FA,0,100,36,69,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,136,0,0x011033,0x8FA,0,100,36,71,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,136,0,0x011033,0x8FA,0,100,36,71,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,137,0,0x010309,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,137,0,0x010309,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,137,0,0x010309,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,138,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,138,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,141,0,0x010460,0x8FA,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,141,0,0x010460,0x8FA,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,141,0,0x010460,0x8FA,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,142,0,0x011100,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,144,0,0x010460,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,144,0,0x010460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,144,0,0x010460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,147,0,0x010460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,147,0,0x010460,0x8,0,100,34,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,147,0,0x011100,0x8,0,100,33,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,149,0,0x011030,0x8FA,0,100,38,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,149,0,0x011030,0x8FA,0,100,38,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,149,0,0x011031,0x8FA,0,100,38,69,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,149,0,0x011034,0x8FA,0,100,38,72,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,150,0,0x018200,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,150,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,150,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,151,0,0x011030,0x8FA,0,100,38,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,151,0,0x011031,0x8FA,0,100,38,69,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,151,0,0x011033,0x8FA,0,100,38,71,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,151,0,0x011032,0x8FA,0,100,38,70,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,153,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,153,0,0x011200,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,155,0,0x011030,0x8FA,0,100,32,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,155,0,0x011030,0x8FA,0,100,32,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,155,0,0x011032,0x8FA,0,100,32,70,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,155,0,0x011032,0x8FA,0,100,32,70,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,155,0,0x011034,0x8FA,0,100,32,72,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,156,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,156,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,156,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,156,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,156,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,156,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,158,0,0x010400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,158,0,0x010400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,158,0,0x010400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,158,0,0x010400,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,16,0,0x010300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,16,0,0x010300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,16,0,0x010300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,160,0,0x010510,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,160,0,0x010510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,160,0,0x010510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,161,0,0x018600,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,161,0,0x018600,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,162,0,0x010510,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,162,0,0x010510,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,163,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,163,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,164,0,0x010510,0x8,0,100,26,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,164,0,0x010510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,164,0,0x010510,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,165,0,0x018000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,165,0,0x018000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,165,0,0x018000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,165,0,0x018000,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,166,0,0x010600,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,166,0,0x010600,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,166,0,0x010600,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,167,0,0x018601,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,167,0,0x018601,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,167,0,0x010510,0x8FA,0,100,26,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,167,0,0x010510,0x8FA,0,100,26,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,167,0,0x010510,0x8FA,0,100,26,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,169,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,169,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,169,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,169,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,170,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,170,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,170,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,170,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,170,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,171,0,0x010309,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,171,0,0x010309,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,171,0,0x010221,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,171,0,0x010221,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,175,0,0x010100,0x8,0,100,18,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,175,0,0x010103,0x8,0,100,18,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,175,0,0x010110,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,175,0,0x010113,0x8,0,100,20,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,175,0,0x010114,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,175,0,0x010105,0x8FA,0,100,18,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,176,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,176,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,176,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,176,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,177,0,0x011000,0x8FA,0,100,22,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,177,0,0x011005,0x8FA,0,100,24,50,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,177,0,0x011004,0x8FA,0,100,21,49,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,178,0,0x010600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,178,0,0x010600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,178,0,0x010600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,179,0,0x010600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,179,0,0x010600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,179,0,0x010600,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,18,0,0x011000,0x8FA,0,100,6,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,18,0,0x011000,0x8FA,0,100,6,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,18,0,0x011001,0x8FA,0,100,6,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,18,0,0x011005,0x8FA,0,100,8,50,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,181,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,181,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,181,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,181,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,182,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,182,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,182,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,182,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,183,0,0x010201,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,183,0,0x010201,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,183,0,0x010201,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,183,0,0x010201,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,186,0,0x015505,0x8FA,0,100,38,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,187,0,0x010110,0x8FA,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,187,0,0x010111,0x8FA,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,187,0,0x010112,0x8FA,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,187,0,0x010114,0x8FA,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,187,0,0x010112,0x8FA,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,188,0,0x010510,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,188,0,0x010510,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,188,0,0x010510,0x8FA,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,188,0,0x010510,0x8FA,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,188,0,0x010221,0x8FA,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,189,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,189,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,189,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,189,0,0x010603,0x8FA,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,190,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,190,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,190,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,190,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,191,0,0x011150,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,191,0,0x011150,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,191,0,0x011150,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,192,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,192,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,192,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,192,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,192,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,194,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,194,0,0x010201,0x8,0,100,21,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,197,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,197,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,197,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,197,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,199,0,0x010101,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,199,0,0x010101,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,199,0,0x010101,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,199,0,0x010105,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,199,0,0x010104,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,201,0,0x011200,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,201,0,0x011200,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,201,0,0x011200,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,201,0,0x011200,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,202,0,0x010110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,202,0,0x010110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,204,0,0x010110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,204,0,0x010110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,204,0,0x010111,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,204,0,0x010114,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,205,0,0x010500,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,205,0,0x010500,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,205,0,0x010501,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,206,0,0x010309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,206,0,0x010309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,206,0,0x010601,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,206,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,21,0,0x015504,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,21,0,0x015504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,21,0,0x015504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,21,0,0x015100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,210,0,0x010309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,210,0,0x010309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,210,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,210,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,210,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,212,0,0x011001,0x8FA,0,100,30,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,212,0,0x011001,0x8FA,0,100,31,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,212,0,0x011002,0x8FA,0,100,31,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,212,0,0x011000,0x8FA,0,100,31,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,212,0,0x011005,0x8FA,0,100,32,50,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,213,0,0x010102,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,213,0,0x010100,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,213,0,0x010102,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,213,0,0x010105,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,213,0,0x010105,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,214,0,0x015200,0x8FA,0,100,33,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,215,0,0x010601,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,215,0,0x010601,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,215,0,0x010601,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,215,0,0x010601,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,215,0,0x010601,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,218,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,218,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,218,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,218,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,218,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,220,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,220,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,220,0,0x010201,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,221,0,0x015300,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,222,0,0x010201,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,222,0,0x010201,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,222,0,0x010201,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,225,0,0x010420,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,225,0,0x010420,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,225,0,0x010420,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,225,0,0x010421,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,226,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,226,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,226,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,227,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,227,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,227,0,0x010601,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x010102,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x010102,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x010104,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x010111,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x010111,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x011150,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,231,0,0x011150,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,234,0,0x015504,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,234,0,0x015504,0x8FA,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,235,0,0x010201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,235,0,0x010201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,235,0,0x010201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,235,0,0x010201,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,236,0,0x011200,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,236,0,0x011200,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,236,0,0x011200,0x8,0,100,25,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,238,0,0x010601,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,238,0,0x010601,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,238,0,0x010601,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,238,0,0x010601,0x8FA,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,239,0,0x010113,0x8FA,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,239,0,0x010112,0x8FA,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,239,0,0x010112,0x8FA,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,239,0,0x010114,0x8FA,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,239,0,0x010114,0x8FA,0,100,31,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,239,0,0x015003,0x8FA,0,100,32,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,240,0,0x010111,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,240,0,0x010111,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,240,0,0x010111,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,240,0,0x010112,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,240,0,0x010112,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,240,0,0x010114,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,241,0,0x015020,0x8FA,0,100,39,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,242,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,242,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,242,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,243,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,243,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,243,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,243,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,244,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,244,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,244,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,245,0,0x010307,0x8FA,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,245,0,0x010308,0x8FA,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,245,0,0x010308,0x8FA,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,245,0,0x010302,0x8FA,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,245,0,0x010302,0x8FA,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,247,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,247,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,247,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,248,0,0x015500,0x8FA,0,100,37,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,248,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,248,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,249,0,0x015802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,25,0,0x011000,0x8FA,0,100,7,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,25,0,0x011000,0x8FA,0,100,7,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,25,0,0x011001,0x8FA,0,100,7,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,250,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,250,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,250,0,0x015801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,251,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,251,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,252,0,0x015800,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,252,0,0x015800,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,252,0,0x015812,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,252,0,0x015812,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,253,0,0x010400,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,253,0,0x010400,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,253,0,0x010400,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,253,0,0x010401,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,253,0,0x010401,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,254,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,254,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,254,0,0x015801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,254,0,0x015802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,255,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,255,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,255,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,256,0,0x015500,0x8FA,0,100,36,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,257,0,0x015812,0xDF,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,257,0,0x015812,0xDF,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,257,0,0x015810,0xDF,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,257,0,0x015802,0xDF,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,257,0,0x015820,0xDF,0,100,37,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,258,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,258,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,258,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,258,0,0x015801,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,259,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,259,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,259,0,0x015812,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,259,0,0x011150,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,259,0,0x011150,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,26,0,0x015000,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,261,0,0x015801,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,261,0,0x015801,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,261,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,263,0,0x010114,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,263,0,0x010114,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,263,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,263,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,263,0,0x010114,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,264,0,0x010301,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,264,0,0x010301,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,264,0,0x010302,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,264,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,264,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,264,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,265,0,0x015801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,265,0,0x015801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,265,0,0x015800,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,265,0,0x015800,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,266,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,266,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,266,0,0x015801,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,266,0,0x015802,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,267,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,267,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,267,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,268,0,0x015100,0x8FA,0,100,40,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,269,0,0x015802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,269,0,0x015802,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,269,0,0x015800,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,269,0,0x015800,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,270,0,0x015801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,272,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,272,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,272,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,272,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,273,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,273,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,273,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,273,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,273,0,0x010601,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,274,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,274,0,0x015800,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,274,0,0x015801,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,274,0,0x015802,0x8,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x015800,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x011150,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x011150,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,276,0,0x011150,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,277,0,0x015801,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,277,0,0x015802,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,278,0,0x015820,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,278,0,0x015810,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,278,0,0x015810,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,278,0,0x015801,0x8FA,0,100,36,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,279,0,0x010205,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,279,0,0x010205,0x8,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,279,0,0x010205,0x8FA,0,100,35,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015800,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015801,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015802,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015810,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015811,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015812,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,282,0,0x015820,0x8FA,0,100,44,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,284,0,0x010205,0x8,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,284,0,0x010205,0x8,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,284,0,0x010205,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,284,0,0x015802,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,286,0,0x015810,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,286,0,0x015810,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,286,0,0x015812,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,286,0,0x015812,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,286,0,0x015812,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,287,0,0x010205,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,287,0,0x010205,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,287,0,0x010205,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,288,0,0x015802,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,288,0,0x015802,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,288,0,0x015811,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,288,0,0x015811,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,288,0,0x015811,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,288,0,0x015603,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,289,0,0x015820,0x8,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,289,0,0x015800,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,289,0,0x015800,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,289,0,0x015801,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,289,0,0x015801,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,29,0,0x010100,0x8FA,0,100,5,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,29,0,0x010100,0x8FA,0,100,5,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,29,0,0x010101,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,29,0,0x010103,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,29,0,0x010105,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,29,0,0x010104,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,290,0,0x010111,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,290,0,0x010111,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,290,0,0x010112,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,290,0,0x010112,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,290,0,0x010114,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,290,0,0x010113,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,293,0,0x010110,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,293,0,0x010110,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,293,0,0x010110,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,293,0,0x010110,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,294,0,0x011033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,294,0,0x011030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,294,0,0x011031,0x8FA,0,100,42,69,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,294,0,0x010504,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,296,0,0x011033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,296,0,0x011033,0x8FA,0,100,42,71,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,296,0,0x011030,0x8FA,0,100,42,68,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,298,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,298,0,0x018200,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,298,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,298,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,299,0,0x015200,0x8FA,0,100,43,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,30,0,0x015302,0x8FA,0,100,18,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,301,0,0x010110,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,301,0,0x010111,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,301,0,0x010111,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,301,0,0x010111,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,301,0,0x010140,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,301,0,0x010113,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,302,0,0x015801,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,302,0,0x015801,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,302,0,0x015820,0x8FA,0,100,1043,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x010113,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x010111,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x010111,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x010114,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x010114,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x015810,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,303,0,0x015810,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,304,0,0x015801,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,304,0,0x015801,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,304,0,0x015811,0x8FA,0,100,43,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,305,0,0x015003,0x8FA,0,100,43,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,305,0,0x010601,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,305,0,0x010601,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,305,0,0x010601,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,305,0,0x010601,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,305,0,0x010601,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,306,0,0x015708,0x8FA,0,100,45,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,306,0,0x010605,0x8FA,0,100,44,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,306,0,0x010605,0x8FA,0,100,44,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,306,0,0x010605,0x8FA,0,100,44,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,306,0,0x010605,0x8FA,0,100,44,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,307,0,0x011200,0x8FA,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,307,0,0x011200,0x8FA,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,307,0,0x011200,0x8FA,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,307,0,0x011200,0x8FA,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,312,0,0x015020,0x8FA,0,100,46,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,312,0,0x010100,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,312,0,0x010101,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,312,0,0x010111,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,312,0,0x010113,0x8FA,0,100,42,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,313,0,0x015300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,318,0,0x010101,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,318,0,0x010101,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,318,0,0x010100,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,318,0,0x010100,0x8,0,100,2,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,321,0,0x010201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,321,0,0x010201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,321,0,0x010201,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,322,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,322,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,324,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,324,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,325,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,325,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,326,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,326,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,327,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,327,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,327,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,329,0,0x010309,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,329,0,0x010309,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,329,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,329,0,0x011200,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,329,0,0x011200,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,329,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,330,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,330,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,330,0,0x010201,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,330,0,0x010201,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,330,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,331,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,331,0,0x010301,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,331,0,0x010308,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,332,0,0x010420,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,332,0,0x010420,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,332,0,0x010420,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,332,0,0x010421,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,332,0,0x010421,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,337,0,0x010201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,337,0,0x010201,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,337,0,0x010201,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,34,0,0x011002,0x8FA,0,100,10,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,34,0,0x011001,0x8FA,0,100,10,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,34,0,0x011004,0x8FA,0,100,10,49,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,340,0,0x015504,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,340,0,0x015504,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,341,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,341,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,341,0,0x010600,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,341,0,0x010600,0x8FA,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,342,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,342,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,342,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,343,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,343,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,343,0,0x010600,0x8,0,100,41,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,347,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,347,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,347,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,351,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,351,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,351,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,352,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,352,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,352,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,352,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,352,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,353,0,0x010451,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,354,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,354,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,354,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,356,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,356,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,356,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,356,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,356,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,357,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,357,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,357,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,357,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,357,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,359,0,0x015503,0x8FA,0,100,45,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,36,0,0x011000,0x8FA,0,100,6,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,36,0,0x011000,0x8FA,0,100,6,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,36,0,0x011002,0x8FA,0,100,6,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,36,0,0x011004,0x8FA,0,100,8,49,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,36,0,0x011003,0x8FA,0,100,7,48,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,360,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,360,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,360,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,360,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,360,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,361,0,0x015040,0x8FA,0,100,47,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,365,0,0x011016,0x8FA,0,100,47,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,365,0,0x011016,0x8FA,0,100,47,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,365,0,0x011015,0x8FA,0,100,47,57,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,365,0,0x011015,0x8FA,0,100,47,57,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,366,0,0x011012,0x8FA,0,100,47,54,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,366,0,0x011010,0x8FA,0,100,47,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,366,0,0x011010,0x8FA,0,100,47,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,366,0,0x011024,0x8FA,0,100,47,63,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,367,0,0x010910,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,367,0,0x010910,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,368,0,0x010910,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,368,0,0x010910,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,369,0,0x011123,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,369,0,0x011123,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,369,0,0x011123,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,370,0,0x011123,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,370,0,0x011123,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,372,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,372,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,372,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,372,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,372,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,372,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,373,0,0x010504,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,373,0,0x010504,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,376,0,0x010503,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,376,0,0x010502,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,376,0,0x010502,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,376,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,376,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,377,0,0x010504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,377,0,0x010504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,377,0,0x010503,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,377,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,377,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,378,0,0x011012,0x8FA,0,100,45,54,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,378,0,0x011012,0x8FA,0,100,45,54,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,378,0,0x011015,0x8FA,0,100,46,57,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,38,0,0x015504,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,38,0,0x015504,0x8FA,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,38,0,0x015504,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,380,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,380,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,381,0,0x010910,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,381,0,0x010910,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,382,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,382,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,382,0,0x011012,0x8FA,0,100,46,54,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,384,0,0x015800,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,384,0,0x015800,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,384,0,0x015800,0x8,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,388,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,388,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,389,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,389,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,389,0,0x010504,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,390,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,390,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,390,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,390,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,391,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,391,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,391,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,391,0,0x010221,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,392,0,0x015302,0x8,0,100,48,0,0,0,0,1,0,0,0,True,False,False,False,False,False +1,0,394,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,394,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,394,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,394,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,395,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,395,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,395,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,395,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,395,0,0x010208,0x8FA,0,100,48,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,397,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,397,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,397,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,397,0,0x010600,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,40,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,40,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,40,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,400,0,0x010113,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,400,0,0x010114,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,400,0,0x010112,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,400,0,0x010110,0x8,0,100,19,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,402,0,0x011124,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,402,0,0x011014,0x8FA,0,100,46,56,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,402,0,0x011013,0x8FA,0,100,46,55,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,402,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,403,0,0x010600,0x8,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,403,0,0x010600,0x8,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,403,0,0x010600,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,404,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,404,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,404,0,0x010910,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,405,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,405,0,0x010208,0x8,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,409,0,0x011016,0x8FA,0,100,46,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,409,0,0x011011,0x8FA,0,100,46,53,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,409,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,409,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,409,0,0x011015,0x8FA,0,100,46,57,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,410,0,0x011015,0x8FA,0,100,46,57,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,410,0,0x011015,0x8FA,0,100,46,57,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,410,0,0x011014,0x8FA,0,100,46,56,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,410,0,0x011016,0x8FA,0,100,46,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,411,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,411,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,411,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,411,0,0x011013,0x8FA,0,100,46,55,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,412,0,0x011016,0x8FA,0,100,46,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,412,0,0x011016,0x8FA,0,100,46,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,412,0,0x011016,0x8FA,0,100,46,58,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,412,0,0x011014,0x8FA,0,100,46,56,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,413,0,0x011012,0x8FA,0,100,46,54,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,413,0,0x011010,0x8FA,0,100,46,52,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,413,0,0x011013,0x8FA,0,100,46,55,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,413,0,0x011014,0x8FA,0,100,46,56,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,416,0,0x015301,0x8FA,0,100,48,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,418,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,418,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,418,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,418,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,418,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,419,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,419,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,419,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,42,0,0x010200,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,42,0,0x010200,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,42,0,0x010200,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,42,0,0x010200,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,421,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,421,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,421,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,421,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,421,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,422,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,422,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,422,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,422,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,422,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,424,0,0x010605,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,424,0,0x010605,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,424,0,0x010605,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,424,0,0x010605,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,424,0,0x010605,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,425,0,0x010605,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,425,0,0x010605,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,425,0,0x010605,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,425,0,0x010605,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,425,0,0x010605,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,426,0,0x010410,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,426,0,0x010410,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,426,0,0x010411,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,428,0,0x010208,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,428,0,0x010208,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,428,0,0x010208,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,431,0,0x010309,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,431,0,0x010309,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,431,0,0x010308,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,431,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,431,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,431,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,432,0,0x010410,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,432,0,0x010410,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,432,0,0x010410,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,432,0,0x010411,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,432,0,0x010411,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,437,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,437,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,437,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,437,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,437,0,0x010307,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,437,0,0x010603,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,438,0,0x015050,0x8FA,0,100,45,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,439,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,439,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,439,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,439,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,439,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,44,0,0x019100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,44,0,0x019100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,44,0,0x019100,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,44,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,44,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,44,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,440,0,0x010410,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,440,0,0x010410,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,440,0,0x010410,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,440,0,0x010411,0x8FA,0,100,47,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,442,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,442,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,442,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,443,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,443,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,443,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,444,0,0x018300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,444,0,0x018300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,444,0,0x018300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,448,0,0x011123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,448,0,0x011123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,448,0,0x011124,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,448,0,0x011124,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,448,0,0x010208,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,448,0,0x010208,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x011123,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x011123,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x011124,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x011124,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x011125,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x010208,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,449,0,0x010208,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,45,0,0x011102,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,45,0,0x011101,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,45,0,0x011100,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,45,0,0x011102,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,45,0,0x011101,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,452,0,0x011123,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,452,0,0x011123,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,452,0,0x011124,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,452,0,0x011125,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,453,0,0x011125,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,453,0,0x011125,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,453,0,0x011125,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,453,0,0x010208,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,453,0,0x010208,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,456,0,0x011123,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,456,0,0x011123,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,456,0,0x011124,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,456,0,0x011124,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,456,0,0x011125,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,459,0,0x011123,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,459,0,0x011123,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,459,0,0x011124,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,459,0,0x011124,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,459,0,0x010208,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,459,0,0x010208,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,46,0,0x018000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,46,0,0x018000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,46,0,0x018000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,46,0,0x018000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,46,0,0x018000,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,462,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,462,0,0x018600,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,463,0,0x010500,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,463,0,0x010500,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,463,0,0x010501,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,463,0,0x010501,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,463,0,0x010502,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,463,0,0x010502,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,464,0,0x010500,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,464,0,0x010500,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,464,0,0x010501,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,464,0,0x010501,0x8FA,0,100,46,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,468,0,0x010504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,468,0,0x010504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,468,0,0x010504,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,468,0,0x010502,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,468,0,0x010502,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,47,0,0x010400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,47,0,0x010400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,47,0,0x010400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,475,0,0x011123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,475,0,0x011123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,475,0,0x011123,0x8,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,479,0,0x011001,0x8FA,0,100,30,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,479,0,0x011002,0x8FA,0,100,30,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,479,0,0x011002,0x8FA,0,100,30,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,479,0,0x011002,0x8FA,0,100,30,47,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,479,0,0x011004,0x8FA,0,100,30,49,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,48,0,0x011100,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,48,0,0x011101,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,48,0,0x011102,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,48,0,0x015504,0x8,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,480,0,0x011200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x010100,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x010100,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x010100,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x011200,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x011200,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x011200,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x010102,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,481,0,0x010102,0x8FA,0,100,8,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,483,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,483,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,483,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,483,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,484,0,0x011200,0x8,0,100,1,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,486,0,0x011000,0x8FA,0,100,7,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,486,0,0x011001,0x8FA,0,100,7,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,486,0,0x011003,0x8FA,0,100,7,48,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,487,0,0x010502,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,487,0,0x010502,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,487,0,0x010500,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,488,0,0x010309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,488,0,0x010309,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,489,0,0x010502,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,489,0,0x010503,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,489,0,0x010503,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,493,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,493,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,493,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,493,0,0x010110,0x8FA,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,497,0,0x010500,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,497,0,0x010501,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,497,0,0x010501,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,499,0,0x010800,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,499,0,0x010800,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,500,0,0x018300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,500,0,0x018300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,500,0,0x018300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,500,0,0x018300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,500,0,0x018300,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,501,0,0x010502,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,501,0,0x010502,0x8,0,100,30,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,501,0,0x010501,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,503,0,0x015504,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,504,0,0x010601,0x8,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,504,0,0x010601,0x8,0,100,27,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,504,0,0x015504,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,505,0,0x010201,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,505,0,0x010201,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,505,0,0x010201,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,507,0,0x010410,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,507,0,0x010410,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,507,0,0x010410,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,508,0,0x010410,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,508,0,0x010410,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,509,0,0x010110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,509,0,0x010110,0x8,0,100,28,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,509,0,0x010601,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,509,0,0x010601,0x8,0,100,29,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,51,0,0x010300,0x8FA,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,51,0,0x010300,0x8FA,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,51,0,0x010300,0x8FA,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,51,0,0x010300,0x8FA,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,51,0,0x010308,0x8FA,0,100,5,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,51,0,0x010308,0x8FA,0,100,5,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,510,0,0x010800,0x8,0,100,22,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,510,0,0x010800,0x8,0,100,23,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,52,0,0x010200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,52,0,0x010200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,52,0,0x010200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,52,0,0x010200,0x8,0,100,3,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,53,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,53,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,53,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,53,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,53,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,54,0,0x010300,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,54,0,0x010300,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,54,0,0x010300,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,54,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,54,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,59,0,0x010308,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,59,0,0x010308,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,59,0,0x010308,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,59,0,0x010308,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,60,0,0x010308,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,60,0,0x010308,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,60,0,0x010308,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,60,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,60,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,60,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,61,0,0x011100,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,61,0,0x011100,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,62,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,62,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,62,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,62,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,62,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,63,0,0x015031,0x38,0,100,18,0,0,0,0,1,0,0,0,True,True,False,False,False,False +1,0,64,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,64,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,64,0,0x010200,0x8FA,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,65,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,65,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,65,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,66,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,66,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,66,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,66,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,66,0,0x018000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,71,0,0x010300,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,71,0,0x010300,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,71,0,0x010300,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,71,0,0x010300,0x8FA,0,100,14,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,72,0,0x015502,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,72,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,72,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,72,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,72,0,0x010300,0x8FA,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,73,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,73,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,73,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,73,0,0x011200,0x8FA,0,100,6,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,74,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,74,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,74,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,74,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,74,0,0x010200,0x8FA,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,75,0,0x011200,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,75,0,0x011200,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,75,0,0x011200,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,77,0,0x011100,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,77,0,0x011100,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,77,0,0x011100,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,77,0,0x011101,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,77,0,0x011102,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,77,0,0x011102,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,78,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,78,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,78,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,78,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,78,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,78,0,0x010221,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,79,0,0x010300,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,79,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,79,0,0x010301,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,79,0,0x010302,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,79,0,0x010309,0x8FA,0,100,45,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,83,0,0x010605,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,83,0,0x010605,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,83,0,0x010605,0x8FA,0,100,11,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,85,0,0x011000,0x8FA,0,100,11,45,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,85,0,0x011005,0x8FA,0,100,11,50,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,88,0,0x010301,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,88,0,0x010308,0x8,0,100,12,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,88,0,0x010301,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,89,0,0x010400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,89,0,0x010400,0x8,0,100,13,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,90,0,0x010200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,90,0,0x010200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,90,0,0x010200,0x8,0,100,7,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,93,0,0x010114,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,93,0,0x010110,0x8,0,100,16,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,93,0,0x010112,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,93,0,0x010110,0x8,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,94,0,0x011001,0x8FA,0,100,11,46,0,0,0,1,0,0,0,False,False,False,False,False,False +1,0,94,0,0x011002,0x8FA,0,100,11,47,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x010312,0x8FA,0,100,52,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x010312,0x8FA,0,100,52,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x015420,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,0,0,0x015420,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011120,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011121,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011122,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011120,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011121,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011122,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,2,0,0x011121,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,3,0,0x011120,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,3,0,0x011120,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,3,0,0x011121,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,3,0,0x011121,0x8FA,0,100,51,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,3,0,0x015420,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,4,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,4,0,0x015304,0x8FA,0,100,56,0,0,0,0,1,0,0,0,True,True,False,False,False,False +76,0,4,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,4,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,4,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,4,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,5,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,5,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,5,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,5,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,5,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,5,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,8,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,8,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,8,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,8,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,8,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,9,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,9,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,9,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,10,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,10,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,10,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,10,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,10,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,10,0,0x010606,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,11,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,11,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,11,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,11,0,0x010207,0x8FA,0,100,50,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,11,0,0x010312,0x8FA,0,100,52,0,0,0,0,1,0,0,0,False,False,False,False,False,False +76,0,11,0,0x010312,0x8FA,0,100,52,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,0,0,0x011020,0x8FA,0,100,52,59,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,0,0,0x011020,0x8FA,0,100,52,59,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,0,0,0x011026,0x8FA,0,100,52,65,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,0,0,0x015102,0x8FA,0,100,56,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x011020,0x8FA,0,100,52,59,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x011021,0x8FA,0,100,52,60,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x011022,0x8FA,0,100,52,61,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x011022,0x8FA,0,100,52,61,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x011025,0x8FA,0,100,52,64,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x011027,0x8FA,0,100,52,66,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x010312,0x8FA,0,100,52,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,5,0,0x010312,0x8FA,0,100,52,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,6,0,0x015102,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,6,0,0x011025,0x8FA,0,100,53,64,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,6,0,0x011025,0x8FA,0,100,53,64,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,6,0,0x011023,0x8FA,0,100,53,62,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,6,0,0x011023,0x8FA,0,100,53,62,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,8,0,0x011020,0x8FA,0,100,53,59,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,8,0,0x011025,0x8FA,0,100,53,64,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,8,0,0x011026,0x8FA,0,100,53,65,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,8,0,0x011026,0x8FA,0,100,53,65,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,9,0,0x011024,0x8FA,0,100,53,63,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,9,0,0x011027,0x8FA,0,100,53,66,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,9,0,0x011027,0x8FA,0,100,53,66,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,9,0,0x011026,0x8FA,0,100,53,65,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,9,0,0x011026,0x8FA,0,100,53,65,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,10,0,0x015102,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,15,0,0x020500,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,25,0,0x011020,0x8FA,0,100,52,59,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,25,0,0x011024,0x8FA,0,100,52,63,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,25,0,0x011024,0x8FA,0,100,52,63,0,0,0,1,0,0,0,False,False,False,False,False,False +84,0,25,0,0x011026,0x8FA,0,100,52,65,0,0,0,1,0,0,0,False,False,False,False,False,False +288,0,8,0,0x011020,0x8FA,0,100,53,59,0,0,0,1,0,0,0,False,False,False,False,False,False +288,0,8,0,0x011021,0x8FA,0,100,53,60,0,0,0,1,0,0,0,False,False,False,False,False,False +288,0,8,0,0x011021,0x8FA,0,100,53,60,0,0,0,1,0,0,0,False,False,False,False,False,False +288,0,8,0,0x011027,0x8FA,0,100,53,66,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x010603,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x010603,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x010603,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x010603,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x010603,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x010603,0x8FA,0,100,58,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,1,0,0x015709,0x295,0,100,68,0,0,0,0,1,0,0,0,True,True,False,False,False,False +335,0,3,0,0x010160,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,3,0,0x010160,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,3,0,0x010160,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,3,0,0x010161,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,3,0,0x010161,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,3,0,0x010162,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,4,0,0x015012,0x8FA,0,100,65,0,0,0,0,1,0,0,0,True,True,False,False,False,False +335,0,4,0,0x010160,0x8FA,0,100,56,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,4,0,0x010160,0x8FA,0,100,56,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,4,0,0x010160,0x8FA,0,100,56,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,4,0,0x010162,0x8FA,0,100,56,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,5,0,0x010160,0x8FA,0,100,55,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,5,0,0x010160,0x8FA,0,100,55,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,5,0,0x010161,0x8FA,0,100,55,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,5,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,5,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,5,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,6,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,6,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,6,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,7,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,7,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,7,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,7,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,7,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,8,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,8,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,8,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,8,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,8,0,0x010430,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010612,0x8FA,0,100,53,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010612,0x8FA,0,100,53,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010612,0x8FA,0,100,53,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010612,0x8FA,0,100,53,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010162,0x8FA,0,100,55,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010162,0x8FA,0,100,55,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010161,0x8FA,0,100,54,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010161,0x8FA,0,100,54,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010160,0x8FA,0,100,53,0,0,0,0,1,0,0,0,False,False,False,False,False,False +335,0,9,0,0x010160,0x8FA,0,100,53,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,2,0,0x015303,0x8FA,0,100,69,0,0,0,0,1,0,0,0,True,True,False,False,False,False +336,0,3,0,0x010612,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,3,0,0x010612,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,3,0,0x010612,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,3,0,0x010612,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,3,0,0x010612,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,3,0,0x010612,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,4,0,0x010209,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,4,0,0x010209,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,4,0,0x010209,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,4,0,0x010209,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,4,0,0x010209,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010160,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010160,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010161,0x8FA,0,100,66,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010161,0x8FA,0,100,66,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010162,0x8FA,0,100,65,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010162,0x8FA,0,100,65,0,0,0,0,1,0,0,0,False,False,False,False,False,False +336,0,5,0,0x010530,0x8FA,0,100,68,0,0,0,0,1,0,0,0,True,True,False,False,False,False +337,0,2,0,0x010160,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +337,0,2,0,0x010160,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +337,0,2,0,0x010161,0x8FA,0,100,66,0,0,0,0,1,0,0,0,False,False,False,False,False,False +337,0,2,0,0x010161,0x8FA,0,100,66,0,0,0,0,1,0,0,0,False,False,False,False,False,False +337,0,2,0,0x010162,0x8FA,0,100,65,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,0,0,0x010321,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,0,0,0x010321,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,0,0,0x010315,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,0,0,0x010315,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,0,0,0x010315,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,0,0,0x010315,0x8FA,0,100,60,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010315,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010315,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010315,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010315,0x8FA,0,100,62,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010511,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010512,0x8FA,0,100,64,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,3,0,0x010321,0x8FA,0,100,66,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,11,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,11,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +433,0,11,0,0x010209,0x8FA,0,100,57,0,0,0,0,1,0,0,0,False,False,False,False,False,False +444,0,5,0,0x010160,0x8FA,0,100,61,0,0,0,0,1,0,0,0,False,False,False,False,False,False +444,0,5,0,0x010161,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +444,0,5,0,0x010161,0x8FA,0,100,63,0,0,0,0,1,0,0,0,False,False,False,False,False,False +444,0,5,0,0x010162,0x8FA,0,100,61,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,1,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,1,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,1,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,1,0,0x011301,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,3,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,3,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,3,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,3,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,15,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,15,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,15,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,15,0,0x011301,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,22,0,0x011210,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,22,0,0x011210,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,22,0,0x011210,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,22,0,0x011210,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,23,0,0x019300,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,23,0,0x019300,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,23,0,0x019301,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,23,0,0x019301,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,23,0,0x011210,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,24,0,0x010316,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,24,0,0x010316,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,24,0,0x010316,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,25,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,25,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,25,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,26,0,0x010410,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,26,0,0x010410,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,26,0,0x010410,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,26,0,0x010410,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,27,0,0x011211,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,27,0,0x011211,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,27,0,0x011211,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,27,0,0x011211,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,29,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,29,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,29,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,29,0,0x015620,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,46,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,46,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,46,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,46,0,0x011300,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,47,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,47,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,47,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +372,0,47,0,0x011500,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,1,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,1,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,1,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,1,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,2,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,2,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,2,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,2,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,4,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,4,0,0x010152,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,4,0,0x010155,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,4,0,0x010155,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,4,0,0x010153,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,4,0,0x010153,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,13,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,13,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,13,0,0x010153,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,13,0,0x010155,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,13,0,0x010155,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,14,0,0x010400,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,14,0,0x010400,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,14,0,0x010400,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,14,0,0x010400,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,15,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,15,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,15,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,15,0,0x019100,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,17,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,17,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,17,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,17,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,21,0,0x015620,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,21,0,0x015620,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,21,0,0x015620,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,21,0,0x015620,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,21,0,0x015620,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,35,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,35,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,35,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,35,0,0x010150,0x8FA,0,100,69,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,38,0,0x018200,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,38,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,38,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,38,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,38,0,0x018201,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,56,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,56,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,56,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,56,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,57,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,57,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,57,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,57,0,0x010314,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,57,0,0x010320,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,58,0,0x010153,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,58,0,0x010153,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,58,0,0x010155,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,58,0,0x010155,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,59,0,0x010152,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,59,0,0x010152,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,59,0,0x010152,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,59,0,0x010151,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,59,0,0x010151,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,62,0,0x010153,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,62,0,0x010153,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,62,0,0x010155,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,62,0,0x010155,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,66,0,0x019000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,66,0,0x019000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,66,0,0x019001,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,66,0,0x019001,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010151,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010152,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010152,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010153,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010155,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,70,0,0x010150,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,77,0,0x010155,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,77,0,0x010155,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,77,0,0x010153,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +371,0,77,0,0x010153,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +374,0,36,0,0x019000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +374,0,36,0,0x019000,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +374,0,36,0,0x019001,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +374,0,36,0,0x019001,0x8FA,0,100,10,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,4,0,0x010191,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,4,0,0x010190,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,4,0,0x010190,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,4,0,0x010192,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,4,0,0x010192,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,8,0,0x010206,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,8,0,0x010206,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,10,0,0x010450,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,10,0,0x010450,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,10,0,0x010450,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,10,0,0x010450,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,10,0,0x010450,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,10,0,0x010451,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,17,0,0x010607,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,17,0,0x010607,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,17,0,0x010607,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,17,0,0x010607,0x8FA,0,100,68,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,18,0,0x010206,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,18,0,0x010206,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,18,0,0x010206,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,18,0,0x010206,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,18,0,0x010206,0x8FA,0,100,70,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,25,0,0x015032,0x8FA,0,100,73,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,26,0,0x011160,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,26,0,0x011130,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,26,0,0x011131,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False +373,0,26,0,0x011132,0x8FA,0,100,75,0,0,0,0,1,0,0,0,False,False,False,False,False,False From cf6e0f76fa48200ae509c2001d675baf15ff3e55 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 25 Sep 2022 23:24:57 +0200 Subject: [PATCH 40/72] Abilities now work properly --- .../Files/Database/Script/schema_sqlite.sql | 2 +- .../Sql/Core/DdonSqlDbSetAcquirementParam.cs | 8 +- .../Chat/Command/Commands/JobCommand.cs | 8 +- Arrowgene.Ddon.GameServer/Dump/GameDump.cs | 12 +- .../Handler/ContextSetContextHandler.cs | 2 +- .../Handler/JobChangeJobHandler.cs | 8 +- .../SkillGetAcquirableAbilityListHandler.cs | 525 +++++++++++++++++- .../SkillGetCurrentSetSkillListHandler.cs | 5 +- .../SkillGetLearnedAbilityListHandler.cs | 14 +- .../SkillGetLearnedSkillListHandler.cs | 1 + .../Handler/SkillGetSetAbilityListHandler.cs | 3 + .../Handler/CreateCharacterHandler.cs | 40 +- .../Entity/Structure/CDataContextBase.cs | 1 + .../Structure/CDataSetAcquirementParam.cs | 2 +- 14 files changed, 572 insertions(+), 59 deletions(-) diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 22c92a3ba..9edca5330 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -250,7 +250,7 @@ CREATE TABLE IF NOT EXISTS `ddon_set_acquirement_param` `slot_no` TINYINT NOT NULL, `acquirement_no` INT NOT NULL, `acquirement_lv` TINYINT NOT NULL, - PRIMARY KEY (`character_id`, `job`, `slot_no`), + PRIMARY KEY (`character_id`, `job`, `type`, `slot_no`), CONSTRAINT `fk_set_acquirement_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs index 98457b323..2fa28e208 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs @@ -15,10 +15,10 @@ public abstract partial class DdonSqlDb : SqlDb private readonly string SqlInsertSetAcquirementParam = $"INSERT INTO `ddon_set_acquirement_param` ({BuildQueryField(CDataSetAcquirementParamFields)}) VALUES ({BuildQueryInsert(CDataSetAcquirementParamFields)});"; private readonly string SqlReplaceSetAcquirementParam = $"INSERT OR REPLACE INTO `ddon_set_acquirement_param` ({BuildQueryField(CDataSetAcquirementParamFields)}) VALUES ({BuildQueryInsert(CDataSetAcquirementParamFields)});"; - private static readonly string SqlUpdateSetAcquirementParam = $"UPDATE `ddon_set_acquirement_param` SET {BuildQueryUpdate(CDataSetAcquirementParamFields)} WHERE `character_id` = @character_id AND `job` = @job AND `slot_no`=@slot_no;"; - private static readonly string SqlSelectCustomSkillsSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `job` <> 0"; - private static readonly string SqlSelectAbilitiesSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `job` = 0;"; - private const string SqlDeleteSetAcquirementParam = "DELETE FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `job`=@job AND `slot_no`=@slot_no;"; + private static readonly string SqlUpdateSetAcquirementParam = $"UPDATE `ddon_set_acquirement_param` SET {BuildQueryUpdate(CDataSetAcquirementParamFields)} WHERE `character_id`=@character_id AND `job`=@job AND `type`=@type AND `slot_no`=@slot_no;"; + private static readonly string SqlSelectCustomSkillsSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `type` = 0"; + private static readonly string SqlSelectAbilitiesSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `type` = 1;"; + private const string SqlDeleteSetAcquirementParam = "DELETE FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `job`=@job AND `type`=@type AND `slot_no`=@slot_no;"; public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam) { diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs index 02d0aaeb1..cae4052a1 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs @@ -83,8 +83,12 @@ public override void Execute(string[] command, GameClient client, ChatMessage me .Union(client.Character.CharacterEquipDataListDictionary[client.Character.Job]) .SelectMany(x => x.Equips) .ToList(); - notice.SetAcquirementParamList = client.Character.CustomSkills; - notice.SetAbilityParamList = client.Character.Abilities; + notice.SetAcquirementParamList = client.Character.CustomSkills + .Where(x => x.Job == job) + .ToList(); + notice.SetAbilityParamList = client.Character.Abilities + .Where(x => x.Job == job) + .ToList(); notice.LearnNormalSkillParamList = client.Character.NormalSkills .Select(x => new CDataLearnNormalSkillParam(x)) .ToList(); diff --git a/Arrowgene.Ddon.GameServer/Dump/GameDump.cs b/Arrowgene.Ddon.GameServer/Dump/GameDump.cs index 7b2715292..a86597948 100644 --- a/Arrowgene.Ddon.GameServer/Dump/GameDump.cs +++ b/Arrowgene.Ddon.GameServer/Dump/GameDump.cs @@ -291,13 +291,13 @@ public static class GameDump 0x0, 0x0, 0x0, 0xA, // CDataPartyMemberMaxNum 0x0, 0x0, 0x0, 0x9, - 0x0, 0x0, 0x0, 0x4, + 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x4, + 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x2, - 0x0, 0x0, 0x0, 0x4, + 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x8, @@ -309,16 +309,16 @@ public static class GameDump 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x6, - 0x0, 0x0, 0x0, 0x4, + 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x7, - 0x0, 0x0, 0x0, 0x4, + 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0xA, - 0x0, 0x0, 0x0, 0x4, + 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x2A, 0x30, 0x0, 0x0, 0x27, 0x95, 0x2, 0x0, 0x0, 0x0, 0x4, 0x2, 0x2, diff --git a/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs b/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs index c0b88fddd..de63f04fc 100644 --- a/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/ContextSetContextHandler.cs @@ -23,7 +23,7 @@ public override void Handle(GameClient client, StructurePacket context = new Tuple(packet.Structure.Base, packet.Structure.Additional); - client.Party.Contexts.Add(packet.Structure.Base.UniqueId, context); + client.Party.Contexts[packet.Structure.Base.UniqueId] = context; } } } \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs index 581519ded..0c6c8f692 100644 --- a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs @@ -34,8 +34,12 @@ public override void Handle(GameClient client, StructurePacket x.Equips) .ToList(); - notice.SetAcquirementParamList = client.Character.CustomSkills; - notice.SetAbilityParamList = client.Character.Abilities; + notice.SetAcquirementParamList = client.Character.CustomSkills + .Where(x => x.Job == packet.Structure.JobId) + .ToList(); + notice.SetAbilityParamList = client.Character.Abilities + .Where(x => x.Job == packet.Structure.JobId) + .ToList(); notice.LearnNormalSkillParamList = client.Character.NormalSkills .Select(x => new CDataLearnNormalSkillParam(x)) .ToList(); diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetAcquirableAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetAcquirableAbilityListHandler.cs index afe8f2851..3c74e0cdf 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetAcquirableAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetAcquirableAbilityListHandler.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; @@ -13,6 +14,509 @@ public class SkillGetAcquirableAbilityListHandler : StructurePacketHandler(typeof(SkillGetAcquirableAbilityListHandler)); + public static readonly List AllAbilities = new List() { + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x4}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0xF}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x5}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x1}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x9}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x10}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x6}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x19}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x17}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x18}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x16}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0xA}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x2}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0xC}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x11}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x13}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x8}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x3}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0xD}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x15}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0xB}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x7}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0xE}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x14}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x128}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x129}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12B}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12A}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12C}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12D}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12E}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x12F}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x131}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x130}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x132}, + new CDataAbilityParam() {Type=1, Job=JobId.Fighter, AbilityNo=0x133}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x6F}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x74}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x6D}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x65}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x7B}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x7C}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x6A}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x66}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x7D}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x78}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x79}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x75}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x68}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x70}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x77}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x7A}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x69}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x67}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x71}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x6E}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x73}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x76}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x6B}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x6C}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x72}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x158}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x159}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x15C}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x15A}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x15B}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x15D}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x15E}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x15F}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x162}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x160}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x161}, + new CDataAbilityParam() {Type=1, Job=JobId.Seeker, AbilityNo=0x163}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x1B}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x22}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x2A}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x1A}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x1E}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x24}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x21}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x32}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x30}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x31}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x2F}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x1F}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x1D}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x23}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x27}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x2D}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x29}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x20}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x2B}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x1C}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x2E}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x26}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x25}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x28}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x2C}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x134}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x135}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x137}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x136}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x138}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x139}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x13A}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x13B}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x13D}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x13C}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x13E}, + new CDataAbilityParam() {Type=1, Job=JobId.Hunter, AbilityNo=0x13F}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x3E}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x43}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x39}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x34}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x3F}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x44}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x3A}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x40}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x45}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x4B}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x49}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x4A}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x48}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x33}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x3D}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x41}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x42}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x37}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x38}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x46}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x47}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x35}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x3C}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x36}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x3B}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x140}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x141}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x143}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x142}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x144}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x145}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x146}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x147}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x149}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x148}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x14A}, + new CDataAbilityParam() {Type=1, Job=JobId.Priest, AbilityNo=0x14B}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x52}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x55}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x4F}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x51}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x59}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x5D}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x63}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x54}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x57}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x56}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x58}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x4D}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x50}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x5F}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x60}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x61}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x5C}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x4C}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x53}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x5A}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x5E}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x62}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x5B}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x4E}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x64}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x14C}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x14D}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x150}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x14E}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x14F}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x151}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x152}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x153}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x156}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x154}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x155}, + new CDataAbilityParam() {Type=1, Job=JobId.ShieldSage, AbilityNo=0x157}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x7E}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x8E}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x89}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x81}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x82}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x83}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x84}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x92}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x94}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x91}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x93}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x7F}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x80}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x86}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x8A}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x8F}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x95}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x85}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x88}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x8C}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x90}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x8D}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x87}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x8B}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x96}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x164}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x165}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x16B}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x166}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x168}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x169}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x167}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x16A}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x16E}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x16C}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x16D}, + new CDataAbilityParam() {Type=1, Job=JobId.Sorcerer, AbilityNo=0x16F}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB5}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xBF}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB4}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC0}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB1}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB8}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xBC}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB2}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB9}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC8}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xBD}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC1}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC7}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB0}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB6}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB7}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xBB}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xBA}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC3}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC4}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC5}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xBE}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xB3}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC2}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0xC6}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x17C}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x17D}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x180}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x17E}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x17F}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x181}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x182}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x183}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x186}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x184}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x185}, + new CDataAbilityParam() {Type=1, Job=JobId.Warrior, AbilityNo=0x187}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x9F}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA6}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x9A}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA7}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA8}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA0}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA1}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA9}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xAD}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xAF}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA5}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xAC}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xAE}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x9C}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xAA}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xAB}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x97}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x99}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA3}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x9D}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA4}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x98}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0xA2}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x9B}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x9E}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x170}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x171}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x173}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x172}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x174}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x175}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x176}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x177}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x179}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x178}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x17A}, + new CDataAbilityParam() {Type=1, Job=JobId.ElementArcher, AbilityNo=0x17B}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xCD}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xCE}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD6}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xDA}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xCB}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD0}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xDB}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xCC}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD3}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xDE}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xCF}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD8}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xDF}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xCA}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD1}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD4}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD2}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD9}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xDC}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xC9}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD5}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xE0}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xD7}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xDD}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0xE1}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x188}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x189}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x18C}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x18A}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x18B}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x18D}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x18E}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x18F}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x192}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x190}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x191}, + new CDataAbilityParam() {Type=1, Job=JobId.Alchemist, AbilityNo=0x193}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x195}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x19F}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A2}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x196}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x194}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x19B}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A1}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x19D}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x198}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A0}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x199}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x19E}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x19A}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B1}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A6}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A7}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A8}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1AB}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x19C}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A9}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1AA}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x197}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A4}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A5}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1AC}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1AD}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1AE}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B0}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B2}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1AF}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B7}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B3}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B4}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B6}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1A3}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B5}, + new CDataAbilityParam() {Type=1, Job=JobId.SpiritLancer, AbilityNo=0x1B8}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D3}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D9}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1DE}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D5}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D4}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E3}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E5}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D8}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1DF}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D2}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E4}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E6}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D6}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1D7}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E2}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E0}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E9}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E1}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E8}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1EA}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1DD}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1DB}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1E7}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1DA}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F3}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F4}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F6}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F5}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F1}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F8}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1ED}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1EE}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1EF}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F0}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F2}, + new CDataAbilityParam() {Type=1, Job=JobId.HighScepter, AbilityNo=0x1F7}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE7}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE8}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xEC}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE4}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xEB}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xED}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF0}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF1}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF4}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF5}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE5}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE6}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE9}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF2}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF3}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE2}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xE3}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xEE}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xEF}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xEA}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF6}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF7}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF8}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xF9}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xFA}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xFB}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xFC}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xFD}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xFE}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0xFF}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x100}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x0101}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x0102}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x0103}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x0104}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x15}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x16}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x0107}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x18}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x19}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1A}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1B}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1D}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1E}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1F}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x110}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x111}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x112}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x113}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x114}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x115}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x116}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x117}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x118}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x119}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x11A}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x11B}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x11C}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x11D}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x11E}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x11F}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x120}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x121}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x122}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x123}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x124}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x125}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x126}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x127}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1B9}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1BA}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1BB}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1BC}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1BD}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1BE}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1BF}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C0}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C1}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C2}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C3}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C4}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C5}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C6}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C7}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C8}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1C9}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1CA}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1CB}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1CC}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1CD}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1CE}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1CF}, + new CDataAbilityParam() {Type=1, Job=0, AbilityNo=0x1D0}, + }; + public SkillGetAcquirableAbilityListHandler(DdonGameServer server) : base(server) { } @@ -21,25 +525,8 @@ public override void Handle(GameClient client, StructurePacket() - { - new CDataAbilityParam() - { - AbilityNo = 1, - Job = JobId.Fighter, - Type = 1, - Params = new List() - { - new CDataAbilityLevelParam() - { - Lv = 1, - RequireJobLevel = 1, - RequireJobPoint = 1, - IsRelease = true - } - } - } - } + AbilityParamList = AllAbilities + .Where(x => x.Job == packet.Structure.Job).ToList() }); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs index 09c6faad4..b64551e65 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetCurrentSetSkillListHandler.cs @@ -1,3 +1,4 @@ +using System.Linq; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Network; @@ -21,8 +22,8 @@ public override void Handle(GameClient client, StructurePacket x.Job == client.Character.Job).ToList(); // Doesn't seem to be necessary for skills + res.SetAbilityList = client.Character.Abilities.Where(x => x.Job == client.Character.Job).ToList(); // But it seems so for abilities client.Send(res); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs index d52f4cb64..2109acd7c 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs @@ -1,6 +1,9 @@ +using System; +using System.Linq; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -16,7 +19,16 @@ public SkillGetLearnedAbilityListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - client.Send(new S2CSkillGetLearnedAbilityListRes()); + client.Send(new S2CSkillGetLearnedAbilityListRes() + { + SetAcquierementParam = SkillGetAcquirableAbilityListHandler.AllAbilities + .Select(ability => new CDataLearnedSetAcquirementParam() { + Job = ability.Job, + Type = ability.Type, + AcquirementNo = ability.AbilityNo, + AcquirementLv = 6 + }).ToList() + }); } } } \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs index ee48c1876..5755b2ce0 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedSkillListHandler.cs @@ -23,6 +23,7 @@ public override void Handle(GameClient client, StructurePacket new CDataLearnedSetAcquirementParam() { Job = skill.Job, + Type = skill.Type, AcquirementNo = skill.SkillNo, AcquirementLv = (byte) (IsSkillEX(skill.SkillNo) ? 1 : 10) // EX skills must be Lv 1 to work, otherwise use Lv 10 (Max level) }).ToList() diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs index dd8b82288..f917663c7 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs @@ -1,3 +1,4 @@ +using System.Linq; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; @@ -18,6 +19,8 @@ public override void Handle(GameClient client, StructurePacket x.Job == client.Character.Job) + .ToList() }); } } diff --git a/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs index 3fce0738f..c22390795 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs @@ -1022,71 +1022,71 @@ public override void Handle(LoginClient client, StructurePacket new List() { new CDataSetAcquirementParam() { - Job = arisenPreset.Ab1Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 1, AcquirementNo = arisenPreset.Ab1Id, AcquirementLv = arisenPreset.Ab1Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab2Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 2, AcquirementNo = arisenPreset.Ab2Id, AcquirementLv = arisenPreset.Ab2Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab3Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 3, AcquirementNo = arisenPreset.Ab3Id, AcquirementLv = arisenPreset.Ab3Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab4Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 4, AcquirementNo = arisenPreset.Ab4Id, AcquirementLv = arisenPreset.Ab4Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab5Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 5, AcquirementNo = arisenPreset.Ab5Id, AcquirementLv = arisenPreset.Ab5Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab6Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 6, AcquirementNo = arisenPreset.Ab6Id, AcquirementLv = arisenPreset.Ab6Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab7Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 7, AcquirementNo = arisenPreset.Ab7Id, AcquirementLv = arisenPreset.Ab7Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab8Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 8, AcquirementNo = arisenPreset.Ab8Id, AcquirementLv = arisenPreset.Ab8Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab9Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 9, AcquirementNo = arisenPreset.Ab9Id, AcquirementLv = arisenPreset.Ab9Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Ab10Jb, - Type = 0, + Job = arisenPreset.Job, + Type = 1, SlotNo = 10, AcquirementNo = arisenPreset.Ab10Id, AcquirementLv = arisenPreset.Ab10Lv diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs index 48fa81b49..7889e908b 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs @@ -32,6 +32,7 @@ public CDataContextBase(Character character) .Where(x => x.Job == character.Job) .Select(x => new CDataContextAcquirementData(x)).ToList(); ContextAbilityList = character.Abilities + .Where(x => x.Job == character.Job) .Select(x => new CDataContextAcquirementData(x)).ToList(); Unk0List=new List(); // TODO: Figure this one out } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs index c81145abd..b7f4845da 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs @@ -14,7 +14,7 @@ public CDataSetAcquirementParam() AcquirementLv=0; } - public JobId Job { get; set; } // It's an Ability if Job == 0 + public JobId Job { get; set; } public byte Type { get; set; } public byte SlotNo { get; set; } public uint AcquirementNo { get; set; } From e84231a49cbc896058204a2951fbea28cede535e Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Mon, 26 Sep 2022 19:04:46 +0800 Subject: [PATCH 41/72] draft refactor --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 111 +- .../Chat/ChatResponse.cs | 10 +- .../Chat/Command/ChatCommandHandler.cs | 8 - .../Chat/IChatHandler.cs | 2 +- .../Chat/Log/ChatLogHandler.cs | 25 +- .../Chat/Log/ChatMessageLogEntry.cs | 27 + Arrowgene.Ddon.GameServer/DdonGameServer.cs | 32 +- Arrowgene.Ddon.GameServer/GameClient.cs | 10 +- Arrowgene.Ddon.GameServer/GameClientLookup.cs | 28 +- Arrowgene.Ddon.GameServer/GameRouter.cs | 2 +- .../Handler/LobbyLobbyChatMsgHandler.cs | 1 - .../Handler/PartyPartyCreateHandler.cs | 19 +- .../PartyPartyInviteCharacterHandler.cs | 16 +- .../PartyPartyInvitePrepareAcceptHandler.cs | 9 +- .../Handler/PartyPartyJoinHandler.cs | 36 +- .../Handler/PartyPartyLeaveHandler.cs | 10 +- .../Handler/PartySendBinaryMsgAllHandler.cs | 8 +- .../Handler/PartySendBinaryMsgHandler.cs | 6 +- .../Handler/PawnJoinPartyMypawnHandler.cs | 12 +- ...endLeaderQuestOrderConditionInfoHandler.cs | 8 +- ...uestSendLeaderWaitOrderQuestListHandler.cs | 6 +- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 122 + .../Party/PartyManager.cs | 60 + Arrowgene.Ddon.LoginServer/Dump/LoginDump.cs | 4484 +---------------- Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs | 3 +- Arrowgene.Ddon.Rpc/Command/ChatCommand.cs | 10 +- Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs | 52 +- .../Entity/Structure/CDataPartyContextPawn.cs | 4 +- Arrowgene.Ddon.Shared/Model/IPartyMember.cs | 18 - Arrowgene.Ddon.Shared/Model/JobId.cs | 2 +- Arrowgene.Ddon.Shared/Model/JoinState.cs | 2 +- Arrowgene.Ddon.Shared/Model/OnlineStatus.cs | 2 +- Arrowgene.Ddon.Shared/Model/Party.cs | 40 - Arrowgene.Ddon.Shared/Model/Pawn.cs | 36 +- Arrowgene.Ddon.Shared/RollingList.cs | 51 + Arrowgene.Ddon.Shared/Util.cs | 44 - 36 files changed, 481 insertions(+), 4835 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Chat/Log/ChatMessageLogEntry.cs create mode 100644 Arrowgene.Ddon.GameServer/Party/PartyGroup.cs create mode 100644 Arrowgene.Ddon.GameServer/Party/PartyManager.cs delete mode 100644 Arrowgene.Ddon.Shared/Model/IPartyMember.cs delete mode 100644 Arrowgene.Ddon.Shared/Model/Party.cs create mode 100644 Arrowgene.Ddon.Shared/RollingList.cs diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index d13c164d9..ec99b78b1 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -1,10 +1,8 @@ -using System; using System.Collections.Generic; +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared.Model; using Arrowgene.Logging; -using static Arrowgene.Ddon.Shared.Util; -using Arrowgene.Ddon.Server.Network; namespace Arrowgene.Ddon.GameServer.Chat { @@ -12,19 +10,15 @@ public class ChatManager { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(ChatManager)); - public IEnumerable ChatMessageLog { get => _chatMessageLog; } - private readonly List _handler; private readonly GameRouter _router; private readonly DdonGameServer _server; - private readonly RollingList _chatMessageLog; public ChatManager(DdonGameServer server, GameRouter router) { _server = server; _router = router; _handler = new List(); - _chatMessageLog = new RollingList(100); // TODO: Move to server config } public void AddHandler(IChatHandler handler) @@ -32,9 +26,53 @@ public void AddHandler(IChatHandler handler) _handler.Add(handler); } - public void Handle(IPartyMember messageSender, ChatMessage message) + public void SendMessage(string message, string firstName, string lastName, LobbyChatMsgType type, + params uint[] characterIds) + { + ChatResponse response = new ChatResponse(); + response.Deliver = true; + response.Message = message; + response.FirstName = firstName; + response.LastName = lastName; + response.CharacterId = 0; + response.Type = type; + response.Unk2 = 0; + response.Unk3 = 0; + response.Unk4 = 0; + foreach (uint characterId in characterIds) + { + GameClient client = _server.ClientLookup.GetClientByCharacterId(characterId); + if (client == null) + { + continue; + } + + response.Recipients.Add(client); + } + + _router.Send(response); + } + + public void SendMessage(string message, string firstName, string lastName, LobbyChatMsgType type, + List recipients) + { + ChatResponse response = new ChatResponse(); + response.Deliver = true; + response.Message = message; + response.FirstName = firstName; + response.LastName = lastName; + response.CharacterId = 0; + response.Type = type; + response.Unk2 = 0; + response.Unk3 = 0; + response.Unk4 = 0; + response.Recipients.AddRange(recipients); + _router.Send(response); + } + + public void Handle(GameClient client, ChatMessage message) { - if (messageSender == null) + if (client == null) { Logger.Debug("Client is Null"); return; @@ -42,31 +80,21 @@ public void Handle(IPartyMember messageSender, ChatMessage message) if (message == null) { - if(messageSender is GameClient) - { - Logger.Debug(messageSender as GameClient, "Chat Message is Null"); - } - else - { - Logger.Debug("Chat Message is Null"); - } + Logger.Debug(client, "Chat Message is Null"); return; } - ChatMessageLogEntry logEntry = new ChatMessageLogEntry(messageSender.Character, message); - _chatMessageLog.Add(logEntry); - List responses = new List(); foreach (IChatHandler handler in _handler) { - handler.Handle(messageSender, message, responses); + handler.Handle(client, message, responses); } if (message.Deliver) { // deliver original chat message - ChatResponse response = ChatResponse.FromMessage(messageSender, message); - Deliver(messageSender, response); + ChatResponse response = ChatResponse.FromMessage(client, message); + Deliver(client, response); } foreach (ChatResponse response in responses) @@ -77,11 +105,11 @@ public void Handle(IPartyMember messageSender, ChatMessage message) continue; } - Deliver(messageSender, response); + Deliver(client, response); } } - private void Deliver(IPartyMember messageSender, ChatResponse response) + private void Deliver(GameClient client, ChatResponse response) { switch (response.Type) { @@ -90,39 +118,18 @@ private void Deliver(IPartyMember messageSender, ChatResponse response) response.Recipients.AddRange(_server.Clients); break; case LobbyChatMsgType.Party: - if(messageSender.Party != null) - response.Recipients.AddRange(messageSender.Party.Members); + PartyGroup party = client.Party; + if (party != null) + { + response.Recipients.AddRange(party.Members); + } break; default: - response.Recipients.Add(messageSender); + response.Recipients.Add(client); break; } _router.Send(response); } - - - public class ChatMessageLogEntry - { - // For the JSON deserializer - public ChatMessageLogEntry() - { - } - - public ChatMessageLogEntry(Character character, ChatMessage chatMessage) - { - DateTime = DateTime.Now; - FirstName = character.FirstName; - LastName = character.LastName; - CharacterId = character.Id; - ChatMessage = chatMessage; - } - - public DateTime DateTime { get; set; } - public string FirstName { get; set; } - public string LastName { get; set; } - public uint CharacterId { get; set; } - public ChatMessage ChatMessage { get; set; } - } } } diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs b/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs index a2a4a017b..425805a5d 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatResponse.cs @@ -5,7 +5,7 @@ namespace Arrowgene.Ddon.GameServer.Chat { public class ChatResponse { - public static ChatResponse CommandError(IPartyMember client, string message) + public static ChatResponse CommandError(GameClient client, string message) { return new ChatResponse() { @@ -16,7 +16,7 @@ public static ChatResponse CommandError(IPartyMember client, string message) }; } - public static ChatResponse ServerMessage(IPartyMember client, string message) + public static ChatResponse ServerMessage(GameClient client, string message) { return new ChatResponse() { @@ -27,7 +27,7 @@ public static ChatResponse ServerMessage(IPartyMember client, string message) }; } - public static ChatResponse FromMessage(IPartyMember client, ChatMessage message) + public static ChatResponse FromMessage(GameClient client, ChatMessage message) { return new ChatResponse() { @@ -46,7 +46,7 @@ public static ChatResponse FromMessage(IPartyMember client, ChatMessage message) public ChatResponse() { - Recipients = new List(); + Recipients = new List(); Deliver = true; Type = LobbyChatMsgType.Say; Unk2 = 0; @@ -59,7 +59,7 @@ public ChatResponse() ClanName = ""; } - public List Recipients { get; } + public List Recipients { get; } public bool Deliver { get; set; } public LobbyChatMsgType Type { get; set; } public byte Unk2 { get; set; } diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs b/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs index 4c001cc30..f00b24fd1 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/ChatCommandHandler.cs @@ -91,13 +91,5 @@ public void Handle(GameClient client, ChatMessage message, List re chatCommand.Execute(subCommand, client, message, responses); } - - public void Handle(IPartyMember client, ChatMessage message, List responses) - { - if(client is GameClient) - { - Handle(client as GameClient, message, responses); - } - } } } diff --git a/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs b/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs index 8417ce929..89a07349f 100644 --- a/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/IChatHandler.cs @@ -5,6 +5,6 @@ namespace Arrowgene.Ddon.GameServer.Chat { public interface IChatHandler { - void Handle(IPartyMember client, ChatMessage message, List responses); + void Handle(GameClient client, ChatMessage message, List responses); } } diff --git a/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs b/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs index b33dfedec..59d692dca 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Log/ChatLogHandler.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using Arrowgene.Ddon.GameServer.Chat.Command; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared; using Arrowgene.Logging; namespace Arrowgene.Ddon.GameServer.Chat.Log @@ -10,17 +10,24 @@ public class ChatLogHandler : IChatHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(ChatCommandHandler)); - public void Handle(GameClient client, ChatMessage message, List responses) + private readonly RollingList _chatMessageLog; + + public ChatLogHandler() { - Logger.Info(client, message.Message); + _chatMessageLog = new RollingList(100); // TODO: Move to server config } - - public void Handle(IPartyMember client, ChatMessage message, List responses) + + public IEnumerable ChatMessageLog { - if(client is GameClient) - { - Handle(client as GameClient, message, responses); - } + get => _chatMessageLog; + } + + public void Handle(GameClient client, ChatMessage message, List responses) + { + Logger.Info(client, message.Message); + + ChatMessageLogEntry logEntry = new ChatMessageLogEntry(client.Character, message); + _chatMessageLog.Add(logEntry); } } } diff --git a/Arrowgene.Ddon.GameServer/Chat/Log/ChatMessageLogEntry.cs b/Arrowgene.Ddon.GameServer/Chat/Log/ChatMessageLogEntry.cs new file mode 100644 index 000000000..dd7f694b3 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Chat/Log/ChatMessageLogEntry.cs @@ -0,0 +1,27 @@ +using System; +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.GameServer.Chat.Log; + +public class ChatMessageLogEntry +{ + // For the JSON deserializer + public ChatMessageLogEntry() + { + } + + public ChatMessageLogEntry(Character character, ChatMessage chatMessage) + { + DateTime = DateTime.Now; + FirstName = character.FirstName; + LastName = character.LastName; + CharacterId = character.Id; + ChatMessage = chatMessage; + } + + public DateTime DateTime { get; set; } + public string FirstName { get; set; } + public string LastName { get; set; } + public uint CharacterId { get; set; } + public ChatMessage ChatMessage { get; set; } +} diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index b4025e46e..b8408040d 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -30,13 +30,13 @@ using Arrowgene.Ddon.GameServer.Dump; using Arrowgene.Ddon.GameServer.Enemy; using Arrowgene.Ddon.GameServer.Handler; +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared; using Arrowgene.Ddon.Shared.Entity; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Logging; using Arrowgene.Networking.Tcp; @@ -46,19 +46,16 @@ public class DdonGameServer : DdonServer { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(DdonGameServer)); - private readonly List _parties; // TODO not thread safe - private readonly Dictionary _stages; - public DdonGameServer(GameServerSetting setting, IDatabase database, AssetRepository assetRepository) : base(setting.ServerSetting, database, assetRepository) { - _parties = new List(); - _stages = new Dictionary(); Setting = new GameServerSetting(setting); Router = new GameRouter(); ChatManager = new ChatManager(this, Router); EnemyManager = new EnemyManager(assetRepository, database); + PartyManager = new PartyManager(); ClientLookup = new GameClientLookup(); + ChatLogHandler = new ChatLogHandler(); S2CStageGetStageListRes stageListPacket = EntitySerializer.Get().Read(GameDump.data_Dump_19); @@ -69,13 +66,10 @@ public DdonGameServer(GameServerSetting setting, IDatabase database, AssetReposi public GameServerSetting Setting { get; } public ChatManager ChatManager { get; } public EnemyManager EnemyManager { get; } + public PartyManager PartyManager { get; } public GameRouter Router { get; } - /// - /// Returns a copy of the party list. - /// To prevent modifications of affecting the original list. - /// - public List Parties => new List(_parties); + public ChatLogHandler ChatLogHandler { get; } public List StageList { get; } @@ -83,13 +77,11 @@ public DdonGameServer(GameServerSetting setting, IDatabase database, AssetReposi public override void Start() { - LoadStages(); LoadChatHandler(); LoadPacketHandler(); base.Start(); } - protected override void ClientConnected(GameClient client) { client.InitializeChallenge(); @@ -130,21 +122,9 @@ public override GameClient NewClient(ITcpSocket socket) return newClient; } - public Party NewParty() - { - Party newParty = new Party(); - _parties.Add(newParty); - return newParty; - } - - private void LoadStages() - { - _stages.Add(new StageId(0, 0, 0), new Stage(StageId.Invalid)); - } - private void LoadChatHandler() { - ChatManager.AddHandler(new ChatLogHandler()); + ChatManager.AddHandler(ChatLogHandler); ChatManager.AddHandler(new ChatCommandHandler(this)); } diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index 0c9f4a05f..076fc8525 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -1,4 +1,5 @@ using Arrowgene.Ddon.Database.Model; +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; @@ -8,7 +9,7 @@ namespace Arrowgene.Ddon.GameServer { - public class GameClient : Client, IPartyMember + public class GameClient : Client { public GameClient(ITcpSocket socket, PacketFactory packetFactory) : base(socket, packetFactory) { @@ -35,8 +36,11 @@ public void UpdateIdentity() public Character Character { get; set; } - public Party PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? - public Party Party { get; set; } + + + + public PartyGroup PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? + public PartyGroup Party { get; set; } public CDataPartyMember AsCDataPartyMember() { diff --git a/Arrowgene.Ddon.GameServer/GameClientLookup.cs b/Arrowgene.Ddon.GameServer/GameClientLookup.cs index a634a0b2a..a2baa11cc 100644 --- a/Arrowgene.Ddon.GameServer/GameClientLookup.cs +++ b/Arrowgene.Ddon.GameServer/GameClientLookup.cs @@ -1,4 +1,6 @@ -using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Database.Model; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.GameServer { @@ -12,12 +14,32 @@ public GameClient GetClientByAccountId(int accountId) { foreach (GameClient client in GetAll()) { - if (client.Account == null) + Account account = client.Account; + if (account == null) { continue; } - if (client.Account.Id == accountId) + if (account.Id == accountId) + { + return client; + } + } + + return null; + } + + public GameClient GetClientByCharacterId(uint characterId) + { + foreach (GameClient client in GetAll()) + { + Character character = client.Character; + if (character == null) + { + continue; + } + + if (character.Id == characterId) { return client; } diff --git a/Arrowgene.Ddon.GameServer/GameRouter.cs b/Arrowgene.Ddon.GameServer/GameRouter.cs index 84870ebaa..6e3e5c133 100644 --- a/Arrowgene.Ddon.GameServer/GameRouter.cs +++ b/Arrowgene.Ddon.GameServer/GameRouter.cs @@ -30,7 +30,7 @@ public void Send(ChatResponse response) notice.CharacterBaseInfo.CharacterName.FirstName = response.FirstName; notice.CharacterBaseInfo.CharacterName.LastName = response.LastName; notice.CharacterBaseInfo.ClanName = response.ClanName; - foreach (IPartyMember client in Unique(response.Recipients)) + foreach (GameClient client in Unique(response.Recipients)) { client.Send(notice); } diff --git a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs index fd05aae8d..920ac543d 100644 --- a/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/LobbyLobbyChatMsgHandler.cs @@ -1,4 +1,3 @@ -using Arrowgene.Buffers; using Arrowgene.Ddon.GameServer.Chat; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index d1a31337f..ebf83ee34 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -1,6 +1,5 @@ -using System.Linq; +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; @@ -9,7 +8,7 @@ namespace Arrowgene.Ddon.GameServer.Handler { - public class PartyPartyCreateHandler : StructurePacketHandler + public class PartyPartyCreateHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyCreateHandler)); @@ -20,12 +19,14 @@ public PartyPartyCreateHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - Party newParty = ((DdonGameServer) Server).NewParty(); - newParty.Members.Add(client); - newParty.Host = client; - newParty.Leader = client; - client.Party = newParty; - + PartyGroup newParty = Server.PartyManager.NewParty(client); + if (newParty == null) + { + Logger.Error(client, "Failed to create party"); + // TODO return error + return; + } + S2CPartyPartyJoinNtc partyJoinNtc = new S2CPartyPartyJoinNtc(); partyJoinNtc.HostCharacterId = client.Character.Id; partyJoinNtc.LeaderCharacterId = client.Character.Id; diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs index 69e24b6cf..abbeab2ed 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs @@ -9,7 +9,7 @@ namespace Arrowgene.Ddon.GameServer.Handler { - public class PartyPartyInviteCharacterHandler : StructurePacketHandler + public class PartyPartyInviteCharacterHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyInviteCharacterHandler)); @@ -38,8 +38,14 @@ public PartyPartyInviteCharacterHandler(DdonGameServer server) : base(server) // TODO: Figure out just how much packets/data within those packets we can do without while keeping everything functioning. public override void Handle(GameClient client, StructurePacket packet) { - // TODO: Optimize this lmao - GameClient targetClient = Server.Clients.Where(x => x.Character.Id == packet.Structure.CharacterId).First(); + GameClient targetClient = Server.ClientLookup.GetClientByCharacterId(packet.Structure.CharacterId); + if (targetClient == null) + { + Logger.Error(client, $"Could not locate CharacterId:{packet.Structure.CharacterId} for party invitation"); + // TODO error response + return; + } + // TODO: What would happen if two parties are trying to invite the same character? targetClient.PendingInvitedParty = client.Party; @@ -49,7 +55,7 @@ public override void Handle(GameClient client, StructurePacket + public class PartyPartyInvitePrepareAcceptHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyInvitePrepareAcceptHandler)); @@ -18,7 +17,7 @@ public PartyPartyInvitePrepareAcceptHandler(DdonGameServer server) : base(server public override void Handle(GameClient client, StructurePacket packet) { - Party newParty = client.PendingInvitedParty; // In case some other thread changes the value + PartyGroup newParty = client.PendingInvitedParty; // In case some other thread changes the value client.PendingInvitedParty = null; client.Send(new S2CPartyPartyInvitePrepareAcceptRes()); @@ -48,4 +47,4 @@ public override void Handle(GameClient client, StructurePacket + public class PartyPartyJoinHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyJoinHandler)); @@ -18,32 +17,37 @@ public PartyPartyJoinHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - // TODO: Optimize - Party newParty = ((DdonGameServer) Server).Parties.Find(x => x.Id == packet.Structure.PartyId); + PartyGroup party = Server.PartyManager.GetParty(packet.Structure.PartyId); + if (party == null) + { + Logger.Error(client, "Could not join party"); + // todo return error + return; + } - newParty.Members.Add(client); + party.Members.Add(client); client.PendingInvitedParty = null; - client.Party = newParty; + client.Party = party; S2CPartyPartyJoinRes response = new S2CPartyPartyJoinRes(); - response.PartyId = newParty.Id; + response.PartyId = party.Id; client.Send(response); // Send updated member list to all party members S2CPartyPartyJoinNtc partyJoinNtc = new S2CPartyPartyJoinNtc(); - partyJoinNtc.HostCharacterId = newParty.Host.Character.Id; - partyJoinNtc.LeaderCharacterId = newParty.Leader.Character.Id; - partyJoinNtc.PartyMembers = newParty.Members + partyJoinNtc.HostCharacterId = party.Host.Character.Id; + partyJoinNtc.LeaderCharacterId = party.Leader.Character.Id; + partyJoinNtc.PartyMembers = party.Members .Select(x => x.AsCDataPartyMember()) .ToList(); - newParty.SendToAll(partyJoinNtc); + party.SendToAll(partyJoinNtc); // Send party player context NTCs to the new member - for(byte i = 0; i < newParty.Members.Count; i++) + for(byte i = 0; i < party.Members.Count; i++) { - IPartyMember member = newParty.Members[i]; - newParty.SendToAll(member.AsContextPacket()); + GameClient member = party.Members[i]; + party.SendToAll(member.AsContextPacket()); } } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs index d6fc31335..85b8a577a 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs @@ -1,14 +1,12 @@ +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; namespace Arrowgene.Ddon.GameServer.Handler { - public class PartyPartyLeaveHandler : StructurePacketHandler + public class PartyPartyLeaveHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyLeaveHandler)); @@ -18,7 +16,7 @@ public PartyPartyLeaveHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - Party oldParty = client.Party; + PartyGroup oldParty = client.Party; S2CPartyPartyLeaveNtc partyLeaveNtc = new S2CPartyPartyLeaveNtc(); partyLeaveNtc.CharacterId = client.Character.Id; @@ -30,4 +28,4 @@ public override void Handle(GameClient client, StructurePacket + public class PartySendBinaryMsgAllHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartySendBinaryMsgAllHandler)); @@ -17,7 +15,7 @@ public PartySendBinaryMsgAllHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - foreach(IPartyMember otherClient in client.Party.Members) + foreach(GameClient otherClient in client.Party.Members) { S2CPartyRecvBinaryMsgAllNtc binaryMsgNtc = new S2CPartyRecvBinaryMsgAllNtc(); binaryMsgNtc.CharacterId = client.Character.Id; @@ -27,4 +25,4 @@ public override void Handle(GameClient client, StructurePacket + public class PartySendBinaryMsgHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartySendBinaryMsgHandler)); @@ -18,7 +16,7 @@ public PartySendBinaryMsgHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - foreach(IPartyMember otherClient in Server.Clients.Where(x => packet.Structure.CharacterIdList.Select(x => x.Value).Contains(x.Character.Id))) + foreach(GameClient otherClient in Server.Clients.Where(x => packet.Structure.CharacterIdList.Select(x => x.Value).Contains(x.Character.Id))) { S2CPartyRecvBinaryMsgNtc binaryMsgNtc = new S2CPartyRecvBinaryMsgNtc(); binaryMsgNtc.CharacterId = client.Character.Id; diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index bc5cecc6e..73a021f88 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -1,5 +1,4 @@ using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -7,11 +6,12 @@ using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Entity.Structure; using System.Collections.Generic; +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Shared.Entity; namespace Arrowgene.Ddon.GameServer.Handler { - public class PawnJoinPartyMypawnHandler : StructurePacketHandler + public class PawnJoinPartyMypawnHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PawnJoinPartyMypawnHandler)); @@ -25,9 +25,9 @@ public override void Handle(GameClient client, StructurePacket().Read(SelectedDump.data_Dump_Pawn35_3_16); MyPawnCsv myPawnCsvData = Server.AssetRepository.MyPawnAsset[req.Structure.PawnNumber-1]; - Pawn pawn = new Pawn(); - pawn.Owner = client; - pawn.Party = client.Party; + + Pawn pawn = new Pawn(client.Character.Id); + pawn.HmType = myPawnCsvData.HmType; pawn.PawnType = myPawnCsvData.PawnType; pawn.Character.Stage = pawn.Character.Stage; @@ -974,7 +974,7 @@ public override void Handle(GameClient client, StructurePacket + public class QuestSendLeaderQuestOrderConditionInfoHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(QuestSendLeaderQuestOrderConditionInfoHandler)); @@ -22,7 +20,7 @@ public override void Handle(GameClient client, StructurePacket + public class QuestSendLeaderWaitOrderQuestListHandler : GameStructurePacketHandler { private static readonly ServerLogger Logger = LogProvider.Logger(typeof(QuestSendLeaderWaitOrderQuestListHandler)); @@ -22,7 +22,7 @@ public override void Handle(GameClient client, StructurePacket(typeof(PartyGroup)); + + private object _lock; + private object[] _slots; + private List _clients; + + public PartyGroup(uint id, GameClient creator) + { + _lock = new object(); + _slots = new object[MaxPartyMembers]; + _clients = new List(); + + Id = id; + + Members = new List(); + Pawns = new List(); + Contexts = new Dictionary>(); + + Leader = creator; + Host = creator; + Members.Add(creator); + creator.Party = this; + } + + public uint Id { get; } + public List Members { get; set; } + public List Pawns { get; set; } + public GameClient Leader { get; set; } + public GameClient Host { get; set; } + + public Dictionary> Contexts { get; set; } + + + public bool Join(GameClient client) + { + int slotIndex = TakeSlot(client); + if (slotIndex <= InvalidSlotIndex) + { + Logger.Error(client, "No free slot available"); + return false; + } + + + return true; + } + + public void Join(Pawn pawn) + { + } + + public void Leave(GameClient client) + { + } + + public void Leave(Pawn pawn) + { + } + + public Pawn GetPawn(uint memberIndex) + { + return null; + } + + public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() + { + StructurePacket packet = new StructurePacket(res); + SendToAll(packet); + } + + public void SendToAll(Packet packet) + { + foreach (GameClient member in Members) + { + member.Send(packet); + } + } + + private int TakeSlot(object obj) + { + int slotIndex = InvalidSlotIndex; + lock (_lock) + { + for (int i = 0; i < MaxPartyMembers; i++) + { + if (_slots[i] == null) + { + slotIndex = i; + break; + } + } + + _slots[slotIndex] = obj; + } + + return slotIndex; + } + + private void FreeSlot(int slotIndex) + { + lock (_lock) + { + _slots[slotIndex] = null; + } + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs new file mode 100644 index 000000000..d8e2423da --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs @@ -0,0 +1,60 @@ +using System.Collections.Concurrent; +using Arrowgene.Ddon.Server; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Party; + +public class PartyManager +{ + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyManager)); + + private readonly ConcurrentStack _idPool; + private readonly ConcurrentDictionary _parties; + + public PartyManager() + { + _idPool = new ConcurrentStack(); + for (uint i = 1; i < 100; i++) + { + _idPool.Push(i); + } + + _parties = new ConcurrentDictionary(); + } + + public PartyGroup GetParty(uint partyId) + { + if (!_parties.TryGetValue(partyId, out PartyGroup party)) + { + Logger.Error( + $"Could not find party by partyId {partyId} (!_parties.TryGetValue(partyId, out PartyGroup party)"); + return null; + } + + return party; + } + + public PartyGroup NewParty(GameClient creator) + { + if (creator.Party != null) + { + Logger.Error(creator, "Could not create party, creator already in party (creator.Party != null)"); + return null; + } + + if (!_idPool.TryPop(out uint partyId)) + { + Logger.Error("Could not create party, id pool exhausted (!_idPool.TryPop(out uint partyId)"); + return null; + } + + PartyGroup party = new PartyGroup(partyId, creator); + if (!_parties.TryAdd(partyId, party)) + { + Logger.Error("Could not create party, failed to add new party (!_parties.TryAdd(partyId, party))"); + return null; + } + + return party; + } +} diff --git a/Arrowgene.Ddon.LoginServer/Dump/LoginDump.cs b/Arrowgene.Ddon.LoginServer/Dump/LoginDump.cs index a3b0ce7e2..2c96b3251 100644 --- a/Arrowgene.Ddon.LoginServer/Dump/LoginDump.cs +++ b/Arrowgene.Ddon.LoginServer/Dump/LoginDump.cs @@ -1,4257 +1,9 @@ -using Arrowgene.Ddon.Server.Network; -using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.LoginServer.Dump { public static class LoginDump { - public static byte[] data_Dump_0 = new byte[] /* 1.0.1 */ - { - 0xC0, 0x32, 0xFE, 0x81, 0xCB, 0x3, 0x6A, 0x6D, 0x9D, 0x5C, 0x94, 0x11, 0x8F, 0x94, 0x79, 0xAC, - 0x4C, 0x79, 0xE2, 0x12, 0x6B, 0xF5, 0x5A, 0xB4, 0xD2, 0xF9, 0xCC, 0x17, 0xD7, 0x2D, 0x8A, 0x8F, - 0x55, 0x1, 0x5C, 0xB1, 0x5F, 0x87, 0x4F, 0xAC, 0x9, 0x1D, 0x6B, 0x40, 0x13, 0x87, 0x28, 0x95, - 0x9D, 0x6F, 0x4, 0xD1, 0xB, 0x79, 0x86, 0x5B, 0x7E, 0x4A, 0x24, 0x76, 0x39, 0xB9, 0xBB, 0xA5, - 0x80, 0x8A, 0x5C, 0xF0, 0x8E, 0x84, 0xCC, 0x9, 0x7F, 0xB0, 0x8F, 0xF0, 0xB4, 0xC7, 0x37, 0x5F, - 0xB3, 0x7A, 0xCF, 0x27, 0x49, 0x7E, 0xE6, 0x23, 0x5C, 0xC0, 0xD0, 0xDF, 0x67, 0xD8, 0x1A, 0xD4, - 0x32, 0x1F, 0xE9, 0xF7, 0x51, 0x86, 0x49, 0x4C, 0x1F, 0xB7, 0xF3, 0xA8, 0x44, 0xE5, 0xDD, 0xC7, - 0x5, 0x22, 0xDF, 0xE1, 0xA4, 0xA7, 0x32, 0x9C, 0x2B, 0xA2, 0x7, 0xA0, 0xE5, 0xE2, 0xA, 0x6A, - 0xED, 0xC5, 0xFF, 0x3D, 0xD0, 0x5A, 0x2F, 0x7A, 0x45, 0x58, 0x98, 0xCC, 0x5E, 0xBB, 0xA6, 0x73, - 0x1B, 0xA3, 0x48, 0x17, 0xBE, 0x89, 0xBB, 0x46, 0xE6, 0x1D, 0x5F, 0x2D, 0x9A, 0x25, 0x44, 0x22, - 0xBB, 0x50, 0x15, 0x4E, 0xA1, 0x6, 0x24, 0xDE, 0x30, 0xAE, 0x65, 0x78, 0x5, 0xAC, 0x14, 0x6D, - 0xF4, 0x43, 0x6C, 0x59, 0x7A, 0x1B, 0x4, 0xF7, 0xAB, 0xB4, 0x29, 0x5F, 0xAB, 0x64, 0xD7, 0x65, - 0x3E, 0xE1, 0xF1, 0x87, 0x13, 0xA8, 0x71, 0x5D, 0xD7, 0x4C, 0x6E, 0x2, 0xC0, 0x17, 0x1D, 0xF1, - 0x5B, 0xCF, 0xC2, 0xD6, 0x96, 0xE7, 0x11, 0xF4, 0xA8, 0x93, 0x36, 0xE8, 0xBB, 0x9, 0x73, 0x8A, - 0x60, 0x81, 0x26, 0xA4, 0x7, 0x57, 0x14, 0x12, 0xA8, 0xCF, 0xC8, 0x51, 0x67, 0x8D, 0xC5, 0x40, - 0x23, 0x6C, 0x88, 0x96, 0x55, 0x9A, 0x85, 0x9B, 0x8C, 0x53, 0x83, 0xFF, 0xBB, 0x4, 0x63, 0xC6, - 0x78, 0x3C, 0xEA, 0x9F, 0x4D, 0x12, 0xA2, 0x66, 0xD9, 0x76, 0xAD, 0x9B, 0x4F, 0x4F, 0xAE, 0xAA, - 0x44, 0x97, 0xBE, 0x20, 0xD6, 0x1B, 0xFB, 0x3A, 0xF5, 0x5C, 0xAF, 0xF2, 0x8A, 0x12, 0x41, 0x4E, - 0x47, 0x9, 0x49, 0xD1, 0x1E, 0x6, 0xBB, 0xAD, 0xE1, 0xBE, 0xB7, 0x9B, 0xD6, 0xC1, 0xA0, 0xC6 - }; - - public static Packet Dump_0 = new Packet(new PacketId(1, 0, 1, "Dump_0"), data_Dump_0); - - - public static byte[] data_Dump_1 = new byte[] /* 1.0.1 */ - { - 0x45, 0x2A, 0xCC, 0xD6, 0xF0, 0x6, 0x9, 0x75, 0x55, 0x38, 0x76, 0xCE, 0x6E, 0x47, 0xF5, 0xDD, - 0x20, 0x54, 0x2, 0xD9, 0x9A, 0x44, 0x7A, 0xFA, 0x85, 0xF2, 0x86, 0xEA, 0x44, 0xB5, 0x82, 0x18, - 0x71, 0x19, 0xCD, 0xAF, 0xE5, 0xE9, 0x4A, 0xC8, 0xF5, 0x37, 0xFB, 0x7A, 0x25, 0x4F, 0x7E, 0xA7, - 0xD5, 0x51, 0xBE, 0x5D, 0x8C, 0xD2, 0x4D, 0xA5, 0x33, 0x96, 0x4D, 0x8C, 0x4B, 0xB1, 0x51, 0x3, - 0x67, 0x8C, 0xC9, 0xCD, 0x33, 0x71, 0xE0, 0x56, 0x73, 0x4D, 0x1, 0x81, 0x15, 0xD5, 0x6E, 0x2F, - 0x4A, 0x7D, 0x6F, 0x70, 0xB2, 0x7B, 0xCF, 0xA9, 0x87, 0xAF, 0xAB, 0xEC, 0xC5, 0x66, 0x71, 0x62, - 0x4F, 0x4A, 0x5B, 0xF9, 0x99, 0xB7, 0xC2, 0x88, 0x93, 0x59, 0x7C, 0xCE, 0xF3, 0x38, 0xB4, 0x31, - 0x1A, 0x71, 0xA2, 0xE5, 0xA8, 0xD5, 0x1C, 0x28, 0xBE, 0xCA, 0x6B, 0xB9, 0x38, 0x40, 0xC, 0x6B, - 0xEA, 0x5C, 0x54, 0xC6, 0x33, 0x8, 0x4F, 0x42, 0xAE, 0xB1, 0x20, 0x5D, 0x40, 0xE0, 0x2A, 0x29, - 0x94, 0x18, 0xA, 0x6E, 0x64, 0xBC, 0x5, 0x9B, 0x37, 0xF5, 0x9E, 0x7C, 0xA4, 0x99, 0x26, 0x10, - 0x7, 0xEE, 0xA3, 0xA, 0x7D, 0x90, 0x2, 0x71, 0x46, 0xD7, 0xFD, 0x8C, 0x10, 0x85, 0xC1, 0x7C, - 0xE4, 0xA7, 0xC5, 0x2C, 0x2C, 0xBD, 0x75, 0xC, 0xAB, 0x15, 0xD7, 0x93, 0x7E, 0x5D, 0x4B, 0x88, - 0x70, 0x2C, 0x82, 0xA6, 0x9B, 0x5E, 0x5, 0x67, 0x5C, 0x80, 0xF7, 0x89, 0x7C, 0x8A, 0x4, 0x99, - 0x4C, 0x74, 0x58, 0xAA, 0x67, 0x77, 0xA4, 0xD2, 0x80, 0xF7, 0x6A, 0x99, 0xCA, 0x3B, 0x42, 0x9E, - 0xCA, 0x16, 0xAE, 0x5A, 0x4F, 0xD4, 0xA3, 0x36, 0x95, 0xB3, 0xD6, 0x28, 0x57, 0x51, 0x1B, 0xF4, - 0x6D, 0xFD, 0xBD, 0x89, 0x96, 0x2C, 0xA9, 0xEF, 0xF8, 0xCC, 0xDE, 0x65, 0x75, 0x7C, 0x6A, 0xC5, - 0xF7, 0xB5, 0x3C, 0x90, 0xAE, 0x7E, 0xDE, 0x99, 0x1B, 0xDE, 0xE3, 0x29, 0xA7, 0xAB, 0x9F, 0xFC, - 0x84, 0xFA, 0xF8, 0x5A, 0x3F, 0x0, 0x5F, 0xC1, 0xCF, 0xA, 0xE7, 0x59, 0x1B, 0xB8, 0xEB, 0xE4, - 0x7B, 0x12, 0x58, 0xA5, 0x59, 0xF9, 0xDC, 0xD3, 0xC9, 0x73, 0x45, 0x88, 0xC1, 0xF3, 0x47, 0x7C, - 0x58, 0x69, 0x17, 0x38, 0x1F, 0x4F, 0x17, 0x1F, 0x37, 0x41, 0x7B, 0x7B, 0xC1, 0xD0, 0x9B, 0x3, - 0x97, 0x2E, 0x69, 0x3E, 0x70, 0x6E, 0xBB, 0x39, 0xA7, 0xE9, 0x16, 0x53, 0xA0, 0x8, 0xE5, 0xAC - }; - - public static Packet Dump_1 = new Packet(new PacketId(1, 0, 1, "Dump_1"), data_Dump_1); - - - public static byte[] data_Dump_2 = new byte[] /* 1.0.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x89, 0x79, 0xEE, 0xD6, 0x98, 0xAD, - 0x50, 0x78, 0x55, 0x2, 0xCC, 0xB9, 0x88, 0xAE, 0xC9, 0x88, 0x47, 0xC5, 0x40, 0xEF, 0xE6, 0xB8, - 0xB1, 0x73, 0x9F, 0x39, 0xA9, 0x72, 0x5F, 0xD3, 0x39, 0xD7, 0x8A, 0x19, 0x0, 0x0, 0x0, 0x0, - 0x28, 0xFE, 0x7C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0xEC, 0x1B, 0x5, 0x0, 0x0, 0x0, 0x0, - 0x22, 0xB9, 0x76, 0x3F, 0x1, 0x0, 0x0, 0x0, 0x2A, 0x65, 0x40, 0x4A, 0xB1, 0xFD, 0x7C, 0x26, - 0xC0, 0x66, 0x9F, 0xEA, 0x53, 0x1, 0x26 - }; - - public static Packet Dump_2 = new Packet(new PacketId(1, 0, 2, "Dump_2"), data_Dump_2); - - - public static byte[] data_Dump_3 = new byte[] /* 0.1.1 */ - { - 0x0, 0x14, 0x38, 0x6A, 0x66, 0x76, 0x71, 0x71, 0x6C, 0x75, 0x79, 0x61, 0x30, 0x34, 0x6B, 0x34, - 0x38, 0x6B, 0x34, 0x30, 0x34, 0x63, 0x1 - }; - - public static Packet Dump_3 = new Packet(new PacketId(0, 1, 1, "Dump_3"), data_Dump_3); - - - public static byte[] data_Dump_4 = new byte[] /* 0.1.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x46, 0x33, 0x38, 0x32, 0x39, 0x38, - 0x36, 0x30, 0x41, 0x44, 0x35, 0x41, 0x34, 0x32, 0x31, 0x41, 0x38, 0x37, 0x42, 0x44, 0x33, 0x34, - 0x43, 0x32, 0x38, 0x39, 0x31, 0x34, 0x37, 0x43, 0x42, 0x33, 0x36, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x28, 0xFE, 0x7C, 0x0, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_4 = new Packet(new PacketId(0, 1, 2, "Dump_4"), data_Dump_4); - - - public static byte[] data_Dump_5 = new byte[] /* 0.0.1 */ - { - 0x0, 0x14, 0x38, 0x6A, 0x66, 0x76, 0x71 - }; - - public static Packet Dump_5 = new Packet(new PacketId(0, 0, 1, "Dump_5"), data_Dump_5); - - - public static byte[] data_Dump_6 = new byte[] /* 0.0.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x46, 0x33, 0x38, 0x32, 0x39, 0x38, - 0x36, 0x30, 0x41, 0x44, 0x35, 0x41, 0x34 - }; - - public static Packet Dump_6 = new Packet(new PacketId(0, 0, 2, "Dump_6"), data_Dump_6); - - - public static byte[] data_Dump_7 = new byte[] /* 3.0.1 */ - { - 0xC0, 0x28, 0x23, 0x73, 0xE9, 0xFF, 0x8F - }; - - public static Packet Dump_7 = new Packet(new PacketId(3, 0, 1, "Dump_7"), data_Dump_7); - - - public static byte[] data_Dump_8 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7, 0xD0, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xB8, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xB, 0xB9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xB, 0xBA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xBB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xBC, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xBD, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, - 0x70, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x17, 0x71, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x72, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1B, 0x58, 0x0, 0x56, 0xE9, 0x81, 0xB8, 0xE6, - 0x8A, 0x9E, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x93, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE6, 0xBA, 0x80, 0xE5, 0x93, 0xA1, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE4, 0xBB, 0x96, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0xAD, 0xE3, 0x83, - 0x93, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0x92, 0xE9, 0x81, 0xB8, 0xE6, 0x8A, 0x9E, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1B, 0x59, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1B, 0x5A, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x1B, 0x5B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x1B, 0x5C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1B, 0x5D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1B, 0x5E, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1B, 0x5F, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, - 0x40, 0x0, 0x98, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, - 0x83, 0xBC, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE8, 0xA6, 0x8B, 0xE3, 0x81, 0xA4, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, - 0xE5, 0xAD, 0x98, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, - 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x80, - 0x81, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, - 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE6, 0x80, 0xA7, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x1F, 0x41, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x42, 0x0, 0x98, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0xA1, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE8, 0xA6, 0x8B, 0xE3, 0x81, - 0xA4, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, - 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE5, 0xAD, 0x98, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, - 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE6, 0x80, 0xA7, - 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x43, 0x0, 0x5C, 0xE3, 0x83, - 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, - 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE3, - 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, - 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, - 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x1F, 0x44, 0x0, 0x42, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, - 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, - 0x99, 0xE3, 0x82, 0x8B, 0xE6, 0x9D, 0xA1, 0xE4, 0xBB, 0xB6, 0xE3, 0x82, 0x92, 0xE6, 0xBA, 0x80, - 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x1F, 0x45, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x1F, 0x46, 0x0, 0x3F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, - 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE5, 0x87, 0xA6, 0xE7, - 0x90, 0x86, 0xE3, 0x82, 0x92, 0xE5, 0xAE, 0x8C, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x47, - 0x0, 0x3F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x48, 0x0, 0x2D, 0xE3, 0x83, 0x91, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAA, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE4, 0xB8, 0x8D, 0xE5, 0x9C, - 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x1F, 0x49, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x4A, 0x0, 0x48, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, - 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, - 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, - 0xAA, 0x98, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x4B, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x4C, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, - 0x4D, 0x0, 0x7A, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x99, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE5, 0xAD, 0x98, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, - 0xE3, 0x80, 0x81, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0xAE, 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE6, 0x80, 0xA7, 0xE3, 0x81, 0x8C, 0xE3, 0x81, - 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x4E, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x4F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x28, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x29, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x23, 0x2A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x2A, 0xF8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xF9, 0x0, 0x33, 0xE3, 0x81, 0x99, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBF, 0xE3, 0x83, 0xAB, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x83, 0x9D, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xFA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xFB, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xFC, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, - 0xE0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x2E, 0xE1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xE2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xE3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xE4, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xE5, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2E, 0xE6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x2E, 0xE7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xE8, 0x0, 0x5C, 0xE7, 0xB4, 0x8D, 0xE5, 0x93, - 0x81, 0xE5, 0xAF, 0xBE, 0xE8, 0xB1, 0xA1, 0xE3, 0x81, 0xA8, 0xE7, 0x95, 0xB0, 0xE3, 0x81, 0xAA, - 0xE3, 0x82, 0x8B, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, - 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE7, 0xB4, 0x8D, 0xE5, 0x93, 0x81, 0xE3, - 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, - 0xE9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x2E, 0xEA, 0x0, 0x33, 0xE6, 0x8C, 0x87, 0xE5, 0xAE, 0x9A, 0xE3, 0x81, 0x95, 0xE3, - 0x82, 0x8C, 0xE3, 0x81, 0x9F, 0xE5, 0x80, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x82, 0x92, 0xE6, 0xBA, - 0x80, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2E, 0xEB, 0x0, 0x56, 0xE6, 0x8C, 0x87, 0xE5, 0xAE, 0x9A, 0xE3, 0x81, 0x95, 0xE3, 0x82, - 0x8C, 0xE3, 0x81, 0x9F, 0xE5, 0x80, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x82, 0x92, 0xE6, 0xBA, 0x80, - 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x99, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x8C, 0xE4, 0xBB, 0xA5, - 0xE4, 0xB8, 0x8A, 0xE7, 0xB4, 0x8D, 0xE5, 0x93, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x2E, 0xEC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xED, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xEE, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xEF, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, - 0xF0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x2E, 0xF1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF4, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF5, - 0x0, 0x5C, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x82, - 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, - 0xE6, 0x97, 0xA5, 0xE6, 0x99, 0x82, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x8A, 0xE3, 0x81, 0x88, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF6, 0x0, 0xBC, 0xE5, 0x8F, 0x97, 0xE6, 0xB3, 0xA8, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x82, 0xAF, 0xE3, - 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE9, 0x85, 0x8D, 0xE4, 0xBF, - 0xA1, 0xE6, 0x9C, 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, - 0x80, 0x82, 0xA, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE5, 0xBC, 0x95, 0xE3, 0x81, 0x8D, 0xE7, 0xB6, 0x9A, 0xE3, 0x81, - 0x8D, 0xE8, 0xA1, 0xA8, 0xE7, 0xA4, 0xBA, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x82, 0x8B, - 0xE5, 0xA0, 0xB4, 0xE5, 0x90, 0x88, 0xE3, 0x81, 0xAF, 0xE3, 0x80, 0x81, 0xA, 0xE3, 0x82, 0xB2, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAB, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, - 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x97, 0xE7, 0x9B, - 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, - 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF7, - 0x0, 0x59, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, - 0xAE, 0xE5, 0x8F, 0x97, 0xE6, 0xB3, 0xA8, 0xE6, 0x9D, 0xA1, 0xE4, 0xBB, 0xB6, 0xE3, 0x80, 0x81, - 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xAF, 0xE9, 0x80, 0xB2, 0xE8, - 0xA1, 0x8C, 0xE6, 0x9D, 0xA1, 0xE4, 0xBB, 0xB6, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, 0xBA, 0x80, - 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x9B, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x2E, 0xF8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xF9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xFA, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xFB, 0x0, 0x3A, - 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x97, 0xE6, 0xB3, 0xA8, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, - 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x2E, 0xFC, 0x0, 0x4A, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, - 0x88, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x97, 0xE6, 0xB3, 0xA8, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, - 0xD, 0xA, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, - 0x88, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, 0xC8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, 0xC9, 0x0, 0x42, 0xE5, - 0xAF, 0xBE, 0xE8, 0xB1, 0xA1, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xB0, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xB3, 0xE3, 0x83, 0x89, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, - 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAF, 0xE5, 0xAD, 0x98, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, 0xCA, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, 0xCB, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, - 0xB0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x36, 0xB1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xB2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xB3, 0x0, 0x53, 0xE7, 0xA9, 0xBA, 0xE3, - 0x81, 0x8D, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0xE3, 0x81, - 0x8C, 0xE8, 0xB6, 0xB3, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, - 0xE3, 0x82, 0x81, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0x92, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, - 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xB4, 0x0, 0x2D, 0xE3, 0x82, 0xA2, 0xE3, 0x82, - 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, - 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x36, 0xB5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x36, 0xB6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xB7, 0x0, 0x2D, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, - 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, - 0xB8, 0x0, 0x2D, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, - 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, - 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xB9, 0x0, 0x2D, 0xE3, 0x82, 0xA2, 0xE3, - 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, - 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x3A, 0x98, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x3A, 0x99, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0x9A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0x9B, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0x9C, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x3A, 0x9D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x3A, 0x9E, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0x9F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xA0, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xA1, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, - 0xA2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x3A, 0xA3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x80, 0x0, 0x2D, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, - 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, - 0xA0, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x81, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x3E, 0x82, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x3, 0xB6, 0xE4, 0xB8, 0xAD, 0xE3, 0x81 - }; - - public static Packet Dump_8 = new Packet(new PacketId(3, 0, 16, "Dump_8"), data_Dump_8); - - - public static byte[] data_Dump_9 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x83, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x84, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x3E, 0x85, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x3E, 0x86, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x87, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x88, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x89, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, - 0x8A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x3E, 0x8B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x42, 0x68, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x50, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x51, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x52, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x46, 0x53, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x46, 0x54, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x55, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x56, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x57, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x46, 0x58, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x46, 0x59, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x5A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x5B, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, 0x38, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4E, - 0x20, 0x0, 0x39, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE7, - 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0x95, 0xE3, 0x83, - 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0x8A, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x4E, 0x21, 0x0, 0x39, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xAC, 0xE3, 0x83, - 0xB3, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4E, 0x22, 0x0, 0x42, 0xE3, 0x81, 0xA9, - 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8B, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x95, 0xE3, - 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x89, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, - 0x8C, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x9, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0xA, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x52, 0xB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x52, 0xC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0xD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0xE, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0xF, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, - 0x10, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x52, 0x11, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x12, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x13, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x14, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x15, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x1F, 0x50, 0x0, 0x3F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, - 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xB8, 0xE3, 0x81, 0xAE, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, - 0x83, 0xAB, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x2B, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, - 0x2C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x23, 0x2D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x2E, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x2F, 0x0, 0x45, 0xE3, 0x81, 0x99, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x86, 0xE3, 0x83, - 0xB3, 0xE3, 0x83, 0x84, 0xE4, 0xB8, 0xAD, 0xE6, 0x96, 0xAD, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, 0x8D, - 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8A, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0x8F, 0xE3, - 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x30, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x31, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, - 0x51, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x1F, 0x52, 0x0, 0x3F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, - 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xB8, 0xE3, 0x81, 0xAE, 0xE8, 0xAA, 0x98, 0xE3, 0x81, - 0x84, 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, - 0xE3, 0x83, 0xAB, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x53, 0x0, - 0x7A, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0xAB, 0xE5, 0xAD, 0x98, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xAA, 0xE3, - 0x81, 0x84, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x80, - 0x81, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, - 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE6, 0x80, 0xA7, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x2E, 0xFD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xFE, 0x0, 0x3C, 0xE5, 0x84, 0xAA, 0xE5, 0x85, 0x88, - 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x97, 0xE6, 0xB3, 0xA8, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, - 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2E, 0xFF, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2F, 0x0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x2F, 0x1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x3, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x4, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x2F, 0x5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x2F, 0x6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x54, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x55, 0x0, 0x3F, 0xE3, 0x83, 0x91, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xB8, 0xE3, - 0x81, 0xAE, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xBF, 0xE3, 0x82, - 0xA4, 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA6, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x1F, 0x56, 0x0, 0x21, 0xE8, 0xA6, 0x81, 0xE8, 0xAB, 0x8B, 0xE3, 0x81, - 0x8C, 0xE6, 0x8B, 0x92, 0xE5, 0x90, 0xA6, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x1F, 0x57, 0x0, 0x39, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0xAE, 0xE3, 0x83, - 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, - 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE3, - 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x58, 0x0, 0x5F, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, - 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0x8C, 0xE5, 0xA4, - 0x89, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, - 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, - 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x1F, 0x59, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x1F, 0x5A, 0x0, 0x3F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xB8, 0xE3, 0x81, 0xAE, 0xE8, 0xAA, 0x98, - 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA0, 0xE3, - 0x82, 0xA2, 0xE3, 0x82, 0xA6, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, - 0x5B, 0x0, 0x33, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x91, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x84, - 0xA1, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x5C, - 0x0, 0x2A, 0xE7, 0xA7, 0xBB, 0xE5, 0x8B, 0x95, 0xE5, 0x85, 0x88, 0xE3, 0x81, 0xAE, 0xE3, 0x82, - 0xB5, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE6, 0xBA, 0x80, - 0xE5, 0x93, 0xA1, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x1F, 0x5D, 0x0, 0x4B, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, 0x81, - 0xAE, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0xAE, 0xE9, 0x83, 0xBD, 0xE5, 0x90, 0x88, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0x88, 0xE3, - 0x82, 0x8A, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, 0x83, - 0xAB, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x71, 0x48, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x71, 0x49, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x71, 0x4A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x71, 0x4B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x71, 0x4C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x71, 0x4D, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x71, 0x4E, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x71, 0x4F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x32, 0xCC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x8, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x9, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, - 0x30, 0x0, 0x33, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0x8C, 0xE7, 0x84, - 0xA1, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0xA, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x3A, 0xA4, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x3A, 0xA5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xA6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xA7, 0x0, 0x27, 0xE3, 0x81, - 0x93, 0xE3, 0x81, 0xAE, 0xE5, 0x90, 0x8D, 0xE5, 0x89, 0x8D, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, 0xBF, - 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xA8, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x3A, 0xA9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x3A, 0xAA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x5C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x5D, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x5E, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, - 0x5F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x46, 0x60, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x61, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x62, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x63, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x3, 0x52, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_9 = new Packet(new PacketId(3, 0, 16, "Dump_9"), data_Dump_9); - - - public static byte[] data_Dump_10 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x5D, 0xC0, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x5D, 0xC1, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x5D, 0xC2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x5D, 0xC3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x5D, 0xC4, 0x0, 0x30, 0xE4, 0xBF, 0x9D, 0xE7, 0xAE, 0xA1, - 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xB9, 0xE3, 0x81, 0xAE, 0xE7, - 0xA9, 0xBA, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x8C, 0xE8, 0xB6, 0xB3, 0xE3, 0x82, 0x8A, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x5D, 0xC5, 0x0, 0x5F, 0xE8, 0xA3, 0x85, 0xE5, 0x82, 0x99, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x8D, 0xE3, 0x82, 0x8B, 0xE6, 0xAD, 0xA6, 0xE5, 0x99, 0xA8, 0xE3, 0x81, 0x8C, 0xE3, 0x81, - 0xBF, 0xE3, 0x81, 0xA4, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA7, 0xE3, 0x83, - 0x96, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB8, 0xE3, 0x81, 0xAB, - 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x80, 0xE8, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x80, 0xE9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xB, 0xBE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xBF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xC0, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xC1, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, - 0xC2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xB, 0xC3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xC4, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xC5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x5E, 0x0, 0x6E, 0xE3, - 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, - 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, - 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE8, 0xAA, 0x98, 0xE3, - 0x81, 0x86, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x5F, 0x0, 0x3C, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0xAB, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, - 0xBC, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0xAE, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x84, - 0xE3, 0x82, 0x92, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x99, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x60, 0x0, - 0x30, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE8, 0xAA, 0x98, 0xE3, - 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x99, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x61, 0x0, 0x79, 0xE7, 0x99, 0xBD, - 0xE7, 0xAB, 0x9C, 0xE7, 0xA5, 0x9E, 0xE6, 0xAE, 0xBF, 0xE3, 0x81, 0x8B, 0xE3, 0x83, 0xAA, 0xE3, - 0x83, 0xA0, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, - 0xAE, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8B, 0xE6, 0x8B, 0xA0, 0xE7, 0x82, 0xB9, 0xE6, 0x96, 0xBD, - 0xE8, 0xA8, 0xAD, 0xE3, 0x81, 0xAB, 0xD, 0xA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, - 0x84, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xFD, - 0x0, 0x6B, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, - 0xE3, 0x81, 0xAE, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0x89, 0xE6, - 0x9B, 0xB4, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, - 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xFE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2A, 0xFF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x0, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x1, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2B, 0x2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x36, 0xBA, 0x0, 0x3F, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0x92, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, - 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, - 0xBB, 0x0, 0x2D, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, - 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, - 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xBC, 0x0, 0x2D, 0xE3, 0x82, 0xA2, 0xE3, - 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, - 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x36, 0xBD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x36, 0xBE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xBF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xC0, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x8C, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x3E, 0x8D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x3E, 0x8E, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x64, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, 0x39, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, 0x3A, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, - 0x3B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x4A, 0x3C, 0x0, 0x3F, 0xE9, 0x87, 0x91, 0xE9, 0xA1, 0x8D, 0xE3, 0x81, 0xAE, 0xE5, - 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x81, 0xA3, 0xE3, 0x81, - 0x9F, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, - 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xAB, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, 0x3D, 0x0, - 0x42, 0xE8, 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE3, 0x81, 0xAB, 0xE5, 0xBF, 0x85, 0xE8, 0xA6, 0x81, - 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x92, 0xE6, 0xBA, 0x80, 0xE3, 0x81, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, 0x3E, 0x0, 0x45, 0xE8, - 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE3, 0x81, 0xAB, 0xE5, 0xBF, 0x85, 0xE8, 0xA6, 0x81, 0xE3, 0x81, - 0xAA, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, - 0xE9, 0x80, 0xB2, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x92, 0xE6, 0xBA, 0x80, 0xE3, 0x81, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4A, 0x3F, 0x0, 0x59, - 0xE8, 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE3, 0x81, 0xAB, 0xE5, 0xBF, 0x85, 0xE8, 0xA6, 0x81, 0xE3, - 0x81, 0xAA, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, - 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE9, 0x80, 0xB2, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, - 0x92, 0xE6, 0xBA, 0x80, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x4A, 0x40, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x4A, 0x41, 0x0, 0x33, 0xE5, 0x90, 0x8C, 0xE8, 0xA1, 0x8C, 0xE3, 0x83, - 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x97, 0xE3, 0x81, 0xAE, 0xE6, 0x89, 0xBF, 0xE8, 0xAB, 0xBE, - 0xE6, 0x99, 0x82, 0xE9, 0x96, 0x93, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x4A, 0x42, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x52, 0x16, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x55, 0xF0, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x55, 0xF1, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x55, - 0xF2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x55, 0xF3, 0x0, 0x33, 0xE5, 0x8F, 0x96, 0xE5, 0xBC, 0x95, 0xE5, 0x80, 0x8B, 0xE6, - 0x95, 0xB0, 0xE6, 0x8C, 0x87, 0xE5, 0xAE, 0x9A, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0x82, 0xE3, 0x82, - 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x55, 0xF4, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x55, 0xF5, 0x0, 0x50, 0xE8, 0x8D, 0xB7, 0xE7, 0x89, 0xA9, 0xE3, 0x81, - 0x8C, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0xB1, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAE, - 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0x92, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, - 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x55, 0xF6, 0x0, 0x3F, 0xE9, 0x87, 0x91, 0xE9, 0xA1, 0x8D, 0xE3, 0x81, 0xAE, 0xE5, 0xA4, 0x89, - 0xE6, 0x9B, 0xB4, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0x9F, 0xE3, - 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, - 0xBB, 0xE3, 0x83, 0xAB, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x59, 0xD8, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x59, 0xD9, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x59, 0xDA, 0x0, 0x40, 0xE9, 0x87, 0x91, 0xE9, 0xA1, 0x8D, 0xE3, 0x81, 0xAE, 0xE5, 0xA4, - 0x89, 0xE6, 0x9B, 0xB4, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0x9F, - 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, - 0x82, 0xBB, 0xE3, 0x83, 0xAB, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xA8, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x61, 0xA9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x61, 0xAA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xAB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xAC, 0x0, 0x6E, 0xE3, 0x83, 0x91, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAA, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE6, 0x83, 0x85, 0xE5, 0xA0, - 0xB1, 0xE3, 0x81, 0x8C, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, - 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, - 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x61, 0xAD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xAE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xAF, 0x0, 0x53, 0xE6, 0x94, 0xAF, - 0xE7, 0xB5, 0xA6, 0xE5, 0x93, 0x81, 0xE3, 0x81, 0xAE, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, - 0x81, 0x8C, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, - 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xB0, 0x0, 0x53, 0xE6, 0x94, 0xAF, 0xE7, - 0xB5, 0xA6, 0xE5, 0x93, 0x81, 0xE3, 0x81, 0xAE, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, - 0x8C, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, - 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xB1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xB2, 0x0, 0x59, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE9, 0x85, 0x8D, 0xE4, 0xBF, 0xA1, 0xE4, 0xB8, 0xAD, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0xAF, 0xE3, - 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x65, - 0x90, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x69, 0x78, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x69, 0x79, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6D, 0x60, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x31, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x32, - 0x0, 0x3F, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAE, 0xE7, 0x99, 0xBB, - 0xE9, 0x8C, 0xB2, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, - 0x81, 0x88, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x33, 0x0, 0x39, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, - 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x34, - 0x0, 0x39, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAE, 0xE5, 0x8B, 0x9F, - 0xE9, 0x9B, 0x86, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x75, 0x35, 0x0, 0x2A, 0xE3, 0x83, 0x91, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0xAF, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0x8C, 0xE9, 0x96, 0x93, 0xE9, 0x81, 0x95, 0xE3, - 0x81, 0xA3, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x36, 0x0, 0x36, 0xE3, 0x82, 0xB8, - 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0x99, 0xE3, 0x83, 0xAB, 0xE6, - 0x9D, 0xA1, 0xE4, 0xBB, 0xB6, 0xE3, 0x82, 0x92, 0xE6, 0xBA, 0x80, 0xE3, 0x81, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x37, 0x0, 0x91, 0xE7, - 0x8F, 0xBE, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA7, 0xE3, 0x83, - 0x96, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x80, 0x81, - 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE5, 0x8F, 0x82, - 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, - 0x81, 0x8B, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, - 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, - 0x81, 0xAE, 0xE5, 0x8F, 0x97, 0xE4, 0xBB, 0x98, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, - 0x86, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x38, 0x0, 0x36, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAB, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x39, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x3A, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x75, 0x3B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x75, 0x3C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x3D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x3E, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x79, 0x18, 0x0, 0x7D, - 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0xB5, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE6, 0xB7, 0xB7, 0xE9, 0x9B, - 0x91, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE4, 0xBA, 0xBA, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xAE, 0xE7, 0xA9, - 0xBA, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x8B, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8A, 0xE5, 0xBE, 0x85, 0xE3, 0x81, 0xA1, 0xE9, - 0xA0, 0x82, 0xE3, 0x81, 0x8F, 0xE5, 0xBF, 0x85, 0xE8, 0xA6, 0x81, 0xE3, 0x81, 0x8C, 0xE3, 0x81, - 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x7D, 0x0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7D, 0x1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7D, 0x2, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7D, 0x3, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x84, 0xD0, 0x0, 0x65, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, 0x83, - 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, - 0xE3, 0x81, 0xAB, 0xE6, 0x8E, 0xA5, 0xE7, 0xB6, 0x9A, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, - 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, - 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x84, 0xD1, 0x0, 0x6E, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, - 0x83, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, - 0x88, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE4, 0xBE, 0xA1, 0xE6, 0xA0, 0xBC, - 0xE3, 0x81, 0x8C, 0xE6, 0xAD, 0xA3, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x82, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, - 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, - 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, - 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x84, 0xD2, 0x0, 0x42, - 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, - 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x88, 0xB8, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0xB, 0x0, - 0x4A, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, - 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x8C, 0xE5, 0x81, 0x9C, 0xE6, 0xAD, 0xA2, 0xE4, - 0xB8, 0xAD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x23, 0x32, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x33, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, 0xCD, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x2, 0xEE, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC - }; - - public static Packet Dump_10 = new Packet(new PacketId(3, 0, 16, "Dump_10"), data_Dump_10); - - - public static byte[] data_Dump_11 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xAB, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x10, 0x0, - 0x6E, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE6, 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, - 0x81, 0x8C, 0xE8, 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xD, 0xA, 0xE3, 0x83, 0x97, 0xE3, - 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE3, 0x81, - 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x11, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x12, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x13, 0x0, - 0x3C, 0xE3, 0x82, 0xB0, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x89, 0xE3, 0x83, 0x9F, - 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x8C, 0xE8, - 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, - 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x14, 0x0, 0x30, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, - 0x83, 0x86, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x84, 0xE3, 0x81, 0x8C, 0xE8, 0xA7, 0xA3, 0xE6, 0x94, - 0xBE, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA4, 0x15, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA4, 0x16, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x17, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x18, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x19, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA4, 0x1A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA4, 0x1B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x1C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x1D, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x1E, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, - 0x1F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA4, 0x20, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x21, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x22, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x23, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x24, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA4, 0x25, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA4, 0x26, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x27, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x28, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x29, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA4, 0x2A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x17, 0x73, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x74, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x75, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x62, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, - 0x63, 0x0, 0x71, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, - 0x83, 0xBC, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE5, 0xB8, 0x8C, 0xE6, 0x9C, 0x9B, 0xE4, 0xB8, - 0xAD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, - 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, - 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xB8, 0xE3, 0x81, 0xAE, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, - 0x83, 0xAB, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x27, 0x10, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, - 0x3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x2B, 0x4, 0x0, 0x53, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE4, - 0xB8, 0x8D, 0xE6, 0xAD, 0xA3, 0xE3, 0x81, 0xAA, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, - 0x8C, 0xE5, 0x90, 0xAB, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2B, 0x5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x36, 0xC1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xAC, 0x0, 0x53, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0xD, 0xA, 0xE4, 0xB8, 0x8D, 0xE6, 0xAD, 0xA3, 0xE3, 0x81, 0xAA, 0xE6, 0x83, 0x85, - 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0x8C, 0xE5, 0x90, 0xAB, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x8C, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xAD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x65, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x59, 0xDB, 0x0, 0x33, - 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE5, 0xBC, 0xB1, 0xE5, 0x8C, 0x96, 0xE3, - 0x81, 0xAE, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0xAF, 0xE5, 0x9B, 0x9E, 0xE5, 0xBE, - 0xA9, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6D, 0x61, 0x0, 0x47, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0x8C, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE3, 0x81, - 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0xD, 0xA, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, - 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, - 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x84, 0xD3, - 0x0, 0x68, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x83, - 0x9D, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAB, 0xE7, 0xA9, 0xBA, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, - 0xA, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xBC, - 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x8C, 0xE8, - 0xA1, 0x8C, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x8C, 0xA0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x90, 0x88, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x90, 0x89, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x94, 0x70, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x98, 0x58, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x98, 0x59, 0x0, 0x36, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAD, 0xE3, 0x83, - 0xB3, 0xE3, 0x82, 0xB0, 0xE3, 0x81, 0xAE, 0xE5, 0x85, 0xAC, 0xE9, 0x96, 0x8B, 0xE6, 0x9C, 0x9F, - 0xE9, 0x96, 0x93, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x9C, 0x40, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x41, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x42, 0x0, 0x27, 0xE3, 0x82, 0xAF, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE5, 0x8A, 0xA0, 0xE5, 0x85, 0xA5, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x43, 0x0, 0x1B, - 0xE6, 0xA8, 0xA9, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x9C, 0x44, 0x0, 0x62, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, - 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE3, - 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xAF, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0xBF, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x82, - 0x92, 0xE8, 0x84, 0xB1, 0xE9, 0x80, 0x80, 0xE5, 0x87, 0xBA, 0xE6, 0x9D, 0xA5, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA0, 0x28, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA0, 0x29, 0x0, 0x50, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, - 0xB3, 0xE3, 0x81, 0xAE, 0xE6, 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, - 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, - 0x82, 0x81, 0xD, 0xA, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0x8C, 0xE5, 0x87, 0xBA, - 0xE6, 0x9D, 0xA5, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA0, 0x2A, 0x0, 0x2D, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, 0xBA, 0xE6, 0x9D, 0xA5, - 0xE3, 0x82, 0x8B, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, - 0x81, 0x88, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x2B, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x2C, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA7, - 0xF8, 0x0, 0x27, 0xE7, 0x8F, 0xBE, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, 0xE6, - 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, 0xBF, 0xE3, 0x81, 0x88, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA4, 0x2B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x2C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x2D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x2E, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x2F, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA4, 0x30, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA4, 0x31, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x32, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x33, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB, 0xC6, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xB, 0xC7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x17, 0x76, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x77, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x78, 0x0, 0x62, 0xE5, 0x90, 0x8C, - 0xE4, 0xB8, 0x80, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0xA6, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xA7, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, - 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE5, 0x88, 0x87, 0xE6, 0x96, 0xAD, - 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x66, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x55, 0xF7, 0x0, 0x2D, 0xE3, 0x81, - 0x93, 0xE3, 0x81, 0xAE, 0xE6, 0x96, 0xBD, 0xE8, 0xA8, 0xAD, 0xE3, 0x81, 0xAF, 0xE7, 0x8F, 0xBE, - 0xE5, 0x9C, 0xA8, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xAB, 0xE0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xAB, 0xE1, 0x0, 0x3C, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x99, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, - 0x81, 0xAE, 0xE6, 0x9C, 0x89, 0xE5, 0x8A, 0xB9, 0xE6, 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE3, 0x81, - 0x8C, 0xE5, 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xAB, 0xE2, - 0x0, 0x47, 0xE5, 0x85, 0xA5, 0xE5, 0x8A, 0x9B, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0x9F, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB3, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAF, 0xD, 0xA, 0xE3, 0x81, 0x99, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0xAB, 0xE4, 0xBD, 0xBF, 0xE7, 0x94, 0xA8, 0xE6, 0xB8, 0x88, 0xE3, 0x81, 0xBF, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xAB, 0xE3, 0x0, 0x44, 0xE7, 0x84, 0xA1, 0xE5, 0x8A, 0xB9, 0xE3, 0x80, 0x81, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xAF, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE9, 0x96, 0x8B, - 0xE5, 0xA7, 0x8B, 0xE5, 0x89, 0x8D, 0xE3, 0x81, 0xAE, 0xD, 0xA, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xAB, 0xE4, 0x0, 0x42, 0xE5, 0x90, 0x8C, 0xE3, 0x81, 0x98, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, - 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x8C, 0xE4, 0xBB, 0xA5, 0xE4, 0xB8, 0x8A, 0xE5, - 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, - 0x64, 0x0, 0x40, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0xB8, 0xE3, 0x81, 0xAE, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x84, 0xE3, 0x81, - 0x8C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xAB, - 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x6, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xAE, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x46, 0x67, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x4E, 0x23, 0x0, 0x42, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAB, - 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, - 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x4E, 0x24, 0x0, 0x2A, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, - 0x83, 0x95, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x89, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, - 0xB2, 0xE6, 0xB8, 0x88, 0xE3, 0x81, 0xBF, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4E, 0x25, 0x0, 0x27, 0xE3, 0x81, 0x99, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x89, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4E, 0x26, 0x0, 0x77, 0xE3, - 0x83, 0x95, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x89, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, - 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, - 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x9F, - 0xE3, 0x83, 0xA5, 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xAA, 0xE3, - 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE6, 0x89, 0xBF, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, - 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x3F, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xAF, 0xC8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xB3, 0xB0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB3, 0xB1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB7, 0x98, 0x0, 0x2A, 0xE3, 0x82, - 0xAA, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, - 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xB7, 0x99, 0x0, 0x59, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0xB0, - 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0x81, 0xE3, 0x83, 0xA3, 0xE3, - 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAB, 0xD, 0xA, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, - 0x82, 0x81, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xB7, 0x9A, 0x0, 0x42, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, - 0xAB, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, - 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xB7, 0x9B, 0x0, 0x3F, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, - 0xE3, 0x82, 0xB0, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0x81, 0xE3, - 0x83, 0xA3, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE9, 0x80, - 0x80, 0xE5, 0xAE, 0xA4, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB7, 0x9C, - 0x0, 0x4B, 0xE5, 0x88, 0xA5, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xB0, 0xE3, 0x83, 0xAB, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0x81, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, - 0xE3, 0x81, 0xAB, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x65, 0x0, 0x46, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, - 0x81, 0xAE, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0xAE, 0xE9, 0x83, 0xBD, 0xE5, 0x90, 0x88, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0x88, - 0xE3, 0x82, 0x8A, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x20, 0x0, - 0x0, 0x0, 0x0, 0x2, 0x8A, 0x81, 0x8C - }; - - public static Packet Dump_11 = new Packet(new PacketId(3, 0, 16, "Dump_11"), data_Dump_11); - - - public static byte[] data_Dump_12 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x66, 0x0, 0x66, 0xE3, 0x83, - 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE5, 0x8F, 0x82, - 0xE5, 0x8A, 0xA0, 0xE3, 0x82, 0x92, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0x8A, 0xE3, 0x81, 0x86, 0xE3, - 0x81, 0xA8, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x83, - 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x84, - 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x67, 0x0, 0x59, - 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, - 0x81, 0xAE, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xD, 0xA, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xAA, - 0x98, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x4E, 0x27, 0x0, 0x2D, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, - 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x4E, 0x28, 0x0, 0x30, 0xE6, 0x89, - 0xBF, 0xE8, 0xAA, 0x8D, 0xE5, 0xBE, 0x85, 0xE3, 0x81, 0xA1, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, - 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAF, 0xE3, - 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6D, 0x62, 0x0, 0x42, 0xE5, 0x87, 0xBA, 0xE5, 0x93, 0x81, - 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, 0xEF, 0xBC, 0x90, 0xE3, - 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, 0x81, 0xE6, 0x96, 0xB0, 0xE3, 0x81, - 0x9F, 0xE3, 0x81, 0xAB, 0xE5, 0x87, 0xBA, 0xE5, 0x93, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x1F, 0x68, 0x0, 0x74, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, 0x81, - 0xAE, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xB3, 0xE3, - 0x83, 0x84, 0xE5, 0x90, 0x91, 0xE3, 0x81, 0x91, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, - 0xD, 0xA, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x86, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, - 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x1F, 0x69, 0x0, 0x59, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x86, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x84, 0xE5, 0x90, 0x91, 0xE3, 0x81, 0x91, 0xE3, 0x83, 0x91, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE3, - 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x86, 0xE3, 0x81, 0x93, - 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xC2, 0x0, 0x53, 0xE6, 0x9C, 0x89, - 0xE5, 0x8A, 0xB9, 0xE6, 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, 0xE3, - 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, - 0x81, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, - 0x83, 0xA0, 0xE3, 0x82, 0x92, 0xE9, 0x80, 0x81, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x7, 0x0, 0x3F, 0xE3, 0x81, 0x8A, 0xE6, - 0xB0, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x8A, 0xE3, 0x83, 0x9D, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x8C, 0xE4, 0xBB, 0xA5, - 0xE4, 0xB8, 0x8A, 0xE8, 0xBF, 0xBD, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x2B, 0x8, 0x0, 0x3F, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, - 0xE3, 0x81, 0x8A, 0xE6, 0xB0, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x8A, 0xE3, - 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, - 0xB2, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x6A, - 0x0, 0x53, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x93, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE6, 0xB7, - 0xB7, 0xE9, 0x9B, 0x91, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, - 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x6B, 0x0, - 0x5F, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x93, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE6, 0xB7, 0xB7, - 0xE9, 0x9B, 0x91, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, - 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xE3, 0x81, 0xAE, - 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE5, 0x90, 0x88, 0xE6, 0xB5, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x6C, 0x0, 0x56, 0xE6, 0x8B, 0x9B, 0xE5, - 0xBE, 0x85, 0xE8, 0x80, 0x85, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x83, - 0xAD, 0xE3, 0x83, 0x93, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE6, 0xB7, 0xB7, 0xE9, 0x9B, 0x91, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, - 0x82, 0x81, 0xD, 0xA, 0xE5, 0x90, 0x88, 0xE6, 0xB5, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7, 0xD1, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x9, 0x0, - 0x36, 0xE3, 0x81, 0x8A, 0xE6, 0xB0, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x8A, - 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, 0xE9, - 0x8C, 0xB2, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, - 0x40, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xB7, 0x9D, 0x0, 0x33, 0xE5, 0x9B, 0x9E, 0xE7, 0xB7, 0x9A, 0xE5, 0x88, 0x87, 0xE6, - 0x96, 0xAD, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xAA, - 0x98, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xBB, 0x80, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xBB, 0x81, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x82, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x83, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x84, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xBB, 0x85, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xBB, 0x86, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x87, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x88, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x89, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, - 0x8A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xBB, 0x8B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x8C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x8D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xAF, 0xC9, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xAF, 0xCA, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xAF, 0xCB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xAF, 0xCC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBF, 0x68, 0x0, 0x36, 0xE3, 0x81, 0x99, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, - 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, 0xE9, - 0x8C, 0xB2, 0xE6, 0xB8, 0x88, 0xE3, 0x81, 0xBF, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBF, 0x69, 0x0, 0x3C, 0xE3, 0x81, 0x93, - 0xE3, 0x82, 0x8C, 0xE4, 0xBB, 0xA5, 0xE4, 0xB8, 0x8A, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, - 0xAB, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xBF, 0x6A, 0x0, 0x71, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x89, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xAF, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0x95, - 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x89, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE4, - 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE7, 0x9B, 0xB8, 0xE6, 0x89, 0x8B, 0xD, 0xA, 0xE3, 0x81, 0xAA, - 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0xA7, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, 0xE3, - 0x82, 0xAF, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAB, 0xE7, 0x99, - 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xC3, 0x50, - 0x0, 0x2A, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0xB3, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xC7, 0x38, 0x0, 0x2A, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0x95, 0xE3, 0x83, - 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, - 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x6D, 0x0, 0x6E, 0xE3, 0x81, - 0x9D, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAF, 0xE4, 0xBB, 0x96, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, - 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xD, 0xA, - 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE8, - 0xA6, 0x81, 0xE8, 0xAB, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, - 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x9C, 0x45, 0x0, 0x30, 0xE5, 0xAF, 0xBE, 0xE8, 0xB1, 0xA1, 0xE3, 0x83, - 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0xAF, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x9C, 0x46, 0x0, 0x30, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xB8, - 0xE3, 0x81, 0xAE, 0xE5, 0x8A, 0xA0, 0xE5, 0x85, 0xA5, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE3, - 0x81, 0xAF, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x47, 0x0, 0x2D, - 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE5, 0x8A, 0xA0, 0xE5, 0x85, 0xA5, 0xE7, - 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE3, 0x82, 0x92, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0xA3, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x48, 0x0, 0x45, 0xE5, 0xAF, 0xBE, 0xE8, 0xB1, 0xA1, 0xE3, - 0x81, 0xAE, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0xA6, 0xE3, 0x83, 0x88, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE6, 0x83, 0x85, - 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0x8C, 0xE8, 0xA6, 0x8B, 0xE3, 0x81, 0xA4, 0xE3, 0x81, 0x8B, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x49, 0x0, 0x39, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xB8, 0xE3, 0x81, 0xAE, 0xE6, 0x8B, 0x9B, 0xE5, 0xBE, 0x85, 0xE3, - 0x81, 0x8C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, 0x83, - 0xAB, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x4A, 0x0, 0x30, 0xE3, - 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE6, 0x8B, 0x9B, 0xE5, 0xBE, 0x85, 0xE6, 0xB8, - 0x88, 0xE3, 0x81, 0xBF, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x27, 0x11, 0x0, 0x45, 0xE5, 0x9B, 0x9E, 0xE7, 0xB7, - 0x9A, 0xE5, 0x88, 0x87, 0xE6, 0x96, 0xAD, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0xA1, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x84, 0xE3, - 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE7, 0x94, 0xB3, 0xE8, 0xAB, 0x8B, 0xE5, 0x87, - 0xBA, 0xE6, 0x9D, 0xA5, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x6E, 0x0, 0x80, 0xE3, 0x83, 0xA1, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE5, 0x85, 0xA8, 0xE5, 0x93, 0xA1, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBD, 0xE7, 0xAB, 0x9C, 0xE7, 0xA5, 0x9E, 0xE6, 0xAE, 0xBF, 0xE3, 0x81, 0x8B, - 0xE3, 0x80, 0x81, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8B, 0xD, 0xA, - 0xE5, 0x90, 0x8C, 0xE3, 0x81, 0x98, 0xE6, 0x8B, 0xA0, 0xE7, 0x82, 0xB9, 0xE6, 0x96, 0xBD, 0xE8, - 0xA8, 0xAD, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, - 0x9F, 0xE3, 0x82, 0x81, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE5, 0x87, 0xBA, 0xE6, 0x9D, 0xA5, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x1F, 0x6F, 0x0, 0x48, 0xE8, 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE6, 0xB8, - 0x88, 0xE3, 0x81, 0xBF, 0xE6, 0x8B, 0xA0, 0xE7, 0x82, 0xB9, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, - 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x83, 0xAA, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE5, 0x87, - 0xBA, 0xE6, 0x9D, 0xA5, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x70, 0x0, 0x3F, 0xE5, 0x90, 0x8C, 0xE8, - 0xA1, 0x8C, 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x97, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, - 0xAA, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0xA7, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, - 0xE3, 0x83, 0xBC, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE5, 0x87, 0xBA, 0xE6, 0x9D, 0xA5, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x46, 0x68, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x4B, 0x0, 0x2D, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, - 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE5, 0x90, 0x8D, 0xE3, 0x81, 0xAF, 0xE4, - 0xBD, 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, - 0x4C, 0x0, 0x33, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, 0x95, 0xA5, 0xE7, 0xA7, 0xB0, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, - 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x4D, - 0x0, 0x36, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xB3, 0xE5, 0x90, 0x8D, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, - 0xE4, 0xBD, 0xBF, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x9C, 0x4E, 0x0, 0x2D, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0xAF, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE6, 0x89, 0x80, 0xE5, 0xB1, 0x9E, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x71, 0x0, 0x62, 0xE3, 0x81, 0x99, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE8, 0xA6, 0x81, 0xE8, 0xAB, 0x8B, 0xE3, 0x81, 0xAB, 0xE5, - 0xAF, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, - 0x8C, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x9F, - 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, - 0xBB, 0xE3, 0x83, 0xAB, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB7, 0x9E, 0x0, 0x2B, 0xE3, 0x82, 0xAA, 0xE3, 0x83, - 0x95, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, - 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x99, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xAB, 0xE5, - 0x0, 0xA3, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, - 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAE, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, - 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0xB6, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE5, 0x85, 0xA5, 0xE5, 0x8A, 0x9B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, - 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0xA6, 0xE3, 0x81, - 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x80, 0x81, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, - 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, - 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x72, 0x0, - 0x3F, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE5, 0xA4, 0x89, 0xE3, 0x82, 0x8F, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x9F, 0xE3, - 0x82, 0x81, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, 0x83, - 0xAB, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x27, 0x12, 0x0, 0x4D, 0xE5, 0xAF, 0xBE, 0xE8, - 0xB1, 0xA1, 0xE3, 0x81, 0x8C, 0xE7, 0x84, 0xA1, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xAA, 0xE3, 0x81, - 0xA3, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xAF, 0xE3, - 0x82, 0xA4, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x9C, 0x4F, 0x0, 0x39, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, - 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x50, 0x0, 0x36, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, - 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x99, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE8, 0xA7, 0xA3, 0xE6, 0x95, 0xA3, 0xE3, 0x81, 0x95, 0xE3, 0x82, - 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0xA, 0x0, 0x36, 0xE3, 0x83, 0x9D, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, - 0x8C, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x79, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x27, 0x13, 0x0, - 0x74, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, - 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE4, 0xB8, 0xAD, 0xE3, - 0x81, 0xAE, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, - 0x82, 0xAF, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0x91, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, - 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x27, 0x14, 0x0, - 0x78, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE4, - 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, - 0xD, 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, - 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, - 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2B, 0xB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x2B, 0xC, 0x0, 0x33, 0xEF, 0xBC, 0x9C, 0x3C, 0x4F, 0x50, 0x43, 0x53, - 0x3E, 0xEF, 0xBC, 0x9E, 0xE3, 0x81, 0xAE, 0xE5, 0x8A, 0xB9, 0xE6, 0x9E, 0x9C, 0xE3, 0x81, 0xAB, - 0xE3, 0x82, 0x88, 0xE3, 0x82, 0x8A, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE5, 0x8F, 0xAF, 0xE8, - 0x83, 0xBD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x75, 0x41, 0x0, 0x68, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x83, - 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, - 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, - 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x89, 0xE3, 0x81, 0xAE, 0xE5, 0x8B, 0x9F, 0xE9, 0x9B, 0x86, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x42, 0x0, 0x65, 0xE3, 0x82, 0xAF, 0xE3, 0x82, - 0xA4, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, - 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE7, 0x99, 0xBB, 0xE9, 0x8C, 0xB2, 0xE4, - 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAB, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x51, 0x0, 0x53, 0xE3, 0x82, 0xAF, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE6, 0x89, 0x80, 0xE5, 0xB1, 0x9E, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, - 0xD, 0xA, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xAF, 0xE3, 0x82, - 0xBF, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0x92, 0xE5, 0x89, 0x8A, 0xE9, 0x99, 0xA4, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xC3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x2D, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x2E, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA0, 0x2F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA0, 0x30, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x31, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x32, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x33, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, - 0x34, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA0, 0x35, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x36, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x37, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x38, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x39, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA0, 0x3A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA0, 0x3B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x3C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x3D, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x3E, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA0, 0x3F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA0, 0x40, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x41, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x42, 0x0, 0x82, 0x43, 0x41, 0x50, - 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, - 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, - 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, - 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, - 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, - 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, - 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x43, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, - 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, - 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, - 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, - 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, - 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, - 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x44, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, - 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, - 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, - 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, - 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, - 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, 0x8C, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA0, 0x45, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, - 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAA, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, - 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, - 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0xA7, - 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, - 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA0, 0x46, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, - 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, - 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, - 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, - 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, - 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, - 0x47, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, - 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, - 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, - 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, - 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, - 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, - 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x2, 0x26, 0xAE, 0x87, 0xFB, 0x4C, 0x9D, - 0xF8, 0x8B, 0xBD, 0x65, 0x58, 0xE5, 0xB4 - }; - - public static Packet Dump_12 = new Packet(new PacketId(3, 0, 16, "Dump_12"), data_Dump_12); - - - public static byte[] data_Dump_13 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x48, 0x0, 0x82, 0x43, 0x41, - 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, - 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, - 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, - 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, - 0xA6, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x49, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, - 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, - 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0xD, 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, - 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, - 0x81, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, - 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, - 0xA1, 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x4A, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, - 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, - 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, - 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, - 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, - 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, - 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, 0x8C, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA0, 0x4B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x4C, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, - 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, - 0xA, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, - 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, - 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, - 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, - 0x8C, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x4D, 0x0, 0x82, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, - 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, - 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, - 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, - 0x81, 0xA7, 0xE3, 0x80, 0x81, 0xD, 0xA, 0x43, 0x41, 0x50, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, - 0xE5, 0xBE, 0x97, 0xE3, 0x82, 0x92, 0xE5, 0x86, 0x8D, 0xE8, 0xA9, 0xA6, 0xE8, 0xA1, 0x8C, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA0, 0x4E, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, - 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, - 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, - 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, - 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, - 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, - 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, - 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, - 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA0, 0x4F, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, - 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, - 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, - 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, - 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, - 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, - 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, - 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA0, 0x50, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, - 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, - 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, - 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, - 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, - 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, - 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, - 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA0, 0x51, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, - 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, - 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, - 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, - 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, - 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, - 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, - 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, - 0x52, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, - 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, - 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, - 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, - 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, - 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, - 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, - 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB7, 0x9F, - 0x0, 0x42, 0xE3, 0x82, 0xB0, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x97, 0xE3, 0x83, - 0x81, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE4, 0xBA, 0xBA, - 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, - 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xCB, 0x20, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xCB, - 0x21, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xCB, 0x22, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xCB, 0x23, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xCB, 0x24, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x52, 0x0, 0x65, 0xE3, - 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xA9, - 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, - 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, - 0xE3, 0x81, 0x8C, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7, 0xD2, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, - 0x53, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, - 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, - 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, - 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, - 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, - 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, - 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, - 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x54, - 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, - 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, - 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, - 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, - 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, - 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x55, 0x0, - 0x93, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, - 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, - 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, - 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, - 0x8B, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, - 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, - 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, - 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x56, 0x0, 0x93, - 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, - 0x85, 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, - 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, - 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, - 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, - 0xBA, 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, - 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x57, 0x0, 0x93, 0xE9, - 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, - 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, - 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, - 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x58, 0x0, 0x93, 0xE9, 0xBB, - 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, - 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, - 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, - 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, - 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x59, 0x0, 0x93, 0xE9, 0xBB, 0x84, - 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, - 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, - 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, - 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x5A, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x5B, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x5C, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x5D, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x5E, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x5F, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x60, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x61, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x62, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x63, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, - 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, - 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, - 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, - 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, - 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x64, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x65, 0x0, 0x94, 0xE9, - 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, - 0xA5, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, - 0xA, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, - 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, - 0x83, 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, - 0x97, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, - 0x81, 0xAE, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, - 0xBA, 0xE8, 0xAA, 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x66, 0x0, 0x93, 0xE9, - 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, - 0xA5, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, - 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, - 0xA6, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x67, 0x0, 0x94, 0xE9, 0xBB, - 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, - 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, - 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, - 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, - 0x97, 0xE3, 0x82, 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, - 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, - 0xAE, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, - 0xE8, 0xAA, 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x68, 0x0, 0x9A, 0xE3, 0x82, - 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x81, 0xAE, - 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, - 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, - 0x81, 0xAE, 0xE6, 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, 0x82, 0x92, 0xE5, 0x88, 0xA9, 0xE7, 0x94, - 0xA8, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0xAF, 0xD, 0xA, 0xE3, - 0x82, 0xB2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAB, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, - 0xA6, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x97, - 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, - 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA0, 0x69, 0x0, 0x9A, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, - 0xE3, 0x82, 0xAF, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, - 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, - 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x81, 0xAE, 0xE6, 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, 0x82, - 0x92, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0xAB, - 0xE3, 0x81, 0xAF, 0xD, 0xA, 0xE3, 0x82, 0xB2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0xE3, 0x81, - 0xAB, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x97, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x6A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x6B, 0x0, 0x9A, 0xE3, 0x82, 0xAB, - 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x81, 0xAE, 0xE5, - 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, - 0x82, 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x81, - 0xAE, 0xE6, 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, 0x82, 0x92, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, - 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0xAF, 0xD, 0xA, 0xE3, 0x82, - 0xB2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAB, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, - 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x97, 0xE7, - 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, - 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, - 0x6C, 0x0, 0x9A, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, - 0x82, 0xAF, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, - 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x83, - 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x81, 0xAE, 0xE6, 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, 0x82, 0x92, - 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0xAB, 0xE3, - 0x81, 0xAF, 0xD, 0xA, 0xE3, 0x82, 0xB2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAB, - 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, 0xA4, 0xE3, - 0x83, 0xB3, 0xE3, 0x81, 0x97, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, - 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x6D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x6E, 0x0, 0x93, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, - 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE2, 0x80, 0xBB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, - 0xA5, 0xE3, 0x81, 0xAF, 0xE8, 0xA1, 0x8C, 0xE3, 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, - 0xE3, 0x81, 0x8A, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x81, 0x8A, 0xE6, 0x89, 0x8B, 0xE6, 0x95, 0xB0, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0x8C, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x6F, 0x0, 0x94, 0xE9, 0xBB, 0x84, 0xE9, 0x87, - 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x87, 0xA6, - 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE5, 0x86, 0x8D, - 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, 0xA4, 0xE3, - 0x83, 0xB3, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x97, 0xE3, 0x82, - 0x92, 0xE9, 0x96, 0x8B, 0xE3, 0x81, 0x8D, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x80, 0x81, - 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE7, 0x8A, - 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, 0x8D, - 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0xD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0xE, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0xF, 0x0, - 0x36, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE5, 0x90, 0x8D, 0xE6, 0xA4, 0x9C, - 0xE7, 0xB4, 0xA2, 0xE3, 0x81, 0xAE, 0xE6, 0xA9, 0x9F, 0xE8, 0x83, 0xBD, 0xE3, 0x81, 0xAF, 0xE4, - 0xBD, 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, - 0x10, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x2B, 0x11, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x12, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xC4, 0x0, 0x53, 0xE6, 0x9C, 0x89, 0xE5, - 0x8A, 0xB9, 0xE6, 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, 0xE3, 0x82, - 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, - 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, - 0xA0, 0xE3, 0x82, 0x92, 0xE9, 0x80, 0x81, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x70, 0x0, 0x85, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0xD, 0xA, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x82, 0xB2, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0x92, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xA6, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0xE3, 0x83, 0xA3, 0xE3, 0x83, - 0xBC, 0xE3, 0x82, 0x88, 0xE3, 0x82, 0x8A, 0xD, 0xA, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, - 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x97, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x71, 0x0, 0x2D, 0xE9, 0xBB, 0x84, 0xE9, - 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x82, 0x92, 0xE8, 0xBF, 0xBD, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA0, 0x72, 0x0, 0x50, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, - 0x8C, 0xE4, 0xB8, 0x8A, 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x86, 0xE7, 0x82, 0xBA, 0xE3, - 0x80, 0x81, 0xD, 0xA, 0xE8, 0xBF, 0xBD, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x43, 0x0, - 0x7D, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAE, 0xE6, 0xA4, 0x9C, 0xE7, - 0xB4, 0xA2, 0xE3, 0x81, 0x8C, 0xE6, 0xB7, 0xB7, 0xE9, 0x9B, 0x91, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x80, 0x81, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, - 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x44, 0x0, 0x7D, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, - 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, - 0x83, 0x89, 0xE3, 0x81, 0xAE, 0xE4, 0xBD, 0x9C, 0xE6, 0x88, 0x90, 0xE3, 0x81, 0x8C, 0xE6, 0xB7, - 0xB7, 0xE9, 0x9B, 0x91, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, - 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, - 0xE3, 0x80, 0x81, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, - 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, - 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, - 0xC5, 0x0, 0x3C, 0xE4, 0xBF, 0x9D, 0xE7, 0xAE, 0xA1, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0x83, 0xE3, - 0x82, 0xAF, 0xE3, 0x82, 0xB9, 0xE3, 0x81, 0xAB, 0xE8, 0xA3, 0x85, 0xE5, 0x82, 0x99, 0xE5, 0x93, - 0x81, 0xE3, 0x82, 0x92, 0xE9, 0x80, 0x81, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6D, 0x63, 0x0, 0x4E, 0xE5, 0x87, 0xBA, 0xE5, 0x93, - 0x81, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xAE, 0xE5, 0x88, 0xB6, 0xE9, 0x99, 0x90, 0xE4, 0xB8, 0xAD, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0xE8, 0xA9, 0xB3, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x8F, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x8A, 0xE7, 0x9F, 0xA5, 0xE3, 0x82, 0x89, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, 0xE8, 0xA6, 0xA7, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, - 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x75, 0x45, 0x0, 0xE3, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, - 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAE, - 0xE6, 0xA4, 0x9C, 0xE7, 0xB4, 0xA2, 0xE7, 0xB5, 0x90, 0xE6, 0x9E, 0x9C, 0xE3, 0x81, 0xAF, 0xEF, - 0xBC, 0x90, 0xE4, 0xBB, 0xB6, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0xD, 0xA, 0xD, 0xA, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x89, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x84, 0xE3, 0x82, 0xAF, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xD, 0xA, 0xE6, 0xA4, 0x9C, 0xE7, 0xB4, 0xA2, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE5, 0xA0, 0xB4, 0xE5, 0x90, 0x88, 0xE3, - 0x81, 0xAF, 0xE3, 0x80, 0x81, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xA9, 0xE3, 0x82, - 0xAF, 0xE3, 0x82, 0xBF, 0xE3, 0x83, 0xBC, 0xE5, 0x90, 0x8D, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0x88, - 0xE3, 0x82, 0x8B, 0xD, 0xA, 0xE6, 0xA4, 0x9C, 0xE7, 0xB4, 0xA2, 0xEF, 0xBC, 0x88, 0xE5, 0xAE, - 0x8C, 0xE5, 0x85, 0xA8, 0xE4, 0xB8, 0x80, 0xE8, 0x87, 0xB4, 0xEF, 0xBC, 0x89, 0xE3, 0x82, 0x92, - 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, - 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x2B, 0x13, 0x0, 0x31, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAB, 0xE3, 0x83, 0xAD, - 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, - 0x82, 0x8B, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x99, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x8F, 0x0, - 0x6B, 0xE7, 0x9B, 0xB4, 0xE5, 0x89, 0x8D, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE4, - 0xB8, 0xAD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x80, 0x81, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, - 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, - 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x3, 0xE8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3, 0xE9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, 0xB3, 0x0, 0x3C, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0xBF, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAE, 0xE6, 0x94, 0xAF, 0xE6, 0x8F, 0xB4, 0xE5, 0x93, 0x81, 0xE3, - 0x81, 0xAF, 0xE6, 0x8D, 0xA8, 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x89, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA0, 0x73, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xCF, 0x8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xCF, 0x9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xCF, 0xA, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xCF, 0xB, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xCF, 0xC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF2, 0x0, 0x24, 0xE6, 0x89, - 0x80, 0xE6, 0x8C, 0x81, 0xE9, 0x87, 0x91, 0xE3, 0x81, 0x8C, 0xE4, 0xB8, 0x8D, 0xE8, 0xB6, 0xB3, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6D, 0x64, 0x0, 0x86, 0xE3, 0x83, - 0x90, 0xE3, 0x82, 0xB6, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE4, 0xB8, 0x80, 0xE5, 0xAE, 0x9A, - 0xE6, 0x99, 0x82, 0xE9, 0x96, 0x93, 0xE5, 0x86, 0x85, 0xE3, 0x81, 0xAB, 0xE8, 0xB3, 0xBC, 0xE5, - 0x85, 0xA5, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x8B, 0xE5, 0x9B, 0x9E, 0xE6, 0x95, - 0xB0, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, - 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, - 0xE3, 0x82, 0x89, 0xE3, 0x80, 0x81, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, - 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, - 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x6D, 0x65, 0x0, 0x87, - 0xE3, 0x83, 0x90, 0xE3, 0x82, 0xB6, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE4, 0xB8, 0x80, 0xE5, - 0xAE, 0x9A, 0xE6, 0x99, 0x82, 0xE9, 0x96, 0x93, 0xE5, 0x86, 0x85, 0xE3, 0x81, 0xAB, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x8B, 0xE4, 0xBE, 0xA1, - 0xE6, 0xA0, 0xBC, 0xE3, 0x82, 0x92, 0xE8, 0xB6, 0x85, 0xE3, 0x81, 0x88, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, - 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x80, 0x81, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, - 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, - 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x32, - 0xCE, 0x0, 0x9B, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE6, 0x88, 0xA6, 0xE6, 0xB3, 0x81, 0xE3, 0x81, 0xAE, 0xE9, 0x85, - 0x8D, 0xE4, 0xBF, 0xA1, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xA, 0xE7, 0x8F, 0xBE, - 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, - 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0x92, 0xE8, 0xA7, 0xA3, 0xE6, 0x95, 0xA3, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xA6, 0xA, 0xE9, 0x85, 0x8D, 0xE4, 0xBF, 0xA1, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, - 0xAE, 0xE6, 0x88, 0xA6, 0xE6, 0xB3, 0x81, 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, - 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0xC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0xD, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x17, 0x7A, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, - 0x69, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA0, 0x74, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xC6, 0x0, 0x71, 0xE6, 0x9C, 0x89, 0xE5, 0x8A, 0xB9, 0xE6, - 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, 0x81, - 0xD, 0xA, 0xE4, 0xBF, 0x9D, 0xE7, 0xAE, 0xA1, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0x83, 0xE3, 0x82, - 0xAF, 0xE3, 0x82, 0xB9, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, - 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x82, 0x92, 0xE5, 0x8F, 0x96, 0xE3, 0x82, 0x8A, 0xE5, - 0x87, 0xBA, 0xE3, 0x81, 0x9B, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x9C, 0x53, 0x0, 0x33, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBF, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xAB, 0xE6, 0x9C, 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x81, - 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x75, 0x46, 0x0, 0x56, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE6, 0x9D, 0xA1, 0xE4, 0xBB, - 0xB6, 0xE3, 0x82, 0x92, 0xE6, 0xBA, 0x80, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, - 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, - 0xA, 0xE5, 0x86, 0x8D, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAA, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x23, 0x34, 0x0, 0x30, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x86, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x84, 0xE3, 0x81, 0xAE, 0xE5, 0x87, 0xBA, 0xE6, 0x92, 0x83, 0xE3, - 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x61, - 0xB4, 0x0, 0xB2, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xB3, 0x31, - 0x2E, 0x33, 0xE3, 0x81, 0xA7, 0xE6, 0x94, 0xAF, 0xE6, 0x8F, 0xB4, 0xE5, 0x93, 0x81, 0xE3, 0x81, - 0xAE, 0xE5, 0x86, 0x85, 0xE5, 0xAE, 0xB9, 0xE3, 0x81, 0x8C, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, - 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0xD, - 0xA, 0xE5, 0xA4, 0x89, 0xE6, 0x9B, 0xB4, 0xE5, 0x89, 0x8D, 0xE3, 0x81, 0xAE, 0xE6, 0x94, 0xAF, - 0xE6, 0x8F, 0xB4, 0xE5, 0x93, 0x81, 0xE3, 0x82, 0x92, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, - 0x8F, 0x96, 0xE3, 0x82, 0x8B, 0xE5, 0xA0, 0xB4, 0xE5, 0x90, 0x88, 0xE3, 0x81, 0xAF, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE6, 0x94, 0xAF, 0xE6, 0x8F, 0xB4, 0xE5, 0x93, 0x81, 0xE3, 0x81, 0xAE, 0xE5, - 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, 0xE3, 0x82, 0x8A, 0xE3, 0x82, 0x92, 0xE3, 0x82, - 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE5, 0xAE, 0x9F, 0xE8, 0xA1, 0x8C, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, - 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x23, 0x35, 0x0, - 0x6C, 0xE6, 0xBA, 0x96, 0xE5, 0x82, 0x99, 0xE5, 0xAE, 0x8C, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x8B, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0x9F, 0xE3, - 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE3, 0x81, - 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xB3, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x84, 0xE3, 0x81, 0xAE, 0xE5, 0x87, - 0xBA, 0xE6, 0x92, 0x83, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x6C, 0x0, 0x5C, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0x95, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0x9D, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x88, 0xE3, 0x81, 0x8C, 0xE5, 0x89, 0xB2, 0xE3, 0x82, 0x8A, 0xE6, 0x8C, 0xAF, 0xE3, 0x82, 0x89, - 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, - 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0x83, - 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xC7, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x36, 0xC8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x36, 0xC9, 0x0, 0x91, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xBB, - 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE9, 0x81, 0xA9, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xAB, 0xE5, - 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE8, 0xA3, 0x85, 0xE5, 0x82, 0x99, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA5, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x9A, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xD, 0xA, 0xE4, 0xBF, 0x9D, 0xE7, 0xAE, 0xA1, 0xE3, 0x83, - 0x9C, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xB9, 0xE3, 0x81, 0xAB, 0xE6, 0xA0, 0xBC, - 0xE7, 0xB4, 0x8D, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, - 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x3A, 0xAF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x3E, 0x90, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x91, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x92, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x6A, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x1, 0xC2, 0x75, 0x3E, 0xE4, - 0x53, 0x48, 0x31, 0xC5, 0x40, 0x5A, 0xDF - }; - - public static Packet Dump_13 = new Packet(new PacketId(3, 0, 16, "Dump_13"), data_Dump_13); - - - public static byte[] data_Dump_14 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x6B, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x71, 0x50, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x9C, 0x54, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x9C, 0x55, 0x0, 0x1B, 0xE6, 0xA8, 0xA9, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, - 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x56, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x9C, 0x57, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA0, 0x75, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA0, 0x76, 0x0, 0x2D, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x8F, 0xAF, - 0xE8, 0x83, 0xBD, 0xE3, 0x81, 0xAA, 0xE6, 0x9C, 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x82, 0x92, 0xE9, - 0x81, 0x8E, 0xE3, 0x81, 0x8E, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x34, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, - 0x35, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA4, 0x36, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x37, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x38, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x39, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x3A, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA4, 0x3B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA4, 0x3C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x3D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xD8, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xD9, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xD6, 0xDA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xD6, 0xDB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xDC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xDD, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xDE, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, - 0xDF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xD6, 0xE0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE3, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE4, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xD6, 0xE5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE8, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xE9, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xD6, 0xEA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xD6, 0xEB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xEC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xED, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xEE, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, - 0xEF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xD6, 0xF0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF3, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF4, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xD6, 0xF5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF8, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xF9, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xD6, 0xFA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xD6, 0xFB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xFC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xFD, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, 0xFE, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD6, - 0xFF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xDA, 0xC0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC3, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC4, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xDA, 0xC5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC7, 0x0, 0x4A, 0xE3, 0x83, 0xAD, 0xE3, 0x82, - 0xB9, 0xE3, 0x83, 0x88, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAF, 0xD, 0xA, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x88, 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0xAF, 0xE8, 0xA8, 0xAD, - 0xE5, 0xAE, 0x9A, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xA8, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xDE, 0xA9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xDE, 0xAA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xAB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xAC, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xAD, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, - 0xAE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x9C, 0x58, 0x0, 0x68, 0xE5, 0x89, 0x8D, 0xE5, 0x9B, 0x9E, 0xE3, 0x83, 0xAD, 0xE3, - 0x82, 0xB0, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE6, 0x97, 0xA5, 0xE3, 0x81, 0x8B, 0xE3, 0x82, - 0x89, 0xE6, 0x99, 0x82, 0xE9, 0x96, 0x93, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0xA3, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, - 0xA, 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0xBF, 0xE3, 0x83, 0xBC, 0xE6, 0xA8, 0xA9, - 0xE9, 0x99, 0x90, 0xE3, 0x82, 0x92, 0xE5, 0xA7, 0x94, 0xE8, 0xAD, 0xB2, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x14, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xCA, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xCB, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, - 0xCC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x36, 0xCD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x6D, 0x0, 0x5C, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x82, 0xE3, - 0x81, 0xAA, 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, - 0xA0, 0xE3, 0x81, 0xAE, 0xE4, 0xBD, 0x9C, 0xE6, 0x88, 0x90, 0xE3, 0x81, 0x8C, 0xE5, 0xAE, 0x8C, - 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, - 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, 0xBF, - 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x6E, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x7, 0xD3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA4, 0x3E, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x3F, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE2, 0x90, 0x0, 0x6B, 0xE3, 0x83, 0x88, - 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, - 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE9, 0x96, 0x8B, 0xE5, 0x82, - 0xAC, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, - 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x83, - 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x93, - 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xE2, 0x91, 0x0, 0x6B, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA3, - 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, - 0x81, 0xAE, 0xE9, 0x96, 0x8B, 0xE5, 0x82, 0xAC, 0xE3, 0x81, 0x8C, 0xE7, 0xB5, 0x82, 0xE4, 0xBA, - 0x86, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, - 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, - 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE2, 0x92, 0x0, 0xD2, 0xE6, 0x8C, 0x87, 0xE5, 0xAE, - 0x9A, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xA4, 0xE5, 0x9B, 0x9E, - 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xD, 0xA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, - 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA8, - 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xEF, 0xBC, 0x88, 0xE6, 0xAE, 0x8B, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, - 0xA0, 0xE6, 0x95, 0xB0, 0xE3, 0x81, 0x8C, 0xE5, 0xB0, 0x91, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, - 0xE3, 0x80, 0x81, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xAF, 0xD, - 0xA, 0xE5, 0xAF, 0xBE, 0xE8, 0xB1, 0xA1, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, - 0xE3, 0x81, 0xAB, 0xE7, 0x89, 0xB9, 0xE6, 0xAE, 0x8A, 0xE6, 0x9D, 0xA1, 0xE4, 0xBB, 0xB6, 0xE3, - 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8B, 0xE7, 0xAD, 0x89, 0xE3, 0x81, 0xAE, 0xD, 0xA, - 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE6, 0x80, 0xA7, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xEF, 0xBC, 0x89, 0xD, 0xA, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0xE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x94, 0x71, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x94, 0x72, 0x0, 0x6E, 0xE3, - 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x9D, 0xE3, 0x82, - 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAB, 0xE7, 0xA9, 0xBA, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0x8C, - 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, 0x81, 0xD, - 0xA, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9C, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x8A, 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x92, 0xE5, 0x8F, 0x97, 0xE3, - 0x81, 0x91, 0xE5, 0x8F, 0x96, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0xF, 0x0, 0x6A, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, - 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE9, 0x80, 0xB2, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, - 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x82, 0xB2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0xA0, 0xE3, 0x81, 0xAB, 0xE5, 0x86, 0x8D, 0xE5, 0xBA, 0xA6, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xB0, - 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0x97, 0xE7, 0x9B, 0xB4, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, - 0x82, 0xD, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x10, 0x0, 0x7D, 0xE4, - 0xBB, 0xA5, 0xE4, 0xB8, 0x8B, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x93, 0xE3, 0x83, - 0xAA, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x82, 0x92, 0xE8, 0xA3, 0x85, 0xE7, 0x9D, 0x80, - 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAF, 0xE5, 0x87, 0xBA, 0xE6, 0x92, 0x83, 0xE3, 0x81, 0xA7, 0xE3, - 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, - 0xD, 0xA, 0xE3, 0x80, 0x80, 0xE6, 0x96, 0xB0, 0xE6, 0x94, 0xBB, 0xE3, 0x80, 0x80, 0xE6, 0x96, - 0xB0, 0xE9, 0x98, 0xB2, 0xD, 0xA, 0xE3, 0x80, 0x80, 0xE6, 0x9C, 0x88, 0xE6, 0x94, 0xBB, 0xE3, - 0x80, 0x80, 0xE6, 0x9C, 0x88, 0xE9, 0x98, 0xB2, 0xD, 0xA, 0xE3, 0x80, 0x80, 0xE9, 0x9B, 0xA8, - 0xE6, 0x94, 0xBB, 0xE3, 0x80, 0x80, 0xE9, 0x9B, 0xA8, 0xE9, 0x98, 0xB2, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x2F, 0x11, 0x0, 0x55, 0xE7, 0x8F, 0xBE, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, - 0xAF, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x82, 0x92, 0xE4, 0xBD, 0xBF, - 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xA, 0xE3, 0x83, 0x9C, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x89, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, - 0x82, 0x92, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xA2, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x71, 0x0, 0x58, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, - 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE4, 0xBD, 0x9C, 0xE6, 0x88, 0x90, 0xE3, 0x81, - 0x8C, 0xE5, 0xAE, 0x8C, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, - 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0x95, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x92, 0xE4, 0xB8, 0xAD, 0xE6, 0xAD, 0xA2, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x7F, 0x0, 0x80, 0xE3, 0x83, 0x9D, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE9, 0x81, 0xA0, 0xE5, 0xBE, 0x81, 0xE9, 0x9A, 0x8A, 0xE3, - 0x81, 0xAB, 0xE6, 0xB4, 0xBE, 0xE9, 0x81, 0xA3, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x81, - 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0xB3, 0xE9, 0x81, 0xA0, 0xE5, 0xBE, 0x81, 0xE9, 0x9A, 0x8A, 0xE3, 0x81, 0xAE, 0xE5, 0xA0, 0xB1, - 0xE5, 0x91, 0x8A, 0xE3, 0x82, 0x92, 0xE8, 0x81, 0x9E, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8A, 0xE8, 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x93, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x94, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x95, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x6F, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x46, 0x70, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x5E, 0x37, 0x7E, 0xA1, 0x32, 0x80 - }; - - public static Packet Dump_14 = new Packet(new PacketId(3, 0, 16, "Dump_14"), data_Dump_14); - - - public static byte[] data_Dump_15 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x84, 0xD4, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA0, 0x77, 0x0, - 0x2D, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE3, 0x81, 0xAA, - 0xE6, 0x9C, 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x82, 0x92, 0xE9, 0x81, 0x8E, 0xE3, 0x81, 0x8E, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x40, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x41, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x42, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, - 0x43, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xA4, 0x44, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xE2, 0x93, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE2, 0x94, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x78, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x79, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xE6, 0x7A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xE6, 0x7B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x7C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x7D, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x7E, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xE6, 0x80, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xEA, 0x60, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEA, 0x61, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEA, 0x62, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEE, 0x48, 0x0, 0x42, - 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9D, 0xE3, 0x82, 0xA4, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x8C, 0xE8, 0xB6, 0xB3, 0xE3, 0x82, 0x8A, 0xE3, 0x81, - 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEE, 0x49, 0x0, 0x33, 0xE6, 0x97, - 0xA2, 0xE3, 0x81, 0xAB, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0xB8, 0x88, 0xE3, 0x81, 0xBF, - 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEE, 0x4A, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEE, 0x4B, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xEE, - 0x4C, 0x0, 0x3F, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9D, 0xE3, - 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x92, 0xE4, 0xBD, 0xBF, 0xE7, 0x94, - 0xA8, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE6, 0xA8, 0xA9, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, - 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF3, 0x0, 0x33, 0xE6, 0x97, - 0xA2, 0xE3, 0x81, 0xAB, 0xE5, 0x8F, 0x96, 0xE5, 0xBE, 0x97, 0xE6, 0xB8, 0x88, 0xE3, 0x81, 0xBF, - 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE4, 0xBA, 0xA4, 0xE6, 0x8F, 0x9B, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x81, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x82, 0x0, 0x30, - 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE9, 0x81, 0xA0, 0xE5, 0xBE, 0x81, 0xE9, - 0x9A, 0x8A, 0xE3, 0x82, 0x92, 0xE6, 0xB4, 0xBE, 0xE9, 0x81, 0xA3, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x72, 0x0, 0x36, 0xE5, 0x86, 0x92, 0xE9, - 0x99, 0xBA, 0xE3, 0x83, 0x91, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x88, 0xE3, 0x81, 0xAE, 0xE5, 0x8A, 0xB9, 0xE6, 0x9E, 0x9C, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, - 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x75, 0x47, 0x0, 0x6B, 0xE5, 0x90, - 0x8C, 0xE3, 0x81, 0x98, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0xA1, - 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAA, 0xE3, - 0x81, 0x84, 0xE3, 0x81, 0x8B, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAB, 0xE5, 0x8A, 0xA0, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, - 0x81, 0xE5, 0x8F, 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x36, 0xCE, 0x0, 0x50, 0xE5, 0xA3, 0xB2, 0xE5, 0x8D, 0xB4, 0xE4, 0xB8, 0x8D, 0xE5, 0x8F, - 0xAF, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, - 0xE3, 0x81, 0x8C, 0xE5, 0x90, 0xAB, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE5, 0xA3, 0xB2, - 0xE5, 0x8D, 0xB4, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x83, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x2F, 0x12, 0x0, 0x52, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xA8, - 0xE3, 0x81, 0xAE, 0xE7, 0xB5, 0x86, 0xE3, 0x81, 0x8C, 0xE8, 0xB6, 0xB3, 0xE3, 0x82, 0x8A, 0xE3, - 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xA, 0xE3, 0x81, 0x8A, 0xE9, - 0xA1, 0x98, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x92, 0xE8, 0x81, 0x9E, 0xE3, 0x81, 0x8F, 0xE4, 0xBA, - 0x8B, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, 0x84, - 0x0, 0x94, 0xE7, 0x8F, 0xBE, 0xE5, 0x9C, 0xA8, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0x9D, 0xE3, 0x83, - 0xBC, 0xE3, 0x83, 0xB3, 0xE9, 0x81, 0xA0, 0xE5, 0xBE, 0x81, 0xE9, 0x9A, 0x8A, 0xE3, 0x81, 0xAE, - 0xE5, 0xBC, 0xB7, 0xE5, 0x8C, 0x96, 0xE6, 0xB4, 0xBE, 0xE9, 0x81, 0xA3, 0xE3, 0x81, 0xAF, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0xD, 0xA, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE9, 0x81, 0xA0, 0xE5, - 0xBE, 0x81, 0xE9, 0x9A, 0x8A, 0xE3, 0x81, 0xAF, 0xE6, 0x97, 0xA2, 0xE3, 0x81, 0xAB, 0xE6, 0xB4, - 0xBE, 0xE9, 0x81, 0xA3, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, - 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAF, 0xE6, 0xB6, - 0x88, 0xE8, 0xB2, 0xBB, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xCF, - 0x0, 0x68, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE3, 0x82, - 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x9D, 0xE3, 0x82, 0xB9, - 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xD, 0xA, 0xE3, 0x82, 0xA2, 0xE3, 0x82, - 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB0, - 0xE3, 0x81, 0xAB, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, - 0x82, 0x92, 0xE7, 0xA7, 0xBB, 0xE5, 0x8B, 0x95, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x3E, 0x96, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x97, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x98, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3E, 0x99, 0x0, 0x2A, 0xE3, - 0x82, 0xAD, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xAB, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x3E, 0x9A, 0x0, 0x6E, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, - 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x90, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0xA8, 0xE5, 0x85, 0xA5, 0xE5, 0xA0, 0xB4, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, - 0x81, 0x8C, 0xD, 0xA, 0xE5, 0x90, 0x8C, 0xE6, 0x9C, 0x9F, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, - 0x82, 0x81, 0xE7, 0xA7, 0xBB, 0xE5, 0x8B, 0x95, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x55, 0xF8, 0x0, 0x2D, 0xE8, - 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE5, 0x8F, 0xAF, 0xE8, 0x83, 0xBD, 0xE3, 0x81, 0xAA, 0xE6, 0x9C, - 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x82, 0x92, 0xE9, 0x81, 0x8E, 0xE3, 0x81, 0x8E, 0xE3, 0x81, 0xA6, - 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x75, 0x48, 0x0, 0x1E, 0xE7, 0x8F, 0xBE, 0xE5, 0x9C, 0xA8, 0xE5, 0x8F, - 0x82, 0xE5, 0x8A, 0xA0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x45, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xA4, 0x46, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA4, 0x47, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x48, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x49, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x4A, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA4, 0x4B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xA4, 0x4C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x4D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x4E, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x4F, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xB3, - 0xB2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xF2, 0x30, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x31, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x32, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x33, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x34, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xF2, 0x35, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xF2, 0x36, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x37, 0x0, 0x33, 0xE7, 0x8F, 0xBE, 0xE5, 0x9C, - 0xA8, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE9, 0x96, 0x8B, - 0xE5, 0x82, 0xAC, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x82, 0xE3, - 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x38, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x39, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF6, 0x18, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF6, - 0x19, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xFA, 0x0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x3, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x4, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xFA, 0x5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xFA, 0x6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x8, 0x0, 0x27, 0xE3, 0x81, - 0x93, 0xE3, 0x81, 0xAE, 0xE5, 0x90, 0x8D, 0xE5, 0x89, 0x8D, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, 0xBF, - 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, - 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x9, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xFA, 0xA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xFA, 0xB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0xC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0xD, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0xE, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, - 0xF, 0x0, 0x5D, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x8F, 0xE3, - 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, 0xE4, 0xBD, - 0x9C, 0xE6, 0x88, 0x90, 0xE3, 0x81, 0x8C, 0xE5, 0xAE, 0x8C, 0xE4, 0xBA, 0x86, 0xE3, 0x81, 0x99, - 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, - 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, - 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x20, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x10, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x11, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x12, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xFA, 0x13, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xFA, 0x14, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xE8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xE9, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xEA, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xFD, 0xEB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xFD, 0xEC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD1, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD2, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, - 0xD3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x1, 0x1, 0xD4, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD7, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFA, 0x4B, 0x44, 0x28, 0xBF, - 0xAD, 0xFC, 0x66, 0x7B, 0xF0, 0xCF, 0x41 - }; - - public static Packet Dump_15 = new Packet(new PacketId(3, 0, 16, "Dump_15"), data_Dump_15); - - - public static byte[] data_Dump_16 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD8, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xD9, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x1, 0xDA, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x1, 0xDB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xDC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xDD, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0xDE, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, - 0xDF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x1, 0x1, 0xE0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xB8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xB9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xBA, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xBB, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x1, 0x5, 0xBC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x1, 0x5, 0xBD, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xBE, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xBF, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x5, 0xC0, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x9, 0xA0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x9, 0xA1, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x84, 0xD5, 0x0, 0x68, 0xE5, 0x8A, 0xB9, 0xE8, 0x83, 0xBD, - 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, - 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, 0x81, 0xD, 0xA, 0xE5, 0xAF, 0xBE, - 0xE8, 0xB1, 0xA1, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, 0xE3, 0x82, 0xB8, 0xE3, - 0x83, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0x83, 0xE3, 0x83, - 0x88, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x94, 0xE5, 0x88, 0xA9, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xAB, - 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE2, 0x95, 0x0, 0x68, 0xE5, 0x8A, - 0xB9, 0xE8, 0x83, 0xBD, 0xE3, 0x81, 0x8C, 0xE5, 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, - 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, 0x81, 0xD, - 0xA, 0xE5, 0xAF, 0xBE, 0xE8, 0xB1, 0xA1, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAC, - 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBA, 0xE3, 0x83, 0xAD, 0xE3, - 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0x94, 0xE5, 0x88, 0xA9, 0xE7, 0x94, - 0xA8, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0xAA, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x8E, - 0x0, 0x82, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, - 0xAE, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, - 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, - 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, - 0x4C, 0x43, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, - 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, - 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x8F, 0x0, 0x82, - 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0xAE, 0xE6, - 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, - 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, - 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, 0x4C, 0x43, - 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, - 0x83, 0xB3, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x90, 0x0, 0x82, 0xE8, 0xB3, - 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0xAE, 0xE6, 0x9B, 0xB4, - 0xE6, 0x96, 0xB0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, - 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, 0x4C, 0x43, 0xE3, 0x82, - 0xB9, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, - 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x91, 0x0, 0x82, 0xE8, 0xB3, 0xBC, 0xE5, - 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0xAE, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, - 0xB0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, - 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, 0x4C, 0x43, 0xE3, 0x82, 0xB9, 0xE3, - 0x83, 0x86, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x82, - 0x92, 0xD, 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x92, 0x0, 0x82, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, - 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0xAE, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE5, - 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, 0x4C, 0x43, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x86, - 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0x92, 0xD, - 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, - 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xBB, 0x93, 0x0, 0x82, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, - 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0xAE, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE5, 0x87, 0xA6, - 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, 0x4C, 0x43, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x86, 0xE3, 0x83, - 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, - 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, - 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xBB, 0x94, 0x0, 0xA1, 0x50, 0x6C, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6F, - 0x6E, 0xE2, 0x84, 0xA2, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0xE3, 0x81, 0x8C, 0xD, 0xA, - 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0x8A, 0xE3, 0x83, 0xB3, 0xE3, - 0x82, 0xB9, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, - 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x82, 0x92, 0xE6, - 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0xD, 0xA, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0x8A, 0xE3, 0x83, - 0xB3, 0xE3, 0x82, 0xB9, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x82, 0x92, 0xE3, 0x81, 0x94, - 0xE7, 0xA2, 0xBA, 0xE8, 0xAA, 0x8D, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, - 0x81, 0x84, 0xE3, 0x80, 0x82, 0xD, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, - 0x95, 0x0, 0x82, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, - 0x81, 0xAE, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, - 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, - 0x89, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, - 0x44, 0x4C, 0x43, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, - 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, - 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xBB, 0x96, 0x0, - 0x84, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0xAE, - 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0xAB, 0xE5, - 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, - 0x81, 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0x44, 0x4C, - 0x43, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, - 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xA4, 0x50, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0xA4, 0x51, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0xDE, 0xAF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xB0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xB1, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, 0xB2, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDE, - 0xB3, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0xFA, 0x15, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x16, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xED, 0x0, 0x6E, 0xE3, 0x83, 0x91, 0xE3, - 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE5, 0x86, 0x85, 0xE3, 0x81, - 0xA7, 0xE8, 0xA9, 0xA6, 0xE7, 0xB7, 0xB4, 0xE3, 0x81, 0xAE, 0xE8, 0xB5, 0xB7, 0xE5, 0x8B, 0x95, - 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0x8C, 0xD, 0xA, 0xE5, 0x90, 0x8C, 0xE6, 0x9C, - 0x9F, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, - 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE5, 0xAE, 0x9F, 0xE8, 0xA1, 0x8C, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x1, 0x5, 0xC1, 0x0, 0x36, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, - 0x81, 0x8C, 0xE8, 0xB6, 0xB3, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, - 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xB3, 0xBC, 0xE5, 0x85, 0xA5, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xFA, 0x17, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x18, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x19, 0x0, 0x37, 0xE5, 0x86, - 0x92, 0xE9, 0x99, 0xBA, 0xE3, 0x83, 0x91, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x88, 0xE3, 0x81, 0xAE, 0xE5, 0x8A, 0xB9, 0xE6, 0x9E, 0x9C, 0xE3, 0x81, 0x8C, 0xE5, - 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x99, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xEE, 0x0, - 0x6F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, - 0xE5, 0x86, 0x85, 0xE3, 0x81, 0xA7, 0xE8, 0xA9, 0xA6, 0xE7, 0xB7, 0xB4, 0xE3, 0x81, 0xAE, 0xE8, - 0xB5, 0xB7, 0xE5, 0x8B, 0x95, 0xE7, 0x8A, 0xB6, 0xE6, 0x85, 0x8B, 0xE3, 0x81, 0x8C, 0xD, 0xA, - 0xE5, 0x90, 0x8C, 0xE6, 0x9C, 0x9F, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE5, 0xAE, - 0x9F, 0xE8, 0xA1, 0x8C, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x20, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xEF, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0xD, 0x88, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0xD, 0x89, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x1, 0xD, 0x8A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x1, 0xD, 0x8B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x11, 0x70, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x11, 0x71, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x11, 0x72, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x11, 0x73, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x11, 0x74, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x13, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x14, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x15, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, - 0x16, 0x0, 0xBE, 0xE4, 0xBB, 0xA5, 0xE4, 0xB8, 0x8B, 0xE3, 0x81, 0xAE, 0xE8, 0xA3, 0x85, 0xE5, - 0x82, 0x99, 0xE5, 0x93, 0x81, 0xE4, 0xBB, 0xA5, 0xE5, 0xA4, 0x96, 0xE3, 0x82, 0x92, 0xE8, 0xA3, - 0x85, 0xE5, 0x82, 0x99, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, - 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x86, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x84, 0xE3, 0x81, 0xAB, 0xE5, 0x87, 0xBA, 0xE6, 0x92, 0x83, - 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x80, 0x82, 0xD, 0xA, 0xD, 0xA, 0xE9, 0xAD, 0x94, 0xE7, 0x95, 0x8C, 0xE6, 0x9D, 0x91, 0xE3, - 0x82, 0xA2, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xBC, 0xE8, 0xA3, 0x85, 0xE5, 0x82, - 0x99, 0xD, 0xA, 0xE9, 0xAD, 0x94, 0xE7, 0x95, 0x8C, 0xE6, 0x9D, 0x91, 0xE3, 0x83, 0x97, 0xE3, - 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0xB9, 0xE8, 0xA3, 0x85, 0xE5, 0x82, - 0x99, 0xD, 0xA, 0xE9, 0xAD, 0x94, 0xE7, 0x95, 0x8C, 0xE6, 0x9D, 0x91, 0xE3, 0x82, 0xA2, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x80, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0xA7, 0xE3, 0x82, - 0xA2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xB0, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xB1, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, - 0x73, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x55, 0xF9, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF4, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, - 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, - 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xC9, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xCA, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xF6, 0x1A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xFA, 0x1A, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFA, 0x1B, 0x0, 0x51, 0xE9, 0xBB, 0x84, 0xE9, 0x87, - 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAE, 0xE6, 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE3, 0x81, 0x8C, - 0xE5, 0x88, 0x87, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, - 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE5, 0x87, 0xA6, 0xE7, 0x90, 0x86, 0xE3, 0x81, 0x8C, - 0xE5, 0x87, 0xBA, 0xE6, 0x9D, 0xA5, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, - 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x1, 0x5, 0xC2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x9, 0xA2, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x11, 0x75, 0x0, 0x37, 0xE9, 0xBB, - 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0x8C, 0xE8, 0xB6, 0xB3, 0xE3, 0x82, 0x8A, - 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE8, 0xB3, 0xBC, 0xE5, - 0x85, 0xA5, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, - 0x93, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x11, 0x76, 0x0, - 0x47, 0xE5, 0x88, 0x86, 0xE8, 0xA7, 0xA3, 0xE3, 0x81, 0xAE, 0xE6, 0xAE, 0x8B, 0xE3, 0x82, 0x8A, - 0xE5, 0x9B, 0x9E, 0xE6, 0x95, 0xB0, 0xE3, 0x82, 0x92, 0xD, 0xA, 0xE3, 0x83, 0xAA, 0xE3, 0x82, - 0xBB, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x8B, 0xE5, 0xBF, 0x85, - 0xE8, 0xA6, 0x81, 0xE3, 0x81, 0x8C, 0xE3, 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x11, 0x77, 0x0, 0x62, 0xE3, 0x81, 0xBE, 0xE3, 0x82, 0x82, 0xE3, 0x81, 0xAA, 0xE3, 0x81, 0x8F, - 0xE3, 0x83, 0xAA, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE5, 0x9B, 0x9E, 0xE6, - 0x95, 0xB0, 0xE3, 0x81, 0x8C, 0xE3, 0x83, 0x81, 0xE3, 0x83, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x82, - 0xB8, 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x8C, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, - 0xD, 0xA, 0xE9, 0xBB, 0x84, 0xE9, 0x87, 0x91, 0xE7, 0x9F, 0xB3, 0xE3, 0x81, 0xAF, 0xE4, 0xBD, - 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, - 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x15, 0x58, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x1, 0x15, 0x59, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xAB, 0xE6, 0x0, 0x48, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x99, 0xE3, 0x83, - 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x89, 0xE3, 0x81, 0xAE, - 0xE6, 0x9C, 0x89, 0xE5, 0x8A, 0xB9, 0xE6, 0x9C, 0x9F, 0xE9, 0x99, 0x90, 0xE5, 0xA4, 0x96, 0xE3, - 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE4, 0xBD, 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, - 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x17, 0x0, 0x33, 0xE7, 0x8F, 0xBE, 0xE5, - 0x9C, 0xA8, 0xE3, 0x80, 0x81, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, 0xE3, 0x83, - 0xA7, 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE9, 0x85, 0x8D, 0xE4, 0xBF, 0xA1, 0xE6, 0x9C, 0x9F, - 0xE9, 0x96, 0x93, 0xE5, 0xA4, 0x96, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF5, 0x0, 0x3F, 0xE8, 0xA6, 0x8F, 0xE5, 0xAE, - 0x9A, 0xE3, 0x81, 0xAE, 0xE4, 0xBA, 0xA4, 0xE6, 0x8F, 0x9B, 0xE5, 0x9B, 0x9E, 0xE6, 0x95, 0xB0, - 0xE3, 0x81, 0xAB, 0xE9, 0x81, 0x94, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x9F, 0xE3, - 0x82, 0x81, 0xE4, 0xBA, 0xA4, 0xE6, 0x8F, 0x9B, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x3E, 0x9B, 0x0, 0x39, 0xE3, 0x81, 0x99, 0xE3, 0x81, 0xB9, 0xE3, 0x81, 0xA6, 0xE3, - 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x82, - 0x92, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, 0xE3, 0x81, 0xA3, 0xE3, 0x81, 0xA6, - 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, 0x84, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x3A, 0x0, 0x21, 0xE7, 0xB4, 0x8D, 0xE5, 0x93, - 0x81, 0xE3, 0x81, 0xAE, 0xE5, 0x8F, 0x97, 0xE4, 0xBB, 0x98, 0xE6, 0x9C, 0x9F, 0xE9, 0x96, 0x93, - 0xE5, 0xA4, 0x96, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF6, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xD2, 0xF7, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x15, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2B, 0x16, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, - 0x2B, 0x17, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x0, 0x2B, 0x18, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2F, 0x18, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xD0, 0x0, 0x56, 0xE3, 0x82, 0xBB, - 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x95, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE8, 0xA8, 0xAD, 0xE5, - 0xAE, 0x9A, 0xE4, 0xB8, 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, - 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0x8C, 0xD, 0xA, 0xE5, 0x90, 0xAB, 0xE3, 0x81, 0xBE, 0xE3, - 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, - 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xB2, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3A, 0xB3, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x3A, 0xB4, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x3A, 0xB5, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xDA, 0xCB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x19, 0x40, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x19, 0x41, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x19, 0x42, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x19, 0x43, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x96, 0x9, 0x7D, 0xB2 - }; - - public static Packet Dump_16 = new Packet(new PacketId(3, 0, 16, "Dump_16"), data_Dump_16); - - - public static byte[] data_Dump_17 = new byte[] /* 3.0.16 */ - { - 0x0, 0x0, 0x0, 0x32, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x19, 0x44, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x19, 0x45, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x19, 0x46, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x19, 0x47, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x28, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x29, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x2A, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, - 0x2B, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x1, 0x1D, 0x2C, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xF0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1F, 0x73, 0x0, 0x30, 0xE7, 0x8F, 0xBE, 0xE5, - 0x9C, 0xA8, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, - 0xA4, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0xAF, 0xE8, 0xAA, 0x98, 0xE3, 0x81, 0x88, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xA4, 0x52, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x2D, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x2E, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x2F, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x1D, 0x30, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x1D, 0x31, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x32, 0x0, 0x39, 0xE7, 0x8F, 0xBE, 0xE5, 0x9C, 0xA8, - 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x86, 0xE3, - 0x83, 0xB3, 0xE3, 0x83, 0x84, 0xE3, 0x81, 0xAF, 0xE3, 0x83, 0x97, 0xE3, 0x83, 0xAC, 0xE3, 0x82, - 0xA4, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, - 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x21, 0x10, 0x0, 0x27, 0xE9, - 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x21, 0x11, - 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, - 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x1, 0x21, 0x12, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x1, 0x21, 0x13, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x21, 0x14, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x21, 0x15, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x21, 0x16, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x21, 0x17, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x1, 0x0, 0x1, 0x21, 0x18, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, - 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x24, 0xF8, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, - 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, - 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x24, 0xF9, 0x0, 0x27, 0xE9, 0x80, 0x9A, - 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, - 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x24, 0xFA, 0x0, 0x27, - 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, - 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x24, - 0xFB, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, - 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x1, 0x24, 0xFC, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x1, 0x28, 0xE0, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, - 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, - 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x2C, 0xC8, 0x0, 0x2D, 0xE3, 0x81, 0x93, 0xE3, - 0x81, 0xAE, 0xE3, 0x82, 0xB8, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x96, 0xE3, 0x81, 0xA7, 0xE3, 0x81, - 0xAF, 0xE4, 0xBD, 0xBF, 0xE7, 0x94, 0xA8, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0xD2, 0xF8, 0x0, 0x60, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, - 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, - 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xB0, 0xE3, 0x82, 0x89, 0xE3, 0x81, - 0x8F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x89, 0xE3, 0x80, 0x81, - 0xE3, 0x82, 0x82, 0xE3, 0x81, 0x86, 0xE4, 0xB8, 0x80, 0xE5, 0xBA, 0xA6, 0xE3, 0x81, 0x8A, 0xE8, - 0xA9, 0xA6, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x8F, 0xE3, 0x81, 0xA0, 0xE3, 0x81, 0x95, 0xE3, 0x81, - 0x84, 0xE3, 0x80, 0x82, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xFD, 0xF1, 0x0, - 0x59, 0xE3, 0x81, 0x93, 0xE3, 0x81, 0xAE, 0xE5, 0x8C, 0xBA, 0xE7, 0x94, 0xBB, 0xE3, 0x81, 0xAF, - 0xE5, 0xA4, 0xA7, 0xE9, 0x96, 0x8B, 0xE6, 0x8B, 0x93, 0xE3, 0x81, 0x8C, 0xE8, 0xA1, 0x8C, 0xE3, - 0x82, 0x8F, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, - 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE8, 0xA9, 0xA6, 0xE7, 0xB7, 0xB4, 0xE3, - 0x81, 0x8C, 0xE8, 0xA7, 0xA3, 0xE6, 0x94, 0xBE, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, - 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x0, 0x1, 0x19, 0x48, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, - 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, - 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x1, 0x1D, 0x33, 0x0, 0x50, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, - 0x83, 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xB3, 0xE3, 0x83, - 0x90, 0xE3, 0x83, 0xBC, 0xE5, 0x85, 0xA8, 0xE5, 0x93, 0xA1, 0xE3, 0x81, 0x8C, 0xD, 0xA, 0xE6, - 0x8B, 0xA0, 0xE7, 0x82, 0xB9, 0xE3, 0x81, 0xAB, 0xE3, 0x81, 0x84, 0xE3, 0x81, 0xAA, 0xE3, 0x81, - 0x84, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, - 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x2F, 0x19, 0x0, 0x30, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x83, - 0x88, 0xE3, 0x82, 0x92, 0xE7, 0xA0, 0xB4, 0xE6, 0xA3, 0x84, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xD1, 0x0, - 0x30, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x86, 0xE3, 0x83, 0xA0, 0xE3, 0x81, 0xAE, - 0xE6, 0x9B, 0xB4, 0xE6, 0x96, 0xB0, 0xE6, 0x83, 0x85, 0xE5, 0xA0, 0xB1, 0xE3, 0x81, 0x8C, 0xE3, - 0x81, 0x82, 0xE3, 0x82, 0x8A, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xF2, 0x3B, 0x0, 0x44, 0xE5, 0xA0, 0xB1, - 0xE9, 0x85, 0xAC, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, 0xE3, 0x82, 0x8A, 0xE6, - 0x9C, 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0xAF, 0xE3, 0x81, 0xAA, 0xE3, 0x81, - 0x84, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0xA7, 0xD, 0xA, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, - 0x8F, 0x96, 0xE3, 0x82, 0x8C, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, - 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x36, 0xD2, 0x0, 0x5F, 0xE5, 0x88, 0x9D, - 0xE6, 0x9C, 0x9F, 0xE8, 0xA3, 0x85, 0xE5, 0x82, 0x99, 0xE5, 0x93, 0x81, 0xE4, 0xBB, 0xA5, 0xE5, - 0xA4, 0x96, 0xE3, 0x82, 0x92, 0xE8, 0xA3, 0x85, 0xE5, 0x82, 0x99, 0xE3, 0x81, 0x97, 0xE3, 0x81, - 0xA6, 0xE3, 0x81, 0x84, 0xE3, 0x82, 0x8B, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xD, 0xA, 0xE3, - 0x82, 0xB8, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0x96, 0xE3, 0x83, 0x81, 0xE3, 0x82, 0xA7, 0xE3, 0x83, - 0xB3, 0xE3, 0x82, 0xB8, 0xE3, 0x81, 0xAB, 0xE5, 0xA4, 0xB1, 0xE6, 0x95, 0x97, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0xFD, 0xF2, 0x0, 0x3F, 0xE3, 0x83, 0x91, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x86, 0xE3, 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x80, - 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE4, 0xB8, 0x8D, 0xE5, 0x9C, 0xA8, 0xE3, 0x81, 0xAE, 0xE3, - 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, 0xE3, 0x81, 0xBE, 0xE3, 0x81, - 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0xE6, - 0x85, 0x0, 0x76, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0xE9, 0x81, 0xA0, 0xE5, - 0xBE, 0x81, 0xE9, 0x9A, 0x8A, 0xE3, 0x81, 0xAB, 0xE6, 0xB4, 0xBE, 0xE9, 0x81, 0xA3, 0xE4, 0xB8, - 0xAD, 0xE3, 0x81, 0xAE, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0xE6, 0xB4, - 0xBE, 0xE9, 0x81, 0xA3, 0xE5, 0xBE, 0x8C, 0xE3, 0x80, 0x81, 0x33, 0x30, 0xE6, 0x97, 0xA5, 0xE4, - 0xBB, 0xA5, 0xE4, 0xB8, 0x8A, 0xE7, 0xB5, 0x8C, 0xE9, 0x81, 0x8E, 0xE3, 0x81, 0x99, 0xE3, 0x82, - 0x8B, 0xE3, 0x81, 0xA8, 0xE9, 0x99, 0xA4, 0xE5, 0x90, 0x8D, 0xE3, 0x81, 0xA7, 0xE3, 0x81, 0x8D, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x99, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x46, 0x74, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, - 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, - 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x46, 0x75, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, - 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, - 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x76, 0x0, 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, - 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, - 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, - 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x11, 0x78, 0x0, 0x27, 0xE9, 0x80, - 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, 0x8C, - 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, 0x81, 0x97, 0xE3, - 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x46, 0x77, 0x0, - 0x27, 0xE9, 0x80, 0x9A, 0xE4, 0xBF, 0xA1, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, - 0xE3, 0x81, 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F, 0xE3, 0x81, 0x97, 0xE3, 0x81, 0xBE, 0xE3, - 0x81, 0x97, 0xE3, 0x81, 0x9F, 0xE3, 0x80, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, - 0x30, 0xB0, 0x0, 0x49, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0x83, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, - 0xE3, 0x83, 0xB3, 0xE3, 0x81, 0xAE, 0xE6, 0x9C, 0x9F, 0xE9, 0x96, 0x93, 0xE3, 0x81, 0x8C, 0xE9, - 0x81, 0x8E, 0xE3, 0x81, 0x8E, 0xE3, 0x81, 0x9F, 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x81, 0xE3, 0x80, - 0x81, 0xD, 0xA, 0xE5, 0x8F, 0x97, 0xE3, 0x81, 0x91, 0xE5, 0x8F, 0x96, 0xE3, 0x82, 0x8C, 0xE3, - 0x81, 0xBE, 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x93, 0xE3, 0x80, 0x82, 0xD, 0xA, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x32, 0xBB, 0x1C, 0x7B, 0xAB - }; - - public static Packet Dump_17 = new Packet(new PacketId(3, 0, 16, "Dump_17"), data_Dump_17); - - - public static byte[] data_Dump_18 = new byte[] /* 3.0.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1E, 0xA3, 0x1D, 0x96, 0xED, 0xCA, 0xDB, 0x9C, - 0x6A, 0xA0, 0x2A, 0xBC, 0x55, 0x8E, 0x9E - }; - - public static Packet Dump_18 = new Packet(new PacketId(3, 0, 2, "Dump_18"), data_Dump_18); - - - public static byte[] data_Dump_19 = new byte[] /* 2.2.1 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_19 = new Packet(new PacketId(2, 2, 1, "Dump_19"), data_Dump_19); - - - public static byte[] data_Dump_20 = new byte[] /* 2.2.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41, 0x0, 0x0, 0x0, 0x64, - 0x3, 0x1, 0x0, 0x0, 0x0, 0xC8, 0x0, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0, 0x1, 0x0, 0x24, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, - 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x6D, 0x61, 0x6E, 0x75, 0x61, 0x6C, 0x5F, - 0x6E, 0x66, 0x62, 0x2F, 0x0, 0x0, 0x0, 0x2, 0x0, 0x31, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, - 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, - 0x6A, 0x70, 0x2F, 0x73, 0x68, 0x6F, 0x70, 0x2F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x73, - 0x74, 0x6F, 0x6E, 0x65, 0x2F, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6C, 0x0, 0x0, 0x0, 0x3, 0x0, - 0x2D, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, - 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x68, 0x6F, 0x70, 0x2F, 0x69, - 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x65, 0x72, 0x3F, 0x0, 0x0, - 0x0, 0x4, 0x0, 0x2F, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, - 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x68, 0x6F, - 0x70, 0x2F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x61, 0x74, 0x74, 0x65, 0x6E, 0x74, 0x69, - 0x6F, 0x6E, 0x3F, 0x0, 0x0, 0x0, 0x5, 0x0, 0x30, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, - 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, - 0x70, 0x2F, 0x73, 0x68, 0x6F, 0x70, 0x2F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x73, 0x74, - 0x6F, 0x6E, 0x65, 0x2F, 0x6C, 0x69, 0x6D, 0x69, 0x74, 0x0, 0x0, 0x0, 0x6, 0x0, 0x2D, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, - 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x68, 0x6F, 0x70, 0x2F, 0x69, 0x6E, 0x67, - 0x61, 0x6D, 0x65, 0x2F, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x65, 0x72, 0x3F, 0x0, 0x0, 0x0, 0x7, - 0x0, 0x48, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, - 0x70, 0x2D, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, - 0x70, 0x2F, 0x6F, 0x70, 0x65, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x2F, - 0x64, 0x64, 0x6F, 0x2F, 0x63, 0x6F, 0x67, 0x5F, 0x63, 0x61, 0x6C, 0x6C, 0x62, 0x61, 0x63, 0x6B, - 0x2F, 0x63, 0x61, 0x70, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x0, 0x0, 0x0, 0x8, 0x0, 0x2D, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, - 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x70, 0x5F, 0x69, 0x6E, 0x67, 0x61, - 0x6D, 0x65, 0x2F, 0x63, 0x61, 0x70, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2F, 0x0, 0x0, 0x0, - 0x9, 0x0, 0x14, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, - 0x30, 0x39, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x0, 0x0, 0x0, 0xA, 0x0, 0x14, 0x68, 0x74, 0x74, - 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x31, 0x30, 0x2E, 0x68, 0x74, 0x6D, - 0x6C, 0x0, 0x0, 0x0, 0xB, 0x0, 0x3A, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, - 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, - 0x70, 0x5F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x63, 0x61, 0x6D, 0x70, 0x61, 0x69, 0x67, - 0x6E, 0x2F, 0x62, 0x6E, 0x72, 0x2F, 0x62, 0x6E, 0x72, 0x30, 0x31, 0x2E, 0x68, 0x74, 0x6D, 0x6C, - 0x3F, 0x0, 0x0, 0x0, 0xC, 0x0, 0x35, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, - 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, - 0x73, 0x70, 0x5F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x73, 0x75, 0x70, 0x70, 0x6F, 0x72, - 0x74, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x0, 0x0, 0x0, 0xD, - 0x0, 0x2E, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, - 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x61, 0x70, 0x69, 0x2F, 0x70, - 0x68, 0x6F, 0x74, 0x6F, 0x75, 0x70, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x7A, 0x65, - 0x0, 0x0, 0x0, 0xE, 0x0, 0x1A, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x66, 0x72, 0x6F, - 0x6E, 0x74, 0x61, 0x70, 0x69, 0x2E, 0x63, 0x61, 0x70, 0x6C, 0x69, 0x6E, 0x6B, 0x2E, 0x6A, 0x70, - 0x0, 0x0, 0x0, 0xF, 0x0, 0x1B, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x66, 0x72, - 0x6F, 0x6E, 0x74, 0x61, 0x70, 0x69, 0x2E, 0x63, 0x61, 0x70, 0x6C, 0x69, 0x6E, 0x6B, 0x2E, 0x6A, - 0x70, 0x0, 0x0, 0x0, 0x10, 0x0, 0x35, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, - 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, - 0x73, 0x70, 0x5F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x63, 0x61, 0x70, 0x6C, 0x69, 0x6E, - 0x6B, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x0, 0x0, 0x0, 0x11, - 0x0, 0x3A, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, - 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x70, 0x5F, 0x69, 0x6E, - 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x63, 0x61, 0x6D, 0x70, 0x61, 0x69, 0x67, 0x6E, 0x2F, 0x62, 0x6E, - 0x72, 0x2F, 0x73, 0x6C, 0x69, 0x64, 0x65, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x0, 0x0, 0x0, 0x13, - 0x0, 0x2D, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, - 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x70, 0x5F, 0x69, 0x6E, - 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x63, 0x61, 0x70, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2F, 0x0, - 0x0, 0x0, 0x14, 0x0, 0x1F, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x63, 0x6F, 0x6D, - 0x70, 0x61, 0x6E, 0x69, 0x6F, 0x6E, 0x2D, 0x69, 0x6D, 0x67, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, - 0x2E, 0x6A, 0x70, 0x2F, 0x0, 0x0, 0x38, 0x40, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xBC, 0xE3, 0x81, - 0x8C, 0xE7, 0x99, 0xBA, 0xE7, 0x94, 0x9F - }; - - public static Packet Dump_20 = new Packet(new PacketId(2, 2, 2, "Dump_20"), data_Dump_20); - - - public static byte[] data_Dump_21 = new byte[] /* 4.0.1 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_21 = new Packet(new PacketId(4, 0, 1, "Dump_21"), data_Dump_21); - - public static byte[] data_Dump_22 = new byte[] /* 4.0.2 */ { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x1, @@ -4440,239 +192,6 @@ public static class LoginDump public static Packet Dump_22 = new Packet(new PacketId(4, 0, 2, "Dump_22"), data_Dump_22); - - public static byte[] data_Dump_23 = new byte[] /* 5.0.1 */ - { - 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_23 = new Packet(new PacketId(5, 0, 1, "Dump_23"), data_Dump_23); - - - public static byte[] data_Dump_24 = new byte[] /* 5.0.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x20, 0x4F, 0xD8, - 0x0, 0x4, 0x52, 0x75, 0x6D, 0x69, 0x0, 0x8, 0x41, 0x6D, 0x65, 0x73, 0x74, 0x72, 0x69, 0x73, - 0x0, 0x3, 0x53, 0x3B, 0x52, 0x0, 0x0, 0x0, 0x5, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, - 0x4, 0x75, 0x30, 0x1, 0x1, 0x1, 0x44, 0x12, 0x0, 0x0, 0x2, 0x3, 0x5, 0x8, 0x0, 0x45, - 0x0, 0x45, 0x37, 0x37, 0xC, 0x74, 0x9A, 0x74, 0x7C, 0x76, 0xD4, 0x73, 0x85, 0x73, 0xB7, 0x74, - 0x13, 0x71, 0xCF, 0x75, 0xDC, 0x74, 0x82, 0x77, 0x1C, 0x75, 0x32, 0x74, 0xD1, 0x7C, 0x38, 0x72, - 0xD8, 0x75, 0x30, 0x75, 0x30, 0x75, 0xC3, 0x74, 0xF2, 0x74, 0x4F, 0x75, 0x2, 0x74, 0xE0, 0x74, - 0x9A, 0x72, 0x10, 0x72, 0xDC, 0x74, 0x4, 0x73, 0x20, 0x77, 0xD0, 0x71, 0x48, 0x73, 0x50, 0x77, - 0xB5, 0x75, 0xA2, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0xBB, 0xB2, 0x9B, - 0x35, 0x71, 0xFC, 0x80, 0x48, 0x96, 0x96, 0x99, 0xF2, 0xA9, 0xB3, 0x96, 0xC8, 0x77, 0x88, 0x72, - 0x95, 0x70, 0x1C, 0x51, 0xA4, 0x75, 0x30, 0x61, 0x44, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x0, 0x1, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x61, 0x99, 0x0, 0x1, 0x0, 0x1, 0x6, 0x0, - 0x0, 0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x24, 0x2C, 0x0, 0x0, 0x2, 0x0, 0x0, 0x24, 0x2C, - 0x0, 0x0, 0x3, 0x0, 0x0, 0x24, 0x2C, 0x0, 0x0, 0x4, 0x0, 0x0, 0x24, 0x2C, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x59, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x62, 0xB, 0x0, 0x1, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x63, 0x79, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x2, 0x80, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x63, 0xA2, 0x0, 0x1, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x63, 0x7E, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0xD2, 0x0, 0x1, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x63, 0x83, 0x0, 0x1, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x2, 0x25, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x63, 0xA7, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x63, 0xAC, 0x0, 0x1, 0x0, 0x9, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x54, 0x93, 0x0, 0x1, - 0x0, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x56, 0x5F, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46, 0xE3, 0x0, 0x1, 0x0, 0xC, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, 0x5A, 0x48, 0x0, 0x0, 0x2, 0x0, 0x0, 0x3F, - 0xA6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x4B, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x5C, 0x9F, 0x0, 0x1, 0x0, 0xD, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x1, 0x0, 0x0, 0x5C, 0x56, 0x0, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x54, 0x93, 0x0, 0x1, 0x0, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, - 0x56, 0xDD, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x53, 0x4A, - 0x0, 0x1, 0x0, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x25, 0x70, 0x0, 0x2, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x55, 0x0, 0x2, 0x0, 0x5, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x3, 0x99, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0xB3, 0x0, 0x2, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xF9, 0x0, 0x2, - 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0xE, 0x49, 0x0, 0x0, 0x0, 0x1, 0x0, 0x15, 0xE5, 0x86, - 0x92, 0xE9, 0x99, 0xBA, 0xE3, 0x83, 0x91, 0xE3, 0x82, 0xB9, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, - 0xE3, 0x83, 0x88, 0x0, 0x36, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, - 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x70, - 0x5F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x69, 0x6D, 0x67, 0x2F, 0x69, 0x63, 0x6F, 0x6E, - 0x2F, 0x62, 0x6F, 0x75, 0x6B, 0x65, 0x6E, 0x2E, 0x6A, 0x70, 0x67, 0x0, 0x0, 0x0, 0x0, 0x5D, - 0x6B, 0xF3, 0xBF, 0x0, 0x0, 0x0, 0x0, 0x5D, 0xE2, 0x9A, 0xBF, 0x1, 0x0, 0x7, 0x53, 0x68, - 0x69, 0x6E, 0x2D, 0x52, 0x61, 0x0, 0x3, 0x53, 0x3B, 0x52, 0x1, 0x0, 0x20, 0xB8, 0xF8, 0x0, - 0x5, 0x44, 0x69, 0x61, 0x6E, 0x61, 0x0, 0x6, 0x53, 0x65, 0x65, 0x6C, 0x69, 0x78, 0x0, 0x3, - 0x53, 0x3B, 0x52, 0x0, 0x0, 0x0, 0xA, 0x5A, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x8, 0xA4, - 0x10, 0x1, 0x1, 0x1, 0x23, 0x12, 0x0, 0x0, 0x2, 0x3, 0x5, 0x8, 0x0, 0x45, 0x0, 0x45, - 0x37, 0x37, 0xC, 0x74, 0x9A, 0x74, 0x7C, 0x76, 0xD4, 0x73, 0x85, 0x73, 0xB7, 0x74, 0x13, 0x71, - 0xCF, 0x75, 0xDC, 0x74, 0x82, 0x77, 0x1C, 0x75, 0x32, 0x74, 0xD1, 0x7C, 0x38, 0x72, 0xD8, 0x75, - 0x30, 0x75, 0x30, 0x75, 0xC3, 0x74, 0xF2, 0x74, 0x4F, 0x75, 0x2, 0x74, 0xE0, 0x74, 0x9A, 0x72, - 0x10, 0x72, 0xDC, 0x74, 0x4, 0x73, 0x20, 0x77, 0xD0, 0x71, 0x48, 0x73, 0x50, 0x77, 0xB5, 0x75, - 0xA2, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0xBB, 0xB2, 0x9B, 0x35, 0x71, - 0xFC, 0x8A, 0x98, 0x96, 0x96, 0x99, 0xF2, 0xA9, 0xB3, 0x96, 0xC8, 0x77, 0x88, 0x72, 0x95, 0x70, - 0x1C, 0x51, 0xA4, 0x75, 0x30, 0x61, 0x44, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, - 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x64, 0xF, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41, 0x94, 0x0, 0x1, - 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x41, 0x96, 0x0, 0x1, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5B, 0xA2, 0x0, 0x1, 0x0, 0x7, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2D, 0xC6, - 0x0, 0x1, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x4, 0x1E, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0xF9, 0x0, 0x1, 0x0, - 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x7, 0x53, 0x68, 0x69, 0x6E, 0x2D, 0x52, 0x61, 0x0, 0x3, 0x53, - 0x3B, 0x52, 0x0, 0x0, 0x21, 0x55, 0x9B, 0x0, 0x6, 0x4B, 0x65, 0x6E, 0x64, 0x72, 0x61, 0x0, - 0x4, 0x53, 0x68, 0x61, 0x77, 0x0, 0x3, 0x42, 0x53, 0x50, 0x0, 0x0, 0x0, 0x9, 0x5B, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x2, 0x4, 0xA4, 0x10, 0x1, 0x1, 0x1, 0x23, 0x12, 0x0, 0x0, 0x2, - 0x3, 0x5, 0x8, 0x0, 0x45, 0x0, 0x45, 0x37, 0x37, 0xC, 0x74, 0x9A, 0x74, 0x7C, 0x76, 0xD4, - 0x73, 0x85, 0x73, 0xB7, 0x74, 0x13, 0x71, 0xCF, 0x75, 0xDC, 0x74, 0x82, 0x77, 0x1C, 0x75, 0x32, - 0x74, 0xD1, 0x7C, 0x38, 0x72, 0xD8, 0x75, 0x30, 0x75, 0x30, 0x75, 0xC3, 0x74, 0xF2, 0x74, 0x4F, - 0x75, 0x2, 0x74, 0xE0, 0x74, 0x9A, 0x72, 0x10, 0x72, 0xDC, 0x74, 0x4, 0x73, 0x20, 0x77, 0xD0, - 0x71, 0x48, 0x73, 0x50, 0x77, 0xB5, 0x75, 0xA2, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, 0x75, 0x30, - 0x75, 0x30, 0xBB, 0xB2, 0x9B, 0x35, 0x71, 0xFC, 0x8A, 0x98, 0x96, 0x96, 0x99, 0xF2, 0xA9, 0xB3, - 0x96, 0xC8, 0x77, 0x88, 0x72, 0x95, 0x70, 0x1C, 0x51, 0xA4, 0x75, 0x30, 0x61, 0x44, 0x1, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x61, 0xA4, 0x0, - 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, - 0x92, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61, 0xBC, 0x0, 0x1, 0x0, 0x4, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x2, 0x7, 0x0, 0x1, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x23, 0x40, 0x0, 0x1, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x46, 0xE7, 0x0, 0x1, 0x0, - 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x3F, 0x49, 0x0, 0x1, 0x0, 0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x54, 0x47, 0x0, 0x1, 0x0, 0xD, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x5B, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x54, 0x47, 0x0, 0x1, 0x0, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, - 0x1, 0x0, 0x0, 0x5B, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x24, 0xF9, 0x0, 0x1, 0x0, 0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xE0, 0x0, 0x2, 0x0, 0x5, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x25, 0xED, 0x0, - 0x2, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x22, 0x8, 0x0, 0x2, 0x0, 0x8, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4F, 0xB8, 0x30, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x15, 0xE5, 0x86, 0x92, 0xE9, 0x99, 0xBA, 0xE3, 0x83, 0x91, 0xE3, 0x82, - 0xB9, 0xE3, 0x83, 0x9D, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x0, 0x36, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3A, 0x2F, 0x2F, 0x6D, 0x65, 0x6D, 0x62, 0x65, 0x72, 0x73, 0x2E, 0x64, 0x64, 0x2D, 0x6F, - 0x6E, 0x2E, 0x6A, 0x70, 0x2F, 0x73, 0x70, 0x5F, 0x69, 0x6E, 0x67, 0x61, 0x6D, 0x65, 0x2F, 0x69, - 0x6D, 0x67, 0x2F, 0x69, 0x63, 0x6F, 0x6E, 0x2F, 0x62, 0x6F, 0x75, 0x6B, 0x65, 0x6E, 0x2E, 0x6A, - 0x70, 0x67, 0x0, 0x0, 0x0, 0x0, 0x5D, 0x4D, 0xC3, 0x4, 0x0, 0x0, 0x0, 0x0, 0x5D, 0xC4, - 0x6A, 0x4, 0x1, 0x0, 0xC, 0x42, 0x61, 0x74, 0x74, 0x6C, 0x65, 0x53, 0x74, 0x61, 0x72, 0x50, - 0x47, 0x0, 0x3, 0x42, 0x53, 0x50, 0x0 - }; - - public static Packet Dump_24 = new Packet(new PacketId(5, 0, 2, "Dump_24"), data_Dump_24); - - - public static byte[] data_Dump_25 = new byte[] /* 0.0.1 */ - { - 0x0, 0x5F, 0x0, 0x56, 0x0, 0x45, 0x0 - }; - - public static Packet Dump_25 = new Packet(new PacketId(0, 0, 1, "Dump_25"), data_Dump_25); - - - public static byte[] data_Dump_26 = new byte[] /* 0.0.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x21, 0x62, 0x77, - 0x0, 0x5, 0x43, 0x72, 0x6F, 0x77, 0x65 - }; - - public static Packet Dump_26 = new Packet(new PacketId(0, 0, 2, "Dump_26"), data_Dump_26); - - - public static byte[] data_Dump_27 = new byte[] /* 5.1.1 */ - { - 0x0, 0x20, 0x4F, 0xD8, 0x30, 0x40, 0x0, 0x1B, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4E, - 0x0, 0x5F, 0x0, 0x49, 0x0, 0x4E, 0x0 - }; - - public static Packet Dump_27 = new Packet(new PacketId(5, 1, 1, "Dump_27"), data_Dump_27); - - - public static byte[] data_Dump_28 = new byte[] /* 5.1.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x4F, 0xD8, 0x0, 0x0, 0x0, 0x2, - 0x44, 0x34, 0x31, 0x33, 0x34, 0x37, 0x34 - }; - - public static Packet Dump_28 = new Packet(new PacketId(5, 1, 2, "Dump_28"), data_Dump_28); - - - public static byte[] data_Dump_29 = new byte[] /* 0.0.1 */ - { - 0x0, 0x5F, 0x0, 0x56, 0x0, 0x45, 0x0 - }; - - public static Packet Dump_29 = new Packet(new PacketId(0, 0, 1, "Dump_29"), data_Dump_29); - - - public static byte[] data_Dump_30 = new byte[] /* 0.0.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD8, 0x0, 0x20, 0x4F, 0xD8, 0x0, 0x0, 0x0, - 0x0, 0x2, 0x1, 0x5D, 0xAC, 0x38, 0x92 - }; - - public static Packet Dump_30 = new Packet(new PacketId(0, 0, 2, "Dump_30"), data_Dump_30); - - - public static byte[] data_Dump_31 = new byte[] /* 5.5.16 */ - { - 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_31 = new Packet(new PacketId(5, 5, 16, "Dump_31"), data_Dump_31); - - - public static byte[] data_Dump_32 = new byte[] /* 2.3.16 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0xF, 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xBC, 0xE3, 0x83, - 0x90, 0xE3, 0x83, 0xBC, 0x30, 0x31, 0x37, 0x0, 0x0, 0x0, 0x9, 0xE5, 0xB0, 0x91, 0xE3, 0x81, - 0xAA, 0xE3, 0x82, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xE8, 0x0, 0x0, 0x0, 0x1C, - 0x0, 0xE, 0x31, 0x30, 0x36, 0x2E, 0x31, 0x38, 0x35, 0x2E, 0x37, 0x34, 0x2E, 0x31, 0x37, 0x33, - 0xCB, 0x20, 0x0, 0x1, 0x46, 0xE9, 0x1D - }; - - public static Packet Dump_32 = new Packet(new PacketId(2, 3, 16, "Dump_32"), data_Dump_32); - - - public static byte[] data_Dump_33 = new byte[] /* 2.1.1 */ - { - 0x0, 0x20, 0x4F, 0xD8, 0x30, 0x40, 0x0 - }; - - public static Packet Dump_33 = new Packet(new PacketId(2, 1, 1, "Dump_33"), data_Dump_33); - - - public static byte[] data_Dump_34 = new byte[] /* 2.1.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x46, 0x31, 0x30, 0x38, 0x46, 0x30, - 0x46, 0x37, 0x42, 0x33, 0x30, 0x33, 0x34, 0x44, 0x35, 0x36, 0x42, 0x45, 0x37, 0x32, 0x35, 0x30, - 0x36, 0x41, 0x43, 0x31, 0x32, 0x43, 0x45, 0x39, 0x34, 0x0, 0x0, 0xE8, 0x0, 0x0, 0x0, 0x1C, - 0x0, 0xE, 0x31, 0x30, 0x36, 0x2E, 0x31 - }; - - public static Packet Dump_34 = new Packet(new PacketId(2, 1, 2, "Dump_34"), data_Dump_34); - - - public static byte[] data_Dump_35 = new byte[] /* 0.2.1 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 - }; - - public static Packet Dump_35 = new Packet(new PacketId(0, 2, 1, "Dump_35"), data_Dump_35); - - - public static byte[] data_Dump_36 = new byte[] /* 0.2.2 */ - { - 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x46, 0x31, 0x30, 0x38, 0x46, 0x30, - 0x46, 0x37, 0x42, 0x33, 0x30, 0x33, 0x34 - }; - - public static Packet Dump_36 = new Packet(new PacketId(0, 2, 2, "Dump_36"), data_Dump_36); - - public static byte[] game_dump_data_Dump_13 = new byte[] /* 2.0.2 */ { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x4F, 0xD8, 0x0, 0x20, 0x4F, 0xD8, @@ -4960,6 +479,5 @@ public static class LoginDump 0x28, 0x23, 0x58, 0xB7, 0x3E, 0x88, 0xF8, 0xD2, 0x28, 0x23, 0x58, 0xA7, 0x3E, 0x88, 0x20, 0xD3, 0x28, 0x23, 0x58, 0x67, 0x3E, 0x88, 0x1 }; - } } diff --git a/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs b/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs index 3ffbf3f3b..986c7f0d9 100644 --- a/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs +++ b/Arrowgene.Ddon.Rpc.Web/Route/ChatRoute.cs @@ -4,6 +4,7 @@ using Arrowgene.Logging; using Arrowgene.WebServer; using System.Text.Json; +using Arrowgene.Ddon.GameServer.Chat.Log; using static Arrowgene.Ddon.GameServer.Chat.ChatManager; namespace Arrowgene.Ddon.Rpc.Web.Route @@ -85,4 +86,4 @@ public override async Task Post(WebRequest request) } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs b/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs index 71cf12cc9..b43649b35 100644 --- a/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs +++ b/Arrowgene.Ddon.Rpc/Command/ChatCommand.cs @@ -1,8 +1,8 @@ using System; -using System.Linq; using System.Collections.Generic; +using System.Linq; using Arrowgene.Ddon.GameServer; -using static Arrowgene.Ddon.GameServer.Chat.ChatManager; +using Arrowgene.Ddon.GameServer.Chat.Log; namespace Arrowgene.Ddon.Rpc.Command { @@ -22,13 +22,13 @@ public ChatCommand(DateTime since) public IEnumerable ChatMessageLog { get; set; } - private DateTime _since; + private readonly DateTime _since; public RpcCommandResult Execute(DdonGameServer gameServer) { - ChatMessageLog = gameServer.ChatManager.ChatMessageLog + ChatMessageLog = gameServer.ChatLogHandler.ChatMessageLog .Where(entry => entry.DateTime >= _since); return new RpcCommandResult(this, true); } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs b/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs index 04a1b686b..2e98eab8a 100644 --- a/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs +++ b/Arrowgene.Ddon.Rpc/Command/ChatPostCommand.cs @@ -1,8 +1,5 @@ using Arrowgene.Ddon.GameServer; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; -using Arrowgene.Ddon.Shared.Network; -using static Arrowgene.Ddon.GameServer.Chat.ChatManager; +using Arrowgene.Ddon.GameServer.Chat.Log; namespace Arrowgene.Ddon.Rpc.Command { @@ -18,46 +15,19 @@ public ChatPostCommand(ChatMessageLogEntry entry) _entry = entry; } - private ChatMessageLogEntry _entry { get; set; } + private readonly ChatMessageLogEntry _entry; public RpcCommandResult Execute(DdonGameServer gameServer) { - gameServer.ChatManager.Handle(new MockClient(_entry), _entry.ChatMessage); + gameServer.ChatManager.SendMessage( + _entry.ChatMessage.Message, + _entry.FirstName, + _entry.LastName, + _entry.ChatMessage.Type, + gameServer.ClientLookup.GetAll() + ); return new RpcCommandResult(this, true); } - - private class MockClient : IPartyMember - { - public MockClient(ChatMessageLogEntry entry) - { - Character = new Character(); - Character.Id = entry.CharacterId; - Character.FirstName = entry.FirstName ?? DEFAULT_FIRST_NAME; - Character.LastName = entry.LastName ?? DEFAULT_LAST_NAME; - } - - public Character Character { get; set; } - public Party Party { get; set; } - - public CDataPartyMember AsCDataPartyMember() - { - throw new System.NotImplementedException(); - } - - public Packet AsContextPacket() - { - throw new System.NotImplementedException(); - } - - public void Send(Packet packet) - { - // Do nothing - } - - void IPartyMember.Send(TResStruct res) - { - // Do nothing - } - } + } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs index 8c4baf577..ef86b9d55 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs @@ -1,7 +1,5 @@ -using System; using System.Collections.Generic; using Arrowgene.Buffers; -using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.Shared.Entity.Structure { @@ -68,4 +66,4 @@ public override CDataPartyContextPawn Read(IBuffer buffer) } } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Model/IPartyMember.cs b/Arrowgene.Ddon.Shared/Model/IPartyMember.cs deleted file mode 100644 index 0e2fd0ea0..000000000 --- a/Arrowgene.Ddon.Shared/Model/IPartyMember.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Arrowgene.Ddon.Shared.Entity; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Network; - -namespace Arrowgene.Ddon.Shared.Model -{ - public interface IPartyMember - { - Character Character { get; set; } - Party Party { get; set; } - - CDataPartyMember AsCDataPartyMember(); - Packet AsContextPacket(); - - void Send(TResStruct res) where TResStruct : class, IPacketStructure, new(); - void Send(Packet packet); - } -} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Model/JobId.cs b/Arrowgene.Ddon.Shared/Model/JobId.cs index 24ef22a8d..c55316a69 100644 --- a/Arrowgene.Ddon.Shared/Model/JobId.cs +++ b/Arrowgene.Ddon.Shared/Model/JobId.cs @@ -14,4 +14,4 @@ public enum JobId : byte SpiritLancer = 10, HighScepter = 11, } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Model/JoinState.cs b/Arrowgene.Ddon.Shared/Model/JoinState.cs index c4274a91f..d750f72b0 100644 --- a/Arrowgene.Ddon.Shared/Model/JoinState.cs +++ b/Arrowgene.Ddon.Shared/Model/JoinState.cs @@ -6,4 +6,4 @@ public enum JoinState : byte Prepare = 1, On = 2 } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Model/OnlineStatus.cs b/Arrowgene.Ddon.Shared/Model/OnlineStatus.cs index c5d386cf5..e420d5697 100644 --- a/Arrowgene.Ddon.Shared/Model/OnlineStatus.cs +++ b/Arrowgene.Ddon.Shared/Model/OnlineStatus.cs @@ -17,4 +17,4 @@ public enum OnlineStatus : byte ServerMove = 0xC, Num = 0xD } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Model/Party.cs b/Arrowgene.Ddon.Shared/Model/Party.cs deleted file mode 100644 index bb159ee6a..000000000 --- a/Arrowgene.Ddon.Shared/Model/Party.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Collections.Generic; -using Arrowgene.Ddon.Shared.Entity; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Network; - -namespace Arrowgene.Ddon.Shared.Model -{ - public class Party - { - private static uint Instances = 0; - - public Party() - { - Id = ++Instances; // Incase 0 is a reserved ID - Members = new List(); - Contexts = new Dictionary>(); - } - - public uint Id { get; set; } - public List Members { get; set; } - public IPartyMember Leader { get; set; } - public IPartyMember Host { get; set; } - - public Dictionary> Contexts { get; set; } - - public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() - { - StructurePacket packet = new StructurePacket(res); - SendToAll(packet); - } - - public void SendToAll(Packet packet) - { - foreach(IPartyMember member in Members) { - member.Send(packet); - } - } - } -} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Model/Pawn.cs b/Arrowgene.Ddon.Shared/Model/Pawn.cs index 78bb9a781..1f49113ca 100644 --- a/Arrowgene.Ddon.Shared/Model/Pawn.cs +++ b/Arrowgene.Ddon.Shared/Model/Pawn.cs @@ -1,40 +1,37 @@ using System.Collections.Generic; -using Arrowgene.Ddon.Shared.Entity; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Model { - public class Pawn : IPartyMember + public class Pawn { - public Pawn() + public Pawn(uint ownerCharacterId) { + OwnerCharacterId = ownerCharacterId; Character = new Character(); OnlineStatus = OnlineStatus.None; - PendingInvitedParty = null; - Party = null; PawnReactionList = new List(); SpSkillList = new List(); } - - public IPartyMember Owner { get; set; } + + public uint OwnerCharacterId { get; set; } public Character Character { get; set; } public byte HmType { get; set; } public byte PawnType { get; set; } public OnlineStatus OnlineStatus { get; set; } - public Party PendingInvitedParty { get; set; } - public Party Party { get; set; } + public List PawnReactionList { get; set; } public List SpSkillList { get; set; } public CDataPartyMember AsCDataPartyMember() { CDataPartyMember partyMember = new CDataPartyMember(); - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = Owner.Character.Id; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = OwnerCharacterId; partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = Character.FirstName; partyMember.CharacterListElement.CurrentJobBaseInfo.Job = Character.Job; - partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte) Character.ActiveCharacterJobData.Lv; + partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte)Character.ActiveCharacterJobData.Lv; partyMember.MemberType = 2; partyMember.MemberIndex = Party.Members.IndexOf(this); partyMember.PawnId = Character.Id; @@ -42,7 +39,7 @@ public CDataPartyMember AsCDataPartyMember() partyMember.IsPawn = true; partyMember.IsPlayEntry = false; partyMember.JoinState = JoinState.On; - partyMember.AnyValueList = new byte[] {0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2}; // Taken from pcaps + partyMember.AnyValueList = new byte[] { 0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2 }; // Taken from pcaps partyMember.SessionStatus = 0; return partyMember; } @@ -51,18 +48,9 @@ public Packet AsContextPacket() { S2CContextGetPartyMypawnContextNtc mypawnContextNtc = new S2CContextGetPartyMypawnContextNtc(this); mypawnContextNtc.Context.Base.MemberIndex = Party.Members.IndexOf(this); - StructurePacket packet = new StructurePacket(mypawnContextNtc); + StructurePacket packet = + new StructurePacket(mypawnContextNtc); return packet; } - - public void Send(Packet packet) - { - // Do nothing - } - - void IPartyMember.Send(TResStruct res) - { - // Do nothing - } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/RollingList.cs b/Arrowgene.Ddon.Shared/RollingList.cs new file mode 100644 index 000000000..6b15db7e7 --- /dev/null +++ b/Arrowgene.Ddon.Shared/RollingList.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; + +namespace Arrowgene.Ddon.Shared; + +public class RollingList : IEnumerable +{ + private readonly LinkedList _list; + + public RollingList(int size) + { + _list = new LinkedList(); + MaximumCount = size; + } + + public int MaximumCount { get; } + public int Count => _list.Count; + + public void Add(T item) + { + if (_list.Count == MaximumCount) + { + _list.RemoveFirst(); + } + + _list.AddLast(item); + } + + public T this[int index] + { + get + { + if (index < 0 || index >= Count) + throw new ArgumentOutOfRangeException(); + + return _list.Skip(index).First(); + } + } + + public IEnumerator GetEnumerator() + { + return _list.GetEnumerator(); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return _list.GetEnumerator(); + } +} diff --git a/Arrowgene.Ddon.Shared/Util.cs b/Arrowgene.Ddon.Shared/Util.cs index de82a3e3f..26228b645 100644 --- a/Arrowgene.Ddon.Shared/Util.cs +++ b/Arrowgene.Ddon.Shared/Util.cs @@ -339,49 +339,5 @@ public static byte[] ReplaceBytes(byte[] src, byte[] search, byte[] repl) return dst; } - public class RollingList : IEnumerable - { - public RollingList(int size) - { - _list = new LinkedList(); - MaximumCount = size; - } - - private readonly LinkedList _list = new LinkedList(); - - public int MaximumCount { get; } - public int Count => _list.Count; - - public void Add(T item) - { - if(_list.Count == MaximumCount) - { - _list.RemoveFirst(); - } - - _list.AddLast(item); - } - - public T this[int index] - { - get - { - if (index < 0 || index >= Count) - throw new ArgumentOutOfRangeException(); - - return _list.Skip(index).First(); - } - } - - public IEnumerator GetEnumerator() - { - return _list.GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return _list.GetEnumerator(); - } - } } } From 23fc1b93de993805d04ff6069dfb74fbd7197923 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 26 Sep 2022 22:26:39 +0200 Subject: [PATCH 42/72] Ingame ability changing --- Arrowgene.Ddon.Database/IDatabase.cs | 2 +- .../Sql/Core/DdonSqlDbCharacter.cs | 4 +- .../Sql/Core/DdonSqlDbSetAcquirementParam.cs | 7 ++- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 2 + .../Handler/SkillChangeExSkillHandler.cs | 9 ++- .../Handler/SkillGetAbilityCostHandler.cs | 5 +- .../Handler/SkillGetSetAbilityListHandler.cs | 2 +- .../Handler/SkillSetAbilityHandler.cs | 62 +++++++++++++++++++ .../Handler/SkillSetOffAbilityHandler.cs | 38 ++++++++++++ .../Handler/SkillSetOffSkillHandler.cs | 2 +- .../Handler/SkillSetSkillHandler.cs | 11 +++- .../Handler/CreateCharacterHandler.cs | 60 +++++++++--------- .../Entity/EntitySerializer.cs | 5 ++ .../PacketStructure/C2SSkillSetAbilityReq.cs | 37 +++++++++++ .../C2SSkillSetOffAbilityReq.cs | 27 ++++++++ .../PacketStructure/S2CSkillAbilitySetNtc.cs | 35 +++++++++++ .../S2CSkillCustomSkillSetNtc.cs | 17 +++-- .../PacketStructure/S2CSkillSetAbilityRes.cs | 35 +++++++++++ .../S2CSkillSetOffAbilityRes.cs | 29 +++++++++ .../Structure/CDataSetAcquirementParam.cs | 2 +- Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv | 24 +++---- 21 files changed, 348 insertions(+), 67 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/SkillSetOffAbilityHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetAbilityReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetOffAbilityReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillAbilitySetNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetAbilityRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetOffAbilityRes.cs diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 4a23412c6..3ef54ee69 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -33,7 +33,7 @@ public interface IDatabase // Acquirements public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam); - public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte slotNo); + public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte type, byte slotNo); // GameToken bool SetToken(GameToken token); diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index f7b44fb81..7ec84b7e7 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -281,7 +281,7 @@ private void QueryCharacterData(TCon conn, Character character) }); // Custom Skills - ExecuteReader(conn, SqlSelectCustomSkillsSetAcquirementParam, + ExecuteReader(conn, SqlSelectCustomSkills, command => { AddParameter(command, "@character_id", character.Id); }, reader => { @@ -292,7 +292,7 @@ private void QueryCharacterData(TCon conn, Character character) }); // Abilities - ExecuteReader(conn, SqlSelectAbilitiesSetAcquirementParam, + ExecuteReader(conn, SqlSelectAbilities, command => { AddParameter(command, "@character_id", character.Id); }, reader => { diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs index 2fa28e208..f2735b1cf 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs @@ -16,8 +16,8 @@ public abstract partial class DdonSqlDb : SqlDb private readonly string SqlInsertSetAcquirementParam = $"INSERT INTO `ddon_set_acquirement_param` ({BuildQueryField(CDataSetAcquirementParamFields)}) VALUES ({BuildQueryInsert(CDataSetAcquirementParamFields)});"; private readonly string SqlReplaceSetAcquirementParam = $"INSERT OR REPLACE INTO `ddon_set_acquirement_param` ({BuildQueryField(CDataSetAcquirementParamFields)}) VALUES ({BuildQueryInsert(CDataSetAcquirementParamFields)});"; private static readonly string SqlUpdateSetAcquirementParam = $"UPDATE `ddon_set_acquirement_param` SET {BuildQueryUpdate(CDataSetAcquirementParamFields)} WHERE `character_id`=@character_id AND `job`=@job AND `type`=@type AND `slot_no`=@slot_no;"; - private static readonly string SqlSelectCustomSkillsSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `type` = 0"; - private static readonly string SqlSelectAbilitiesSetAcquirementParam = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id` = @character_id AND `type` = 1;"; + private static readonly string SqlSelectCustomSkills = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `type`=0;"; + private static readonly string SqlSelectAbilities = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `type`<>0;"; private const string SqlDeleteSetAcquirementParam = "DELETE FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `job`=@job AND `type`=@type AND `slot_no`=@slot_no;"; public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam) @@ -29,12 +29,13 @@ public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementPara return true; } - public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte slotNo) + public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte type, byte slotNo) { return ExecuteNonQuery(SqlDeleteSetAcquirementParam, command => { AddParameter(command, "@character_id", characterId); AddParameter(command, "@job", (byte) job); + AddParameter(command, "@type", type); AddParameter(command, "@slot_no", slotNo); }) == 1; } diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index b4025e46e..daafcb3ef 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -314,6 +314,8 @@ private void LoadPacketHandler() AddHandler(new SkillGetPresetAbilityListHandler(this)); AddHandler(new SkillGetSetAbilityListHandler(this)); AddHandler(new SkillGetSetSkillListHandler(this)); + AddHandler(new SkillSetAbilityHandler(this)); + AddHandler(new SkillSetOffAbilityHandler(this)); AddHandler(new SkillSetOffSkillHandler(this)); AddHandler(new SkillSetSkillHandler(this)); AddHandler(new SetShortcutHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs index 7b13066fe..ef6ce3d53 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs @@ -36,9 +36,12 @@ public override void Handle(GameClient client, StructurePacket packet) { - client.Send(new S2CSkillGetAbilityCostRes()); + client.Send(new S2CSkillGetAbilityCostRes() + { + CostMax = 100 + }); } } } \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs index f917663c7..3614ae1b5 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs @@ -19,7 +19,7 @@ public override void Handle(GameClient client, StructurePacket x.Job == client.Character.Job) + .Where(ability => ability.Type == (byte) client.Character.Job) .ToList() }); } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs new file mode 100644 index 000000000..5a544b0b0 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs @@ -0,0 +1,62 @@ +using System.Linq; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class SkillSetAbilityHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(SkillSetAbilityHandler)); + + public SkillSetAbilityHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + // TODO: Check in DB if the skill is unlocked and it's leveled up to what the packet says + + CDataSetAcquirementParam abilitySlot = client.Character.Abilities + .Where(skill => skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo) + .FirstOrDefault(); + + if(abilitySlot == null) + { + abilitySlot = new CDataSetAcquirementParam() + { + Job = packet.Structure.Job, + SlotNo = packet.Structure.SlotNo, + Type = (byte) client.Character.Job + }; + client.Character.Abilities.Add(abilitySlot); + } + + abilitySlot.AcquirementNo = packet.Structure.SkillId; + abilitySlot.AcquirementLv = packet.Structure.SkillLv; + + Database.ReplaceSetAcquirementParam(client.Character.Id, abilitySlot); + + client.Send(new S2CSkillSetAbilityRes() { + SlotNo = abilitySlot.SlotNo, + AbilityId = abilitySlot.AcquirementNo, + AbilityLv = abilitySlot.AcquirementLv + }); + + // Inform party members of the change + client.Party.SendToAll(new S2CSkillAbilitySetNtc() + { + CharacterId = client.Character.Id, + ContextAcquirementData = new CDataContextAcquirementData() + { + SlotNo = abilitySlot.SlotNo, + AcquirementNo = abilitySlot.AcquirementNo, + AcquirementLv = abilitySlot.AcquirementLv + } + }); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffAbilityHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffAbilityHandler.cs new file mode 100644 index 000000000..06f6bd06f --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffAbilityHandler.cs @@ -0,0 +1,38 @@ +using System.Xml.Linq; +using System.Linq; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class SkillSetOffAbilityHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(SkillSetOffAbilityHandler)); + + public SkillSetOffAbilityHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + CDataSetAcquirementParam ability = client.Character.Abilities + .Where(skill => skill.Type == (byte) client.Character.Job && skill.SlotNo == packet.Structure.SlotNo) + .Single(); + + client.Character.Abilities.Remove(ability); + + // TODO: Error handling + Database.DeleteSetAcquirementParam(client.Character.Id, ability.Job, (byte) client.Character.Job, packet.Structure.SlotNo); + + client.Send(new S2CSkillSetOffAbilityRes() { + SlotNo = packet.Structure.SlotNo + }); + + // Same as skills, i haven't found an Ability off NTC. It may not be required + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs index 80729e78b..d5322e8bb 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs @@ -19,7 +19,7 @@ public override void Handle(GameClient client, StructurePacket skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo); // TODO: Error handling - Database.DeleteSetAcquirementParam(client.Character.Id, packet.Structure.Job, packet.Structure.SlotNo); + Database.DeleteSetAcquirementParam(client.Character.Id, packet.Structure.Job, 0, packet.Structure.SlotNo); client.Send(new S2CSkillSetOffSkillRes() { Job = packet.Structure.Job, diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs index 42164bf36..9fe96e05b 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs @@ -18,6 +18,8 @@ public SkillSetSkillHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { + // TODO: Check in DB if the skill is unlocked and it's leveled up to what the packet says + CDataSetAcquirementParam skillSlot = client.Character.CustomSkills .Where(skill => skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo) .FirstOrDefault(); @@ -50,9 +52,12 @@ public override void Handle(GameClient client, StructurePacket new List() { new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 1, + Job = arisenPreset.Ab1Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 0, AcquirementNo = arisenPreset.Ab1Id, AcquirementLv = arisenPreset.Ab1Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 2, + Job = arisenPreset.Ab2Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 1, AcquirementNo = arisenPreset.Ab2Id, AcquirementLv = arisenPreset.Ab2Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 3, + Job = arisenPreset.Ab3Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 2, AcquirementNo = arisenPreset.Ab3Id, AcquirementLv = arisenPreset.Ab3Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 4, + Job = arisenPreset.Ab4Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 3, AcquirementNo = arisenPreset.Ab4Id, AcquirementLv = arisenPreset.Ab4Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 5, + Job = arisenPreset.Ab5Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 4, AcquirementNo = arisenPreset.Ab5Id, AcquirementLv = arisenPreset.Ab5Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 6, + Job = arisenPreset.Ab6Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 5, AcquirementNo = arisenPreset.Ab6Id, AcquirementLv = arisenPreset.Ab6Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 7, + Job = arisenPreset.Ab7Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 6, AcquirementNo = arisenPreset.Ab7Id, AcquirementLv = arisenPreset.Ab7Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 8, + Job = arisenPreset.Ab8Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 7, AcquirementNo = arisenPreset.Ab8Id, AcquirementLv = arisenPreset.Ab8Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 9, + Job = arisenPreset.Ab9Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 8, AcquirementNo = arisenPreset.Ab9Id, AcquirementLv = arisenPreset.Ab9Lv }, new CDataSetAcquirementParam() { - Job = arisenPreset.Job, - Type = 1, - SlotNo = 10, + Job = arisenPreset.Ab10Jb, + Type = (byte) arisenPreset.Job, + SlotNo = 9, AcquirementNo = arisenPreset.Ab10Id, AcquirementLv = arisenPreset.Ab10Lv } diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index f0c24ffab..cfbcacc28 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -218,6 +218,7 @@ static EntitySerializer() Create(new C2SQuestSendLeaderWaitOrderQuestListReq.Serializer()); Create(new C2SServerGameTimeGetBaseInfoReq.Serializer()); Create(new C2SServerGetRealTimeReq.Serializer()); + Create(new S2CSkillAbilitySetNtc.Serializer()); Create(new C2SSkillChangeExSkillReq.Serializer()); Create(new C2SSkillGetAbilityCostReq.Serializer()); Create(new C2SSkillGetAcquirableAbilityListReq.Serializer()); @@ -228,6 +229,8 @@ static EntitySerializer() Create(new C2SSkillGetPresetAbilityListReq.Serializer()); Create(new C2SSkillGetSetAbilityListReq.Serializer()); Create(new C2SSkillGetSetSkillListReq.Serializer()); + Create(new C2SSkillSetAbilityReq.Serializer()); + Create(new C2SSkillSetOffAbilityReq.Serializer()); Create(new C2SSkillSetOffSkillReq.Serializer()); Create(new C2SSkillSetSkillReq.Serializer()); Create(new C2SSetShortcutReq.Serializer()); @@ -370,6 +373,8 @@ static EntitySerializer() Create(new S2CSkillGetPresetAbilityListRes.Serializer()); Create(new S2CSkillGetSetAbilityListRes.Serializer()); Create(new S2CSkillGetSetSkillListRes.Serializer()); + Create(new S2CSkillSetAbilityRes.Serializer()); + Create(new S2CSkillSetOffAbilityRes.Serializer()); Create(new S2CSkillSetOffSkillRes.Serializer()); Create(new S2CSkillSetSkillRes.Serializer()); Create(new S2CSetCommunicationShortcutRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetAbilityReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetAbilityReq.cs new file mode 100644 index 000000000..2ac2777cf --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetAbilityReq.cs @@ -0,0 +1,37 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SSkillSetAbilityReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_SKILL_SET_ABILITY_REQ; + + public JobId Job { get; set; } + public byte SlotNo { get; set; } + public uint SkillId { get; set; } + public byte SkillLv { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SSkillSetAbilityReq obj) + { + WriteByte(buffer, (byte) obj.Job); + WriteByte(buffer, obj.SlotNo); + WriteUInt32(buffer, obj.SkillId); + WriteByte(buffer, obj.SkillLv); + } + + public override C2SSkillSetAbilityReq Read(IBuffer buffer) + { + C2SSkillSetAbilityReq obj = new C2SSkillSetAbilityReq(); + obj.Job = (JobId) ReadByte(buffer); + obj.SlotNo = ReadByte(buffer); + obj.SkillId = ReadUInt32(buffer); + obj.SkillLv = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetOffAbilityReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetOffAbilityReq.cs new file mode 100644 index 000000000..889febeda --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSkillSetOffAbilityReq.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SSkillSetOffAbilityReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_SKILL_SET_OFF_ABILITY_REQ; + + public byte SlotNo { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SSkillSetOffAbilityReq obj) + { + WriteByte(buffer, obj.SlotNo); + } + + public override C2SSkillSetOffAbilityReq Read(IBuffer buffer) + { + C2SSkillSetOffAbilityReq obj = new C2SSkillSetOffAbilityReq(); + obj.SlotNo = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillAbilitySetNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillAbilitySetNtc.cs new file mode 100644 index 000000000..6b6607e59 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillAbilitySetNtc.cs @@ -0,0 +1,35 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CSkillAbilitySetNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_SKILL_19_46_16_NTC; + + public uint CharacterId { get; set; } + public CDataContextAcquirementData ContextAcquirementData { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CSkillAbilitySetNtc obj) + { + WriteUInt32(buffer, obj.CharacterId); + WriteByte(buffer, obj.ContextAcquirementData.SlotNo); + WriteUInt32(buffer, obj.ContextAcquirementData.AcquirementNo); + WriteByte(buffer, obj.ContextAcquirementData.AcquirementLv); + } + + public override S2CSkillAbilitySetNtc Read(IBuffer buffer) + { + S2CSkillAbilitySetNtc obj = new S2CSkillAbilitySetNtc(); + obj.CharacterId = ReadUInt32(buffer); + obj.ContextAcquirementData.SlotNo = ReadByte(buffer); + obj.ContextAcquirementData.AcquirementNo = ReadUInt32(buffer); + obj.ContextAcquirementData.AcquirementLv = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillCustomSkillSetNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillCustomSkillSetNtc.cs index e4840b780..42bf387c3 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillCustomSkillSetNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillCustomSkillSetNtc.cs @@ -1,4 +1,5 @@ using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Entity.PacketStructure @@ -8,27 +9,25 @@ public class S2CSkillCustomSkillSetNtc : IPacketStructure public PacketId Id => PacketId.S2C_SKILL_CUSTOM_SKILL_SET_NTC; public uint CharacterId { get; set; } - public byte SlotNo { get; set; } - public uint AcquirementNo { get; set; } - public byte AcquirementLv { get; set; } + public CDataContextAcquirementData ContextAcquirementData { get; set; } public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, S2CSkillCustomSkillSetNtc obj) { WriteUInt32(buffer, obj.CharacterId); - WriteByte(buffer, obj.SlotNo); - WriteUInt32(buffer, obj.AcquirementNo); - WriteByte(buffer, obj.AcquirementLv); + WriteByte(buffer, obj.ContextAcquirementData.SlotNo); + WriteUInt32(buffer, obj.ContextAcquirementData.AcquirementNo); + WriteByte(buffer, obj.ContextAcquirementData.AcquirementLv); } public override S2CSkillCustomSkillSetNtc Read(IBuffer buffer) { S2CSkillCustomSkillSetNtc obj = new S2CSkillCustomSkillSetNtc(); obj.CharacterId = ReadUInt32(buffer); - obj.SlotNo = ReadByte(buffer); - obj.AcquirementNo = ReadUInt32(buffer); - obj.AcquirementLv = ReadByte(buffer); + obj.ContextAcquirementData.SlotNo = ReadByte(buffer); + obj.ContextAcquirementData.AcquirementNo = ReadUInt32(buffer); + obj.ContextAcquirementData.AcquirementLv = ReadByte(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetAbilityRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetAbilityRes.cs new file mode 100644 index 000000000..4ea3b0824 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetAbilityRes.cs @@ -0,0 +1,35 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CSkillSetAbilityRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_SKILL_SET_ABILITY_RES; + + public byte SlotNo { get; set; } + public uint AbilityId { get; set; } + public byte AbilityLv { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CSkillSetAbilityRes obj) + { + WriteServerResponse(buffer, obj); + WriteByte(buffer, obj.SlotNo); + WriteUInt32(buffer, obj.AbilityId); + WriteByte(buffer, obj.AbilityLv); + } + + public override S2CSkillSetAbilityRes Read(IBuffer buffer) + { + S2CSkillSetAbilityRes obj = new S2CSkillSetAbilityRes(); + ReadServerResponse(buffer, obj); + obj.SlotNo = ReadByte(buffer); + obj.AbilityId = ReadUInt32(buffer); + obj.AbilityLv = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetOffAbilityRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetOffAbilityRes.cs new file mode 100644 index 000000000..a2bf655d5 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSkillSetOffAbilityRes.cs @@ -0,0 +1,29 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CSkillSetOffAbilityRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_SKILL_SET_OFF_ABILITY_RES; + + public byte SlotNo; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CSkillSetOffAbilityRes obj) + { + WriteServerResponse(buffer, obj); + WriteByte(buffer, obj.SlotNo); + } + + public override S2CSkillSetOffAbilityRes Read(IBuffer buffer) + { + S2CSkillSetOffAbilityRes obj = new S2CSkillSetOffAbilityRes(); + ReadServerResponse(buffer, obj); + obj.SlotNo = ReadByte(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs index b7f4845da..4fdbe25a8 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs @@ -15,7 +15,7 @@ public CDataSetAcquirementParam() } public JobId Job { get; set; } - public byte Type { get; set; } + public byte Type { get; set; } // We're abusing this field for abilities to store the job the ability is equipped to public byte SlotNo { get; set; } public uint AcquirementNo { get; set; } public byte AcquirementLv { get; set; } diff --git a/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv b/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv index 797e8f66a..b13e99977 100644 --- a/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv +++ b/Arrowgene.Ddon.Shared/Files/Assets/Arisen.csv @@ -1,12 +1,12 @@ -#Class,Lv,HP,Stamina,RevivePoint,MaxHP,MaxStamina,WhiteHP,GainHP,GainStamina,GainAttack,GainDefense,GainMagicAttack,GainMagicDefense,CustomSkill-1(MainPalette),CS1MP-Lv,CustomSkill-2(MP),CS2MP-Lv,CustomSkill-3(MP),CS3MP-Lv,CustomSkill-4(MP),CS4MP-Lv,CustomSkill-1(SubPalette),CS1SP-Lv,CustomSkill-2(SP),CS2SP-Lv,CustomSkill-3(SP),CS3SP-Lv,CustomSkill-4(SP),CS4SP-Lv,*,Ability-1,Ab1Lv,*,Ability-2,Ab2Lv,*,Ability-3,Ab3Lv,*,Ability-4,Ab4Lv,*,Ability-5,Ab5Lv,*,Ability-6,Ab6Lv,*,Ability-7,Ab7Lv,*,Ability-8,Ab8Lv,*,Ability-9,Ab9Lv,*,Ability-10,Ab10Lv,PAtk,PDef,MAtk,MDef,PrimaryWeapon,PrimaryWeaponColour,PWCrest1,PWC1Add1,PWC1Add2,PWCrest2,PWC2Add1,PWC2Add2,PWCrest3,PWC3Add1,PWC3Add2,PWCrest4,PWC4Add1,PWC4Add2,SecondaryWeapon,SecondaryWeaponColour,Head,HeadColour,HeadCrest1,HC1Add1,HC1Add2,HeadCrest2,HC2Add1,HC2Add2,HeadCrest3,HC3Add1,HC3Add2,Body,BodyColour,BodyCrest1,BC1Add1,BC1Add2,BodyCrest2,BC2Add1,BC2Add2,BodyCrest3,BC3Add1,BC3Add2,BodyCrest4,BC4Add1,BC4Add2,Clothing,ClothingColour,Arm,ArmColour,ArmCrest1,AC1Add1,AC1Add2,ArmCrest2,AC2Add1,AC2Add2,ArmCrest3,AC3Add1,AC3Add2,Leg,LegColour,LegCrest1,LC1Add1,LC1Add2,LegCrest2,LC2Add1,LC2Add2,LegCrest3,LC3Add1,LC3Add2,Legwear,LegwearColour,Overwear,OverwearColour,Lantern,HideHelmet,HideLantern,VPrimaryWeapon,VPrimaryWeaponColour,VSecondaryWeapon,VSecondaryWeaponColour,VHead,VHeadColour,VBody,VBodyColour,VClothing,VClothingColour,VArm,VArmColour,VLeg,VLegColour,VLegwear,VLegwearColour,VOverwear,VOverwearColour,ClassItem1,ClassItem2,Jewelry1,J1Crest1,J1C1Add1,J1C1Add2,J1Crest2,J1C2Add1,J1C2Add2,J1Crest3,J1C3Add1,J1C3Add2,J1Crest4,J1C4Add1,J1C4Add2,Jewelry2,J2Crest1,J2C1Add1,J2C1Add2,J2Crest2,J2C2Add1,J2C2Add2,J2Crest3,J2C3Add1,J2C3Add2,J2Crest4,J2C4Add1,J2C4Add2,Jewelry3,J3Crest1,J3C1Add1,J3C1Add2,J3Crest2,J3C2Add1,J3C2Add2,J3Crest3,J3C3Add1,J3C3Add2,J3Crest4,J3C4Add1,J3C4Add2,Jewelry4,J4Crest1,J4C1Add1,J4C1Add2,J4Crest2,J4C2Add1,J4C2Add2,J4Crest3,J4C3Add1,J4C3Add2,J4Crest4,J4C4Add1,J4C4Add2,Jewelry5,J5Crest1,J5C1Add1,J5C1Add2,J5Crest2,J5C2Add1,J5C2Add2,J5Crest3,J5C3Add1,J5C3Add2,J5Crest4,J5C4Add1,J5C4Add2,Exp,JobPoint,Strength,DownPower,ShakePower,StunPower,Consitution,Guts,FireResist,IceResist,ThunderResist,HolyResist,DarkResist,SpreadResist,FreezeResist,ShockResist,AbsorbResist,DarkElmResist,PoisonResist,SlowResist,SleepResist,StunResist,WetResist,OilResist,SealResist,CurseResist,SoftResist,StoneResist,GoldResist,FireReduceResist,IceReduceResist,ThunderReduceResist,HolyReduceResist,DarkReduceResist,AtkDownResist,DefDownResist,MAtkDownResist,MDefDownResist,NormalSkill1A,NormalSkill1B,NormalSkill2A,NormalSkill2B,NormalSkill3A,NormalSkill3B -1,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,6,6,0,5,6,500,500,500,500,20116,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20135,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19149,5,14040,5,21294,8,4223,0,24620,5,12808,0,15404,5,509,0,8783,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -2,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,113,6,0,117,6,0,103,6,500,500,500,500,20232,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20232,5,0,0,12651,5,12771,5,8533,5,12908,5,13028,5,8713,0,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -3,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,38,6,0,31,6,500,500,500,500,20256,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14557,0,0,0,14983,0,15143,0,24620,5,15354,0,15514,0,509,0,15609,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -4,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,54,6,0,165,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,12436,0,0,0,12576,0,12696,0,24620,5,12833,0,12953,0,509,0,13168,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -5,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,6,6,0,5,6,500,500,500,500,20186,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,20210,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19162,5,19842,5,14877,5,14993,5,24620,5,15203,5,15364,5,509,8,15589,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -6,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,129,6,0,128,6,500,500,500,500,20328,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14732,0,0,0,11749,0,15058,0,24620,0,15283,0,15444,5,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -7,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,178,6,0,391,6,500,500,500,500,20162,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14367,0,0,0,14867,0,15038,0,24620,0,15248,0,15409,0,509,0,15609,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -8,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,135,6,0,136,6,0,328,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,379,6,0,165,6,500,500,500,500,20304,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19182,0,0,0,21294,0,17656,0,21352,5,17716,0,17776,0,21071,8,17851,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -9,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,201,6,0,204,6,0,221,6,500,500,500,500,20275,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,19178,3,0,0,11749,0,12726,0,24620,0,12863,0,12983,0,509,0,13168,0,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -10,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,406,6,0,440,6,500,500,500,500,20388,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,14832,0,0,0,21294,8,20519,0,18449,0,20534,0,20549,0,18464,0,8818,8,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 -11,100,4507,450,3,760,450,4589,2575,940,59,58,65,57,1,10,2,10,3,10,4,10,5,10,6,10,7,10,1,10,0,7,6,0,8,6,0,352,6,0,361,6,0,40,6,0,483,6,0,162,6,0,215,6,0,208,6,0,165,6,500,500,500,500,20412,0,16043,0,0,16043,0,0,16043,0,0,16043,0,0,0,0,20448,0,9286,0,0,9286,0,0,9286,0,0,20459,0,16079,0,0,16079,0,0,16079,0,0,16079,0,0,21056,8,20474,0,16071,0,0,16076,0,0,16066,0,0,20493,0,13678,0,0,13678,0,0,16066,0,0,21071,8,21086,0,24699,FALSE,FALSE,20407,5,0,0,11749,0,477,5,24620,0,5163,0,481,8,509,8,8818,5,0,0,21651,21974,0,0,21940,0,0,23001,0,0,19376,0,0,21651,16409,0,0,16416,0,0,21976,0,0,19379,0,0,21651,16414,0,0,21820,0,0,21820,0,0,21855,0,0,21651,21959,0,0,21906,0,0,21906,0,0,21906,0,0,21651,21959,0,0,21876,0,0,21876,0,0,21876,0,0,6666,6666,340,130,70,30,24,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0 \ No newline at end of file +#Class ,Lv ,HP ,Stamina ,RevivePoint ,MaxHP ,MaxStamina ,WhiteHP ,GainHP ,GainStamina ,GainAttack ,GainDefense ,GainMagicAttack ,GainMagicDefense ,CustomSkill-1(MainPalette) ,CS1MP-Lv ,CustomSkill-2(MP) ,CS2MP-Lv ,CustomSkill-3(MP) ,CS3MP-Lv ,CustomSkill-4(MP) ,CS4MP-Lv ,CustomSkill-1(SubPalette) ,CS1SP-Lv ,CustomSkill-2(SP) ,CS2SP-Lv ,CustomSkill-3(SP) ,CS3SP-Lv ,CustomSkill-4(SP) ,CS4SP-Lv ,Ab1Jb ,Ability-1 ,Ab1Lv ,Ab2Jb ,Ability-2 ,Ab2Lv ,Ab3Jb ,Ability-3 ,Ab3Lv ,Ab4Jb ,Ability-4 ,Ab4Lv ,Ab5Jb ,Ability-5 ,Ab5Lv ,Ab6Jb ,Ability-6 ,Ab6Lv ,Ab7Jb ,Ability-7 ,Ab7Lv ,Ab8Jb ,Ability-8 ,Ab8Lv ,Ab9Jb ,Ability-9 ,Ab9Lv ,Ab10Jb ,Ability-10 ,Ab10Lv ,PAtk ,PDef ,MAtk ,MDef ,PrimaryWeapon ,PrimaryWeaponColour ,PWCrest1 ,PWC1Add1 ,PWC1Add2 ,PWCrest2 ,PWC2Add1 ,PWC2Add2 ,PWCrest3 ,PWC3Add1 ,PWC3Add2 ,PWCrest4 ,PWC4Add1 ,PWC4Add2 ,SecondaryWeapon ,SecondaryWeaponColour ,Head ,HeadColour ,HeadCrest1 ,HC1Add1 ,HC1Add2 ,HeadCrest2 ,HC2Add1 ,HC2Add2 ,HeadCrest3 ,HC3Add1 ,HC3Add2 ,Body ,BodyColour ,BodyCrest1 ,BC1Add1 ,BC1Add2 ,BodyCrest2 ,BC2Add1 ,BC2Add2 ,BodyCrest3 ,BC3Add1 ,BC3Add2 ,BodyCrest4 ,BC4Add1 ,BC4Add2 ,Clothing ,ClothingColour ,Arm ,ArmColour ,ArmCrest1 ,AC1Add1 ,AC1Add2 ,ArmCrest2 ,AC2Add1 ,AC2Add2 ,ArmCrest3 ,AC3Add1 ,AC3Add2 ,Leg ,LegColour ,LegCrest1 ,LC1Add1 ,LC1Add2 ,LegCrest2 ,LC2Add1 ,LC2Add2 ,LegCrest3 ,LC3Add1 ,LC3Add2 ,Legwear ,LegwearColour ,Overwear ,OverwearColour ,Lantern ,HideHelmet ,HideLantern ,VPrimaryWeapon ,VPrimaryWeaponColour ,VSecondaryWeapon ,VSecondaryWeaponColour ,VHead ,VHeadColour ,VBody ,VBodyColour ,VClothing ,VClothingColour ,VArm ,VArmColour ,VLeg ,VLegColour ,VLegwear ,VLegwearColour ,VOverwear ,VOverwearColour ,ClassItem1 ,ClassItem2 ,Jewelry1 ,J1Crest1 ,J1C1Add1 ,J1C1Add2 ,J1Crest2 ,J1C2Add1 ,J1C2Add2 ,J1Crest3 ,J1C3Add1 ,J1C3Add2 ,J1Crest4 ,J1C4Add1 ,J1C4Add2 ,Jewelry2 ,J2Crest1 ,J2C1Add1 ,J2C1Add2 ,J2Crest2 ,J2C2Add1 ,J2C2Add2 ,J2Crest3 ,J2C3Add1 ,J2C3Add2 ,J2Crest4 ,J2C4Add1 ,J2C4Add2 ,Jewelry3 ,J3Crest1 ,J3C1Add1 ,J3C1Add2 ,J3Crest2 ,J3C2Add1 ,J3C2Add2 ,J3Crest3 ,J3C3Add1 ,J3C3Add2 ,J3Crest4 ,J3C4Add1 ,J3C4Add2 ,Jewelry4 ,J4Crest1 ,J4C1Add1 ,J4C1Add2 ,J4Crest2 ,J4C2Add1 ,J4C2Add2 ,J4Crest3 ,J4C3Add1 ,J4C3Add2 ,J4Crest4 ,J4C4Add1 ,J4C4Add2 ,Jewelry5 ,J5Crest1 ,J5C1Add1 ,J5C1Add2 ,J5Crest2 ,J5C2Add1 ,J5C2Add2 ,J5Crest3 ,J5C3Add1 ,J5C3Add2 ,J5Crest4 ,J5C4Add1 ,J5C4Add2 ,Exp ,JobPoint ,Strength ,DownPower ,ShakePower ,StunPower ,Consitution ,Guts ,FireResist ,IceResist ,ThunderResist ,HolyResist ,DarkResist ,SpreadResist ,FreezeResist ,ShockResist ,AbsorbResist ,DarkElmResist ,PoisonResist ,SlowResist ,SleepResist ,StunResist ,WetResist ,OilResist ,SealResist ,CurseResist ,SoftResist ,StoneResist ,GoldResist ,FireReduceResist ,IceReduceResist ,ThunderReduceResist ,HolyReduceResist ,DarkReduceResist ,AtkDownResist ,DefDownResist ,MAtkDownResist ,MDefDownResist ,NormalSkill1A ,NormalSkill1B ,NormalSkill2A ,NormalSkill2B ,NormalSkill3A ,NormalSkill3B + 1 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 1 , 6 , 6 , 1 , 5 , 6 , 500 , 500 , 500 , 500 , 20116 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 20135 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 19149 , 5 , 14040 , 5 ,21294 , 8 , 4223 , 0 , 24620 , 5 ,12808 , 0 ,15404 , 5 , 509 , 0 , 8783 , 5 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 2 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 2 , 113 , 6 , 2 , 117 , 6 , 2 , 103 , 6 , 500 , 500 , 500 , 500 , 20232 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 20232 , 5 , 0 , 0 ,12651 , 5 ,12771 , 5 , 8533 , 5 ,12908 , 5 ,13028 , 5 , 8713 , 0 , 8818 , 5 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 3 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 3 , 38 , 6 , 3 , 31 , 6 , 500 , 500 , 500 , 500 , 20256 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 14557 , 0 , 0 , 0 ,14983 , 0 ,15143 , 0 , 24620 , 5 ,15354 , 0 ,15514 , 0 , 509 , 0 , 15609 , 5 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 4 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 6 , 135 , 6 , 6 , 136 , 6 , 4 , 328 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 4 , 54 , 6 , 8 , 165 , 6 , 500 , 500 , 500 , 500 , 20328 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 12436 , 0 , 0 , 0 ,12576 , 0 ,12696 , 0 , 24620 , 5 ,12833 , 0 ,12953 , 0 , 509 , 0 , 13168 , 0 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 5 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 6 , 135 , 6 , 6 , 136 , 6 , 4 , 328 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 1 , 6 , 6 , 1 , 5 , 6 , 500 , 500 , 500 , 500 , 20186 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 20210 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 19162 , 5 , 19842 , 5 ,14877 , 5 ,14993 , 5 , 24620 , 5 ,15203 , 5 ,15364 , 5 , 509 , 8 , 15589 , 5 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 6 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 6 , 135 , 6 , 6 , 136 , 6 , 4 , 328 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 6 , 129 , 6 , 6 , 128 , 6 , 500 , 500 , 500 , 500 , 20328 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 14732 , 0 , 0 , 0 ,11749 , 0 ,15058 , 0 , 24620 , 0 ,15283 , 0 ,15444 , 5 , 509 , 0 , 15609 , 0 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 7 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 7 , 178 , 6 , 7 , 391 , 6 , 500 , 500 , 500 , 500 , 20162 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 14367 , 0 , 0 , 0 ,14867 , 0 ,15038 , 0 , 24620 , 0 ,15248 , 0 ,15409 , 0 , 509 , 0 , 15609 , 0 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 8 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 6 , 135 , 6 , 6 , 136 , 6 , 4 , 328 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 8 , 379 , 6 , 8 , 165 , 6 , 500 , 500 , 500 , 500 , 20304 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 19182 , 0 , 0 , 0 ,21294 , 0 ,17656 , 0 , 21352 , 5 ,17716 , 0 ,17776 , 0 , 21071 , 8 , 17851 , 0 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 9 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 201 , 6 , 9 , 204 , 6 , 9 , 221 , 6 , 500 , 500 , 500 , 500 , 20275 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 19178 , 3 , 0 , 0 ,11749 , 0 ,12726 , 0 , 24620 , 0 ,12863 , 0 ,12983 , 0 , 509 , 0 , 13168 , 0 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 10 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 10 , 406 , 6 , 10 , 440 , 6 , 500 , 500 , 500 , 500 , 20388 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 14832 , 0 , 0 , 0 ,21294 , 8 ,20519 , 0 , 18449 , 0 ,20534 , 0 ,20549 , 0 , 18464 , 0 , 8818 , 8 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 + 11 ,100 ,4507 , 450 , 3 , 760 , 450 , 4589 , 2575 , 940 , 59 , 58 , 65 , 57 , 1 , 10 , 2 , 10 , 3 , 10 , 4 , 10 , 5 , 10 , 6 , 10 , 7 , 10 , 1 , 10 , 1 , 7 , 6 , 1 , 8 , 6 , 2 , 352 , 6 , 6 , 361 , 6 , 3 , 40 , 6 , 11 , 483 , 6 , 8 , 162 , 6 , 9 , 215 , 6 , 9 , 208 , 6 , 8 , 165 , 6 , 500 , 500 , 500 , 500 , 20412 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 16043 , 0 , 0 , 0 , 0 ,20448 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 , 9286 , 0 , 0 ,20459 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 16079 , 0 , 0 , 21056 , 8 ,20474 , 0 , 16071 , 0 , 0 , 16076 , 0 , 0 , 16066 , 0 , 0 ,20493 , 0 , 13678 , 0 , 0 , 13678 , 0 , 0 , 16066 , 0 , 0 , 21071 , 8 , 21086 , 0 , 24699 ,FALSE ,FALSE , 20407 , 5 , 0 , 0 ,11749 , 0 , 477 , 5 , 24620 , 0 , 5163 , 0 , 481 , 8 , 509 , 8 , 8818 , 5 , 0 , 0 , 21651 , 21974 , 0 , 0 , 21940 , 0 , 0 , 23001 , 0 , 0 , 19376 , 0 , 0 , 21651 , 16409 , 0 , 0 , 16416 , 0 , 0 , 21976 , 0 , 0 , 19379 , 0 , 0 , 21651 , 16414 , 0 , 0 , 21820 , 0 , 0 , 21820 , 0 , 0 , 21855 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21906 , 0 , 0 , 21651 , 21959 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 , 21876 , 0 , 0 ,6666 , 6666 , 340 , 130 , 70 , 30 , 24 , 30 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 \ No newline at end of file From 4cee9ea0bc8866c4a9c76b61b78cbb88fa7eb5a0 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Tue, 27 Sep 2022 15:00:54 +0200 Subject: [PATCH 43/72] Fixed seeding of abilities from arisen.csv --- .../Handler/CreateCharacterHandler.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs index 8c4004a52..46db35fc7 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/CreateCharacterHandler.cs @@ -1024,70 +1024,70 @@ public override void Handle(LoginClient client, StructurePacket Date: Thu, 29 Sep 2022 18:46:16 +0800 Subject: [PATCH 44/72] party management --- Arrowgene.Ddon.GameServer/Chat/ChatManager.cs | 2 +- Arrowgene.Ddon.GameServer/GameClient.cs | 24 -- .../Handler/PartyPartyInviteEntryHandler.cs | 10 +- .../Handler/PartyPartyJoinHandler.cs | 62 +++- .../Handler/PartyPartyLeaveHandler.cs | 3 +- .../Handler/PartySendBinaryMsgAllHandler.cs | 2 +- ...endLeaderQuestOrderConditionInfoHandler.cs | 2 +- ...uestSendLeaderWaitOrderQuestListHandler.cs | 2 +- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 328 ++++++++++++++++-- .../Party/PartyManager.cs | 17 +- .../S2CContextGetPartyPlayerContextNtc.cs | 9 +- .../Structure/CDataPartyPlayerContext.cs | 10 +- Arrowgene.Ddon.Shared/Model/Pawn.cs | 29 +- 13 files changed, 384 insertions(+), 116 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs index ec99b78b1..7094c5cc5 100644 --- a/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs +++ b/Arrowgene.Ddon.GameServer/Chat/ChatManager.cs @@ -121,7 +121,7 @@ private void Deliver(GameClient client, ChatResponse response) PartyGroup party = client.Party; if (party != null) { - response.Recipients.AddRange(party.Members); + response.Recipients.AddRange(party.Clients); } break; default: diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index 076fc8525..c607fdae6 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -42,30 +42,6 @@ public void UpdateIdentity() public PartyGroup PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? public PartyGroup Party { get; set; } - public CDataPartyMember AsCDataPartyMember() - { - CDataPartyMember partyMember = new CDataPartyMember(); - partyMember.CharacterListElement.ServerId = Character.Server.Id; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = Character.Id; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = Character.FirstName; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.LastName = Character.LastName; - partyMember.CharacterListElement.CurrentJobBaseInfo.Job = Character.Job; - partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte) Character.ActiveCharacterJobData.Lv; - partyMember.CharacterListElement.OnlineStatus = Character.OnlineStatus; - partyMember.CharacterListElement.unk2 = 1; - partyMember.MemberType = 1; - partyMember.MemberIndex = (byte) Party.Members.IndexOf(this); - partyMember.IsLeader = Character.Id == Party.Leader.Character.Id; - partyMember.JoinState = JoinState.On; - return partyMember; - } - public Packet AsContextPacket() - { - S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(Character); - partyPlayerContextNtc.Context.Base.MemberIndex = Party.Members.IndexOf(this); - StructurePacket packet = new StructurePacket(partyPlayerContextNtc); - return packet; - } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteEntryHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteEntryHandler.cs index 197ad1973..6da2fd14b 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteEntryHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteEntryHandler.cs @@ -1,3 +1,4 @@ +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; @@ -8,7 +9,8 @@ namespace Arrowgene.Ddon.GameServer.Handler { public class PartyPartyInviteEntryHandler : StructurePacketHandler { - private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyInviteEntryHandler)); + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyInviteEntryHandler)); public PartyPartyInviteEntryHandler(DdonGameServer server) : base(server) { @@ -22,10 +24,10 @@ public override void Handle(GameClient client, StructurePacket x.AsCDataPartyMember()) - .ToList(); + + // Send party player context NTCs to the new member + foreach (Character character in party.Characters) + { + // pawn + CDataPartyMember partyMember = new CDataPartyMember(); + partyMember.CharacterListElement.ServerId = character.Server.Id; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = character.Id; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = + character.FirstName; + partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.LastName = character.LastName; + partyMember.CharacterListElement.CurrentJobBaseInfo.Job = character.Job; + partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte)character.ActiveCharacterJobData.Lv; + partyMember.CharacterListElement.OnlineStatus = character.OnlineStatus; + partyMember.CharacterListElement.unk2 = 1; + partyMember.MemberType = party.GetMemberType(character); + partyMember.MemberIndex = party.GetSlotIndex(character); + partyMember.PawnId = character.Id; // TODO pawn.ID from DB + partyMember.IsLeader = character.Id == party.Leader.Character.Id; + partyMember.IsPawn = true; + partyMember.IsPlayEntry = false; + partyMember.JoinState = JoinState.On; + partyMember.AnyValueList = new byte[] { 0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2 }; // Taken from pcaps + partyMember.SessionStatus = 0; + + partyJoinNtc.PartyMembers.Add(partyMember); + } + party.SendToAll(partyJoinNtc); // Send party player context NTCs to the new member - for(byte i = 0; i < party.Members.Count; i++) + foreach (Character character in party.Characters) { - GameClient member = party.Members[i]; - party.SendToAll(member.AsContextPacket()); + CDataPartyPlayerContext partyPlayerContext = new CDataPartyPlayerContext(); + partyPlayerContext.Base = new CDataContextBase(character); + partyPlayerContext.PlayerInfo = new CDataContextPlayerInfo(character); + partyPlayerContext.ResistInfo = new CDataContextResist(character); + partyPlayerContext.EditInfo = character.EditInfo; + + S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(); + partyPlayerContextNtc.CharacterId = character.Id; + partyPlayerContextNtc.Context = partyPlayerContext; + partyPlayerContextNtc.Context.Base.MemberIndex = party.GetSlotIndex(character); + + // TODO only new member or all ? + party.SendToAll(partyPlayerContextNtc); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs index 85b8a577a..29c7e2c32 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyLeaveHandler.cs @@ -22,8 +22,7 @@ public override void Handle(GameClient client, StructurePacket packet) { - foreach(GameClient otherClient in client.Party.Members) + foreach(GameClient otherClient in client.Party.Clients) { S2CPartyRecvBinaryMsgAllNtc binaryMsgNtc = new S2CPartyRecvBinaryMsgAllNtc(); binaryMsgNtc.CharacterId = client.Character.Id; diff --git a/Arrowgene.Ddon.GameServer/Handler/QuestSendLeaderQuestOrderConditionInfoHandler.cs b/Arrowgene.Ddon.GameServer/Handler/QuestSendLeaderQuestOrderConditionInfoHandler.cs index 9535aeda9..fa7d7c0cf 100644 --- a/Arrowgene.Ddon.GameServer/Handler/QuestSendLeaderQuestOrderConditionInfoHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/QuestSendLeaderQuestOrderConditionInfoHandler.cs @@ -20,7 +20,7 @@ public override void Handle(GameClient client, StructurePacket(typeof(PartyGroup)); - private object _lock; - private object[] _slots; - private List _clients; + private readonly object _lock; + private readonly object[] _slots; + private readonly List _clients; + private readonly List _pawns; + + private GameClient _leader; + private GameClient _host; public PartyGroup(uint id, GameClient creator) { _lock = new object(); _slots = new object[MaxPartyMembers]; _clients = new List(); + _pawns = new List(); Id = id; - - Members = new List(); - Pawns = new List(); - Contexts = new Dictionary>(); - - Leader = creator; - Host = creator; - Members.Add(creator); + _leader = creator; + _host = creator; + _clients.Add(creator); creator.Party = this; + + // TODO + Contexts = new Dictionary>(); + } + + public Dictionary> Contexts { get; set; } + + public GameClient Leader + { + get + { + lock (_lock) + { + return _leader; + } + } + } + + public GameClient Host + { + get + { + lock (_lock) + { + return _host; + } + } } public uint Id { get; } - public List Members { get; set; } - public List Pawns { get; set; } - public GameClient Leader { get; set; } - public GameClient Host { get; set; } - public Dictionary> Contexts { get; set; } + public List Clients + { + get + { + lock (_lock) + { + return new List(_clients); + } + } + } + public List Characters + { + get + { + lock (_lock) + { + List characters = new List(); + foreach (GameClient client in _clients) + { + Character character = client.Character; + if (character == null) + { + continue; + } + + characters.Add(character); + } + + foreach (Pawn pawn in _pawns) + { + Character character = pawn.Character; + if (character == null) + { + continue; + } + + characters.Add(character); + } + + return characters; + } + } + } public bool Join(GameClient client) { - int slotIndex = TakeSlot(client); - if (slotIndex <= InvalidSlotIndex) + if (client == null) { - Logger.Error(client, "No free slot available"); return false; } + lock (_lock) + { + if (client.Party != null) + { + Logger.Error(client, "client already has a party assigned"); + return false; + } + + int slotIndex = TakeSlot(client); + if (slotIndex <= InvalidSlotIndex) + { + Logger.Error(client, "No free slot available for client"); + return false; + } + + _clients.Add(client); + client.Party = this; + return true; + } + } + + public bool Join(Pawn pawn) + { + if (pawn == null) + { + return false; + } + + lock (_lock) + { + int slotIndex = TakeSlot(pawn); + if (slotIndex <= InvalidSlotIndex) + { + Logger.Error("No free slot available for pawn"); + return false; + } + + _pawns.Add(pawn); + return true; + } + } + + public bool Leave(GameClient client) + { + if (client == null) + { + return false; + } + + lock (_lock) + { + if (client.Party != this) + { + Logger.Error(client, "client not assigned to this group"); + return false; + } + + client.Party = null; + + if (!_clients.Remove(client)) + { + Logger.Error(client, "client not part of this group"); + return false; + } + + int slotIndex = GetSlotIndex(client); + if (slotIndex <= InvalidSlotIndex) + { + Logger.Error(client, "client not occupied any slot"); + return false; + } + + FreeSlot(slotIndex); + } return true; } - public void Join(Pawn pawn) + public bool Leave(Pawn pawn) { + if (pawn == null) + { + return false; + } + + lock (_lock) + { + // TODO ? pawn.Party = null; + if (!_pawns.Remove(pawn)) + { + Logger.Error("pawn not part of this group"); + return false; + } + + int slotIndex = GetSlotIndex(pawn); + if (slotIndex <= InvalidSlotIndex) + { + Logger.Error("pawn not occupied any slot"); + return false; + } + + FreeSlot(slotIndex); + } + + return true; } - public void Leave(GameClient client) + public byte GetMemberType(Character character) { + object obj = GetSlot(character); + if (obj is GameClient) + { + return 1; + } + + if (obj is Pawn) + { + return 2; + } + + Logger.Error($"no member type for character {character.Id}"); + return 0; } - public void Leave(Pawn pawn) + public Pawn GetPawn(uint index) { + return GetSlot(index) as Pawn; } - public Pawn GetPawn(uint memberIndex) + public GameClient GetClient(uint index) { - return null; + return GetSlot(index) as GameClient; } public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() @@ -85,14 +261,100 @@ public Pawn GetPawn(uint memberIndex) public void SendToAll(Packet packet) { - foreach (GameClient member in Members) + foreach (GameClient client in Clients) { - member.Send(packet); + client.Send(packet); + } + } + + public int MemberCount() + { + lock (_lock) + { + int count = 0; + for (int i = 0; i < MaxPartyMembers; i++) + { + if (_slots[i] != null) + { + count++; + } + } + + return count; + } + } + + public int GetSlotIndex(Character character) + { + return GetSlotIndex(GetSlot(character)); + } + + public int GetSlotIndex(GameClient client) + { + return GetSlotIndex((object)client); + } + + public int GetSlotIndex(Pawn pawn) + { + return GetSlotIndex((object)pawn); + } + + private object GetSlot(Character character) + { + lock (_lock) + { + foreach (GameClient client in _clients) + { + Character clientCharacter = client.Character; + if (clientCharacter == character) + { + return client; + } + } + + foreach (Pawn pawn in _pawns) + { + Character pawnCharacter = pawn.Character; + if (pawnCharacter == character) + { + return pawn; + } + } + + return null; + } + } + + private int GetSlotIndex(object obj) + { + if (obj == null) + { + return InvalidSlotIndex; + } + + lock (_lock) + { + int slotIndex = InvalidSlotIndex; + for (int i = 0; i < MaxPartyMembers; i++) + { + if (_slots[i] == obj) + { + slotIndex = i; + break; + } + } + + return slotIndex; } } private int TakeSlot(object obj) { + if (obj == null) + { + return InvalidSlotIndex; + } + int slotIndex = InvalidSlotIndex; lock (_lock) { @@ -118,5 +380,19 @@ private void FreeSlot(int slotIndex) _slots[slotIndex] = null; } } + + private object GetSlot(uint index) + { + if (index >= MaxPartyMembers) + { + Logger.Error( + $"can not retrieve slot {index} is out of bounds for maximum party size of {MaxPartyMembers}"); + } + + lock (_lock) + { + return _slots[index]; + } + } } } diff --git a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs index d8e2423da..7061a6029 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs @@ -6,6 +6,9 @@ namespace Arrowgene.Ddon.GameServer.Party; public class PartyManager { + public const uint MaxNumParties = 100; + public const uint InvalidPartyId = 0; + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyManager)); private readonly ConcurrentStack _idPool; @@ -14,7 +17,7 @@ public class PartyManager public PartyManager() { _idPool = new ConcurrentStack(); - for (uint i = 1; i < 100; i++) + for (uint i = 1; i < MaxNumParties + 1; i++) { _idPool.Push(i); } @@ -34,6 +37,18 @@ public PartyGroup GetParty(uint partyId) return party; } + public bool DisbandParty(uint partyId) + { + if (!_parties.TryRemove(partyId, out PartyGroup party)) + { + Logger.Error($"Failed to remove partyId:{partyId} (!_parties.TryRemove(partyId, out PartyGroup party)"); + return false; + } + + _idPool.Push(party.Id); + return true; + } + public PartyGroup NewParty(GameClient creator) { if (creator.Party != null) diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyPlayerContextNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyPlayerContextNtc.cs index aea924542..9d3909c17 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyPlayerContextNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyPlayerContextNtc.cs @@ -1,6 +1,5 @@ using Arrowgene.Buffers; using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Entity.PacketStructure @@ -9,12 +8,6 @@ public class S2CContextGetPartyPlayerContextNtc : IPacketStructure { public PacketId Id => PacketId.S2C_CONTEXT_GET_PARTY_PLAYER_CONTEXT_NTC; - public S2CContextGetPartyPlayerContextNtc(Character character) - { - CharacterId = character.Id; - Context = new CDataPartyPlayerContext(character); - } - public S2CContextGetPartyPlayerContextNtc() { CharacterId = 0; @@ -41,4 +34,4 @@ public override S2CContextGetPartyPlayerContextNtc Read(IBuffer buffer) } } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs index 3c4724872..0169903c2 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyPlayerContext.cs @@ -5,14 +5,6 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataPartyPlayerContext { - public CDataPartyPlayerContext(Character character) - { - Base = new CDataContextBase(character); - PlayerInfo = new CDataContextPlayerInfo(character); - ResistInfo = new CDataContextResist(character); - EditInfo = character.EditInfo; - } - public CDataPartyPlayerContext() { Base = new CDataContextBase(); @@ -47,4 +39,4 @@ public override CDataPartyPlayerContext Read(IBuffer buffer) } } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Model/Pawn.cs b/Arrowgene.Ddon.Shared/Model/Pawn.cs index 1f49113ca..3ae08fb74 100644 --- a/Arrowgene.Ddon.Shared/Model/Pawn.cs +++ b/Arrowgene.Ddon.Shared/Model/Pawn.cs @@ -24,33 +24,6 @@ public Pawn(uint ownerCharacterId) public List PawnReactionList { get; set; } public List SpSkillList { get; set; } - - public CDataPartyMember AsCDataPartyMember() - { - CDataPartyMember partyMember = new CDataPartyMember(); - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = OwnerCharacterId; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = Character.FirstName; - partyMember.CharacterListElement.CurrentJobBaseInfo.Job = Character.Job; - partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte)Character.ActiveCharacterJobData.Lv; - partyMember.MemberType = 2; - partyMember.MemberIndex = Party.Members.IndexOf(this); - partyMember.PawnId = Character.Id; - partyMember.IsLeader = false; - partyMember.IsPawn = true; - partyMember.IsPlayEntry = false; - partyMember.JoinState = JoinState.On; - partyMember.AnyValueList = new byte[] { 0x0, 0xDA, 0x5D, 0x4E, 0x0, 0x1, 0x0, 0x2 }; // Taken from pcaps - partyMember.SessionStatus = 0; - return partyMember; - } - - public Packet AsContextPacket() - { - S2CContextGetPartyMypawnContextNtc mypawnContextNtc = new S2CContextGetPartyMypawnContextNtc(this); - mypawnContextNtc.Context.Base.MemberIndex = Party.Members.IndexOf(this); - StructurePacket packet = - new StructurePacket(mypawnContextNtc); - return packet; - } + } } From 13229a478ffce4555c144cdc86f42b2a9c1712fd Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 29 Sep 2022 19:34:10 +0800 Subject: [PATCH 45/72] party management --- Arrowgene.Ddon.GameServer/GameClient.cs | 8 - .../PartyPartyInviteCharacterHandler.cs | 52 +- .../PartyPartyInvitePrepareAcceptHandler.cs | 12 +- .../Handler/PartyPartyJoinHandler.cs | 1 - .../Handler/PawnJoinPartyMypawnHandler.cs | 1498 ++++++++++------- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 20 + .../S2CContextGetPartyMypawnContextNtc.cs | 7 - .../Entity/Structure/CDataPartyContextPawn.cs | 15 - Arrowgene.Ddon.Shared/Model/Pawn.cs | 5 +- 9 files changed, 917 insertions(+), 701 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index c607fdae6..d2205249c 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -1,10 +1,7 @@ using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server.Network; -using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; -using Arrowgene.Ddon.Shared.Network; using Arrowgene.Networking.Tcp; namespace Arrowgene.Ddon.GameServer @@ -36,12 +33,7 @@ public void UpdateIdentity() public Character Character { get; set; } - - - public PartyGroup PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? public PartyGroup Party { get; set; } - - } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs index abbeab2ed..c42f7a10b 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs @@ -1,6 +1,4 @@ -using System.Linq; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; @@ -11,7 +9,8 @@ namespace Arrowgene.Ddon.GameServer.Handler { public class PartyPartyInviteCharacterHandler : GameStructurePacketHandler { - private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyInviteCharacterHandler)); + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyInviteCharacterHandler)); private static readonly ushort TimeoutSec = 30; // TODO: Move to config? @@ -41,34 +40,38 @@ public override void Handle(GameClient client, StructurePacket { - private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyInvitePrepareAcceptHandler)); + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyInvitePrepareAcceptHandler)); public PartyPartyInvitePrepareAcceptHandler(DdonGameServer server) : base(server) { @@ -22,14 +23,17 @@ public override void Handle(GameClient client, StructurePacket { - private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PawnJoinPartyMypawnHandler)); + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PawnJoinPartyMypawnHandler)); public PawnJoinPartyMypawnHandler(DdonGameServer server) : base(server) @@ -22,10 +23,11 @@ public PawnJoinPartyMypawnHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket req) { - S2CContextGetPartyMypawnContextNtc pcapPawn = EntitySerializer.Get().Read(SelectedDump.data_Dump_Pawn35_3_16); + S2CContextGetPartyMypawnContextNtc pcapPawn = EntitySerializer.Get() + .Read(SelectedDump.data_Dump_Pawn35_3_16); + + MyPawnCsv myPawnCsvData = Server.AssetRepository.MyPawnAsset[req.Structure.PawnNumber - 1]; - MyPawnCsv myPawnCsvData = Server.AssetRepository.MyPawnAsset[req.Structure.PawnNumber-1]; - Pawn pawn = new Pawn(client.Character.Id); pawn.HmType = myPawnCsvData.HmType; @@ -117,12 +119,12 @@ public override void Handle(GameClient client, StructurePacket(){ new CDataCharacterJobData { + pawn.Character.CharacterJobDataList = new List() + { + new CDataCharacterJobData + { Job = myPawnCsvData.Job, //Exp = myPawnCsvData.Exp, //JobPoint = myPawnCsvData.JobPoint, Lv = myPawnCsvData.JobLv, - Atk = (ushort) pcapPawn.Context.PlayerInfo.Atk, - Def = (ushort) pcapPawn.Context.PlayerInfo.Def, - MAtk = (ushort) pcapPawn.Context.PlayerInfo.MAtk, - MDef = (ushort) pcapPawn.Context.PlayerInfo.MDef, - Strength = (ushort) pcapPawn.Context.PlayerInfo.Strength, - DownPower = (ushort) pcapPawn.Context.PlayerInfo.DownPower, - ShakePower = (ushort) pcapPawn.Context.PlayerInfo.ShakePower, + Atk = (ushort)pcapPawn.Context.PlayerInfo.Atk, + Def = (ushort)pcapPawn.Context.PlayerInfo.Def, + MAtk = (ushort)pcapPawn.Context.PlayerInfo.MAtk, + MDef = (ushort)pcapPawn.Context.PlayerInfo.MDef, + Strength = (ushort)pcapPawn.Context.PlayerInfo.Strength, + DownPower = (ushort)pcapPawn.Context.PlayerInfo.DownPower, + ShakePower = (ushort)pcapPawn.Context.PlayerInfo.ShakePower, //StunPower = (ushort) pcapPawn.Context.PlayerInfo.StunPower, - Consitution = (ushort) pcapPawn.Context.PlayerInfo.Constitution, - Guts = (ushort) pcapPawn.Context.PlayerInfo.Guts, + Consitution = (ushort)pcapPawn.Context.PlayerInfo.Constitution, + Guts = (ushort)pcapPawn.Context.PlayerInfo.Guts, FireResist = pcapPawn.Context.ResistInfo.FireResist, IceResist = pcapPawn.Context.ResistInfo.IceResist, ThunderResist = pcapPawn.Context.ResistInfo.ThunderResist, @@ -176,658 +181,818 @@ public override void Handle(GameClient client, StructurePacket>() { { myPawnCsvData.Job, new List() { new CDataCharacterEquipData() { - Equips = new List() { - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Primary, - Unk0 = 0, - EquipType = 1, - EquipSlot = 1, - Color = 0, - PlusValue = 0, - WeaponCrestDataList = new List(), - ArmorCrestDataList = new List() { - new CDataArmorCrestData { - u0 = 1, - u1 = 1, - u2 = 0x59, - u3 = 0x04 - } - }, - // Empty EquipElementParamList - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Secondary, - Unk0 = 0, - EquipType = 1, - EquipSlot = 2, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Head, - Unk0 = 0, - EquipType = 1, - EquipSlot = 3, - Color = 0, - PlusValue = 3, - WeaponCrestDataList = new List(), - ArmorCrestDataList = new List() { - new CDataArmorCrestData { - u0 = 1, - u1 = 1, - u2 = 0x29D, - u3 = 0x01 - } - }, - // Empty EquipElementParamList - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Body, - Unk0 = 0, - EquipType = 1, - EquipSlot = 4, - Color = 0, - PlusValue = 4, - WeaponCrestDataList = new List(), - ArmorCrestDataList = new List() { - new CDataArmorCrestData { - u0 = 1, - u1 = 1, - u2 = 0x280, - u3 = 0x01 - } - }, - // Empty EquipElementParamList - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.BodyClothing, - Unk0 = 0, - EquipType = 1, - EquipSlot = 5, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Arm, - Unk0 = 0, - EquipType = 1, - EquipSlot = 6, - Color = 0, - PlusValue = 3, - WeaponCrestDataList = new List(), - ArmorCrestDataList = new List() { - new CDataArmorCrestData { - u0 = 1, - u1 = 1, - u2 = 0x1D2, - u3 = 0x01 - } - }, - // Empty EquipElementParamList - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Leg, - Unk0 = 0, - EquipType = 1, - EquipSlot = 7, - Color = 0, - PlusValue = 3, - WeaponCrestDataList = new List(), - ArmorCrestDataList = new List() { - new CDataArmorCrestData { - u0 = 1, - u1 = 1, - u2 = 0x225, - u3 = 0x01 + } + }; + pawn.Character.CharacterEquipDataListDictionary = new Dictionary>() + { + { + myPawnCsvData.Job, new List() + { + new CDataCharacterEquipData() + { + Equips = new List() + { + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Primary, + Unk0 = 0, + EquipType = 1, + EquipSlot = 1, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() + { + new CDataArmorCrestData + { + u0 = 1, + u1 = 1, + u2 = 0x59, + u3 = 0x04 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Secondary, + Unk0 = 0, + EquipType = 1, + EquipSlot = 2, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Head, + Unk0 = 0, + EquipType = 1, + EquipSlot = 3, + Color = 0, + PlusValue = 3, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() + { + new CDataArmorCrestData + { + u0 = 1, + u1 = 1, + u2 = 0x29D, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Body, + Unk0 = 0, + EquipType = 1, + EquipSlot = 4, + Color = 0, + PlusValue = 4, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() + { + new CDataArmorCrestData + { + u0 = 1, + u1 = 1, + u2 = 0x280, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.BodyClothing, + Unk0 = 0, + EquipType = 1, + EquipSlot = 5, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Arm, + Unk0 = 0, + EquipType = 1, + EquipSlot = 6, + Color = 0, + PlusValue = 3, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() + { + new CDataArmorCrestData + { + u0 = 1, + u1 = 1, + u2 = 0x1D2, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Leg, + Unk0 = 0, + EquipType = 1, + EquipSlot = 7, + Color = 0, + PlusValue = 3, + WeaponCrestDataList = new List(), + ArmorCrestDataList = new List() + { + new CDataArmorCrestData + { + u0 = 1, + u1 = 1, + u2 = 0x225, + u3 = 0x01 + } + }, + // Empty EquipElementParamList + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.LegWear, + Unk0 = 0, + EquipType = 1, + EquipSlot = 8, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.OverWear, + Unk0 = 0, + EquipType = 1, + EquipSlot = 9, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.JewelrySlot1, + Unk0 = 0, + EquipType = 1, + EquipSlot = 10, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() + { + new CDataEquipElementParam + { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam + { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam + { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam + { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam + { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.JewelrySlot2, + Unk0 = 0, + EquipType = 1, + EquipSlot = 11, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() + { + new CDataEquipElementParam + { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam + { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam + { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam + { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam + { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.JewelrySlot3, + Unk0 = 0, + EquipType = 1, + EquipSlot = 12, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() + { + new CDataEquipElementParam + { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam + { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam + { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam + { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam + { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.JewelrySlot4, + Unk0 = 0, + EquipType = 1, + EquipSlot = 13, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() + { + new CDataEquipElementParam + { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam + { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam + { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam + { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam + { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.JewelrySlot5, + Unk0 = 0, + EquipType = 1, + EquipSlot = 14, + Color = 0, + PlusValue = 0, + WeaponCrestDataList = new List(), + // Empty ArmorCrestDataList + EquipElementParamList = new List() + { + new CDataEquipElementParam + { + SlotNo = 0x2, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x3, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x4, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x5, + ItemId = 0x02 + }, + new CDataEquipElementParam + { + SlotNo = 0x6, + ItemId = 0x50 + }, + new CDataEquipElementParam + { + SlotNo = 0x7, + ItemId = 0x3C + }, + new CDataEquipElementParam + { + SlotNo = 0x8, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x9, + ItemId = 0x07 + }, + new CDataEquipElementParam + { + SlotNo = 0xA, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xB, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xC, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xD, + ItemId = 0x04 + }, + new CDataEquipElementParam + { + SlotNo = 0xE, + ItemId = 0x00 + }, + new CDataEquipElementParam + { + SlotNo = 0xF, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x10, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x11, + ItemId = 0x05 + }, + new CDataEquipElementParam + { + SlotNo = 0x12, + ItemId = 0x05 + }, + } + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.Lantern, + Unk0 = 0, + EquipType = 1, + EquipSlot = 15 } - }, - // Empty EquipElementParamList - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.LegWear, - Unk0 = 0, - EquipType = 1, - EquipSlot = 8, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.OverWear, - Unk0 = 0, - EquipType = 1, - EquipSlot = 9, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.JewelrySlot1, - Unk0 = 0, - EquipType = 1, - EquipSlot = 10, - Color = 0, - PlusValue = 0, - WeaponCrestDataList = new List(), - // Empty ArmorCrestDataList - EquipElementParamList = new List() { - new CDataEquipElementParam { - SlotNo = 0x2, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x3, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x4, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x5, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x6, - ItemId = 0x50 - }, - new CDataEquipElementParam { - SlotNo = 0x7, - ItemId = 0x3C - }, - new CDataEquipElementParam { - SlotNo = 0x8, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x9, - ItemId = 0x07 - }, - new CDataEquipElementParam { - SlotNo = 0xA, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xB, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xC, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xD, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xE, - ItemId = 0x00 - }, - new CDataEquipElementParam { - SlotNo = 0xF, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x10, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x11, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x12, - ItemId = 0x05 - }, - } - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.JewelrySlot2, - Unk0 = 0, - EquipType = 1, - EquipSlot = 11, - Color = 0, - PlusValue = 0, - WeaponCrestDataList = new List(), - // Empty ArmorCrestDataList - EquipElementParamList = new List() { - new CDataEquipElementParam { - SlotNo = 0x2, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x3, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x4, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x5, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x6, - ItemId = 0x50 - }, - new CDataEquipElementParam { - SlotNo = 0x7, - ItemId = 0x3C - }, - new CDataEquipElementParam { - SlotNo = 0x8, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x9, - ItemId = 0x07 - }, - new CDataEquipElementParam { - SlotNo = 0xA, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xB, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xC, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xD, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xE, - ItemId = 0x00 - }, - new CDataEquipElementParam { - SlotNo = 0xF, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x10, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x11, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x12, - ItemId = 0x05 - }, - } - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.JewelrySlot3, - Unk0 = 0, - EquipType = 1, - EquipSlot = 12, - Color = 0, - PlusValue = 0, - WeaponCrestDataList = new List(), - // Empty ArmorCrestDataList - EquipElementParamList = new List() { - new CDataEquipElementParam { - SlotNo = 0x2, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x3, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x4, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x5, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x6, - ItemId = 0x50 - }, - new CDataEquipElementParam { - SlotNo = 0x7, - ItemId = 0x3C - }, - new CDataEquipElementParam { - SlotNo = 0x8, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x9, - ItemId = 0x07 - }, - new CDataEquipElementParam { - SlotNo = 0xA, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xB, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xC, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xD, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xE, - ItemId = 0x00 - }, - new CDataEquipElementParam { - SlotNo = 0xF, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x10, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x11, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x12, - ItemId = 0x05 - }, - } - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.JewelrySlot4, - Unk0 = 0, - EquipType = 1, - EquipSlot = 13, - Color = 0, - PlusValue = 0, - WeaponCrestDataList = new List(), - // Empty ArmorCrestDataList - EquipElementParamList = new List() { - new CDataEquipElementParam { - SlotNo = 0x2, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x3, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x4, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x5, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x6, - ItemId = 0x50 - }, - new CDataEquipElementParam { - SlotNo = 0x7, - ItemId = 0x3C - }, - new CDataEquipElementParam { - SlotNo = 0x8, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x9, - ItemId = 0x07 - }, - new CDataEquipElementParam { - SlotNo = 0xA, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xB, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xC, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xD, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xE, - ItemId = 0x00 - }, - new CDataEquipElementParam { - SlotNo = 0xF, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x10, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x11, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x12, - ItemId = 0x05 - }, } - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.JewelrySlot5, - Unk0 = 0, - EquipType = 1, - EquipSlot = 14, - Color = 0, - PlusValue = 0, - WeaponCrestDataList = new List(), - // Empty ArmorCrestDataList - EquipElementParamList = new List() { - new CDataEquipElementParam { - SlotNo = 0x2, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x3, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x4, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x5, - ItemId = 0x02 - }, - new CDataEquipElementParam { - SlotNo = 0x6, - ItemId = 0x50 - }, - new CDataEquipElementParam { - SlotNo = 0x7, - ItemId = 0x3C - }, - new CDataEquipElementParam { - SlotNo = 0x8, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x9, - ItemId = 0x07 - }, - new CDataEquipElementParam { - SlotNo = 0xA, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xB, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xC, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xD, - ItemId = 0x04 - }, - new CDataEquipElementParam { - SlotNo = 0xE, - ItemId = 0x00 - }, - new CDataEquipElementParam { - SlotNo = 0xF, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x10, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x11, - ItemId = 0x05 - }, - new CDataEquipElementParam { - SlotNo = 0x12, - ItemId = 0x05 - }, + } + } + } + }; + pawn.Character.CharacterEquipViewDataListDictionary = new Dictionary>() + { + { + myPawnCsvData.Job, new List() + { + new CDataCharacterEquipData() + { + Equips = new List() + { + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VPrimary, + Unk0 = 0, + EquipType = 2, + EquipSlot = 1, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VSecondary, + Unk0 = 0, + EquipType = 2, + EquipSlot = 2, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VHead, + Unk0 = 0, + EquipType = 2, + EquipSlot = 3, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VBody, + Unk0 = 0, + EquipType = 2, + EquipSlot = 4, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VBodyClothing, + Unk0 = 0, + EquipType = 2, + EquipSlot = 5, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VArm, + Unk0 = 0, + EquipType = 2, + EquipSlot = 6, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VLeg, + Unk0 = 0, + EquipType = 2, + EquipSlot = 7, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VLegWear, + Unk0 = 0, + EquipType = 2, + EquipSlot = 8, + Color = 0 + }, + new CDataEquipItemInfo + { + ItemId = myPawnCsvData.VOverWear, + Unk0 = 0, + EquipType = 2, + EquipSlot = 9, + Color = 0, + } } - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.Lantern, - Unk0 = 0, - EquipType = 1, - EquipSlot = 15 } } } - }}}; - pawn.Character.CharacterEquipViewDataListDictionary = new Dictionary>() { { myPawnCsvData.Job, new List() { new CDataCharacterEquipData() { - Equips = new List() { - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VPrimary, - Unk0 = 0, - EquipType = 2, - EquipSlot = 1, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VSecondary, - Unk0 = 0, - EquipType = 2, - EquipSlot = 2, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VHead, - Unk0 = 0, - EquipType = 2, - EquipSlot = 3, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VBody, - Unk0 = 0, - EquipType = 2, - EquipSlot = 4, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VBodyClothing, - Unk0 = 0, - EquipType = 2, - EquipSlot = 5, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VArm, - Unk0 = 0, - EquipType = 2, - EquipSlot = 6, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VLeg, - Unk0 = 0, - EquipType = 2, - EquipSlot = 7, - Color = 0 - }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VLegWear, - Unk0 = 0, - EquipType = 2, - EquipSlot = 8, - Color = 0 + }; + pawn.Character.CharacterEquipJobItemListDictionary = new Dictionary>() + { + { + myPawnCsvData.Job, new List() + { + new CDataEquipJobItem + { + JobItemId = myPawnCsvData.JobItem1, + EquipSlotNo = myPawnCsvData.JobItemSlot1 }, - new CDataEquipItemInfo { - ItemId = myPawnCsvData.VOverWear, - Unk0 = 0, - EquipType = 2, - EquipSlot = 9, - Color = 0, + new CDataEquipJobItem + { + JobItemId = myPawnCsvData.JobItem2, + EquipSlotNo = myPawnCsvData.JobItemSlot2 } } } - }}}; - pawn.Character.CharacterEquipJobItemListDictionary = new Dictionary>() { { myPawnCsvData.Job, new List() { - new CDataEquipJobItem { - JobItemId = myPawnCsvData.JobItem1, - EquipSlotNo = myPawnCsvData.JobItemSlot1 - }, - new CDataEquipJobItem { - JobItemId = myPawnCsvData.JobItem2, - EquipSlotNo = myPawnCsvData.JobItemSlot2 - } - }}}; - pawn.Character.NormalSkills = new List() { - new CDataNormalSkillParam() { + }; + pawn.Character.NormalSkills = new List() + { + new CDataNormalSkillParam() + { Job = myPawnCsvData.Job, SkillNo = myPawnCsvData.NormalSkill1, Index = 0, PreSkillNo = 0 }, - new CDataNormalSkillParam() { + new CDataNormalSkillParam() + { Job = myPawnCsvData.Job, SkillNo = myPawnCsvData.NormalSkill2, Index = 0, PreSkillNo = 0 }, - new CDataNormalSkillParam() { + new CDataNormalSkillParam() + { Job = myPawnCsvData.Job, SkillNo = myPawnCsvData.NormalSkill3, Index = 0, PreSkillNo = 0 } }; - pawn.Character.CustomSkills = new List() { + pawn.Character.CustomSkills = new List() + { // Main Palette - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = myPawnCsvData.Job, Type = 0, SlotNo = 1, AcquirementNo = myPawnCsvData.CustomSkillId1, AcquirementLv = myPawnCsvData.CustomSkillLv1 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = myPawnCsvData.Job, Type = 0, SlotNo = 2, AcquirementNo = myPawnCsvData.CustomSkillId2, AcquirementLv = myPawnCsvData.CustomSkillLv2 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = myPawnCsvData.Job, Type = 0, SlotNo = 3, AcquirementNo = myPawnCsvData.CustomSkillId3, AcquirementLv = myPawnCsvData.CustomSkillLv3 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = myPawnCsvData.Job, Type = 0, SlotNo = 4, @@ -835,71 +1000,82 @@ public override void Handle(GameClient client, StructurePacket() { - new CDataSetAcquirementParam() { + pawn.Character.Abilities = new List() + { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 1, AcquirementNo = myPawnCsvData.AbilityId1, AcquirementLv = myPawnCsvData.AbilityLv1 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 2, AcquirementNo = myPawnCsvData.AbilityId2, AcquirementLv = myPawnCsvData.AbilityLv2 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 3, AcquirementNo = myPawnCsvData.AbilityId3, AcquirementLv = myPawnCsvData.AbilityLv3 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 4, AcquirementNo = myPawnCsvData.AbilityId4, AcquirementLv = myPawnCsvData.AbilityLv4 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 5, AcquirementNo = myPawnCsvData.AbilityId5, AcquirementLv = myPawnCsvData.AbilityLv5 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 6, AcquirementNo = myPawnCsvData.AbilityId6, AcquirementLv = myPawnCsvData.AbilityLv6 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 7, AcquirementNo = myPawnCsvData.AbilityId7, AcquirementLv = myPawnCsvData.AbilityLv7 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 8, AcquirementNo = myPawnCsvData.AbilityId8, AcquirementLv = myPawnCsvData.AbilityLv8 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 9, AcquirementNo = myPawnCsvData.AbilityId9, AcquirementLv = myPawnCsvData.AbilityLv9 }, - new CDataSetAcquirementParam() { + new CDataSetAcquirementParam() + { Job = 0, Type = 0, SlotNo = 10, @@ -974,10 +1150,52 @@ public override void Handle(GameClient client, StructurePacket + /// Intended to hold a free slot, but makes no guarantee whatsoever at the moment. + /// + /// + public int RegisterSlot() + { + lock (_lock) + { + for (int i = 0; i < MaxPartyMembers; i++) + { + if (_slots[i] == null) + { + return i; + } + } + } + + return InvalidSlotIndex; + } + private object GetSlot(Character character) { lock (_lock) diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs index f024b64da..a9dd612ab 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CContextGetPartyMypawnContextNtc.cs @@ -1,6 +1,5 @@ using Arrowgene.Buffers; using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Entity.PacketStructure @@ -9,11 +8,6 @@ public class S2CContextGetPartyMypawnContextNtc : IPacketStructure { public PacketId Id => PacketId.S2C_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_NTC; - public S2CContextGetPartyMypawnContextNtc(Pawn pawn) - { - PawnId = pawn.Character.Id; - Context = new CDataPartyContextPawn(pawn); - } public S2CContextGetPartyMypawnContextNtc() { @@ -38,7 +32,6 @@ public override S2CContextGetPartyMypawnContextNtc Read(IBuffer buffer) obj.Context = ReadEntity(buffer); return obj; } - } } } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs index ef86b9d55..035263474 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataPartyContextPawn.cs @@ -5,21 +5,6 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataPartyContextPawn { - public CDataPartyContextPawn(Pawn pawn) - { - Base = new CDataContextBase(pawn.Character); - Base.PawnId = pawn.Character.Id; - Base.CharacterId = pawn.Owner.Character.Id; - Base.PawnType = pawn.PawnType; - Base.HmType = pawn.HmType; - PlayerInfo = new CDataContextPlayerInfo(pawn.Character); - PawnReactionList = pawn.PawnReactionList; - Unk0 = new byte[64]; - SpSkillList = pawn.SpSkillList; - ResistInfo = new CDataContextResist(pawn.Character); - EditInfo = pawn.Character.EditInfo; - } - public CDataPartyContextPawn() { Base = new CDataContextBase(); diff --git a/Arrowgene.Ddon.Shared/Model/Pawn.cs b/Arrowgene.Ddon.Shared/Model/Pawn.cs index 3ae08fb74..37f68d817 100644 --- a/Arrowgene.Ddon.Shared/Model/Pawn.cs +++ b/Arrowgene.Ddon.Shared/Model/Pawn.cs @@ -1,7 +1,5 @@ using System.Collections.Generic; -using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Model { @@ -15,7 +13,7 @@ public Pawn(uint ownerCharacterId) PawnReactionList = new List(); SpSkillList = new List(); } - + public uint OwnerCharacterId { get; set; } public Character Character { get; set; } public byte HmType { get; set; } @@ -24,6 +22,5 @@ public Pawn(uint ownerCharacterId) public List PawnReactionList { get; set; } public List SpSkillList { get; set; } - } } From bb740f05463f6f588f6b25baf1e7532d4a1a29c5 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 29 Sep 2022 20:28:46 +0800 Subject: [PATCH 46/72] fix pawn character npe --- Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs | 1 + .../Handler/PawnJoinPartyMypawnHandler.cs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs index 6c17f99fb..f8e675dc6 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs @@ -75,6 +75,7 @@ public override void Handle(GameClient client, StructurePacket Date: Fri, 30 Sep 2022 18:44:21 +0800 Subject: [PATCH 47/72] pawn / player difference --- Arrowgene.Ddon.Cli/Program.cs | 1 + .../Handler/PartyPartyJoinHandler.cs | 65 ++++++++++++++----- 2 files changed, 49 insertions(+), 17 deletions(-) diff --git a/Arrowgene.Ddon.Cli/Program.cs b/Arrowgene.Ddon.Cli/Program.cs index 52158c230..600ae3c9c 100644 --- a/Arrowgene.Ddon.Cli/Program.cs +++ b/Arrowgene.Ddon.Cli/Program.cs @@ -54,6 +54,7 @@ internal class Program PacketId.S2C_CONNECTION_PING_RES, PacketId.C2L_PING_REQ, PacketId.L2C_PING_RES, + PacketId.S2C_LOBBY_LOBBY_DATA_MSG_NTC, }; private static void Main(string[] args) diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs index f8e675dc6..301c32e41 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs @@ -1,5 +1,7 @@ +using System.Threading; using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared.Entity; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Model; @@ -43,7 +45,7 @@ public override void Handle(GameClient client, StructurePacket Date: Fri, 30 Sep 2022 19:10:24 +0800 Subject: [PATCH 48/72] fix member id --- .../Handler/PartyPartyJoinHandler.cs | 24 +++++++++---------- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs index 301c32e41..74ca67611 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs @@ -45,7 +45,7 @@ public override void Handle(GameClient client, StructurePacket>(); From d1c472a350511458805978e731b9695b98b9c80d Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sat, 1 Oct 2022 01:06:25 +0200 Subject: [PATCH 49/72] Separate tables and model for skills and abilities --- .../Files/Database/Script/schema_sqlite.sql | 35 +++-- Arrowgene.Ddon.Database/IDatabase.cs | 28 ++-- .../Sql/Core/DdonSqlDbCharacter.cs | 20 +-- .../Sql/Core/DdonSqlDbEquippedAbility.cs | 113 ++++++++++++++ .../Sql/Core/DdonSqlDbEquippedCustomSkill.cs | 78 ++++++++++ .../Sql/Core/DdonSqlDbSetAcquirementParam.cs | 64 -------- .../Chat/Command/Commands/JobCommand.cs | 4 +- .../Handler/JobChangeJobHandler.cs | 14 +- .../Handler/PawnJoinPartyMypawnHandler.cs | 112 +++++++------- .../Handler/SkillChangeExSkillHandler.cs | 17 ++- .../SkillGetCurrentSetSkillListHandler.cs | 12 +- .../Handler/SkillGetSetAbilityListHandler.cs | 3 +- .../Handler/SkillGetSetSkillListHandler.cs | 6 +- .../Handler/SkillSetAbilityHandler.cs | 30 ++-- .../Handler/SkillSetOffAbilityHandler.cs | 35 ++++- .../Handler/SkillSetOffSkillHandler.cs | 2 +- .../Handler/SkillSetSkillHandler.cs | 29 ++-- .../Handler/CreateCharacterHandler.cs | 140 +++++++++--------- .../Entity/Structure/CDataContextBase.cs | 4 +- .../Structure/CDataSetAcquirementParam.cs | 11 +- Arrowgene.Ddon.Shared/Model/Ability.cs | 34 +++++ Arrowgene.Ddon.Shared/Model/Character.cs | 8 +- Arrowgene.Ddon.Shared/Model/CustomSkill.cs | 33 +++++ 23 files changed, 540 insertions(+), 292 deletions(-) create mode 100644 Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedAbility.cs create mode 100644 Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedCustomSkill.cs delete mode 100644 Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs create mode 100644 Arrowgene.Ddon.Shared/Model/Ability.cs create mode 100644 Arrowgene.Ddon.Shared/Model/CustomSkill.cs diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 9edca5330..6afa5ef8e 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -242,18 +242,6 @@ CREATE TABLE IF NOT EXISTS `ddon_equip_job_item` CONSTRAINT `fk_equip_job_item_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS `ddon_set_acquirement_param` -( - `character_id` INTEGER NOT NULL, - `job` TINYINT NOT NULL, - `type` TINYINT NOT NULL, - `slot_no` TINYINT NOT NULL, - `acquirement_no` INT NOT NULL, - `acquirement_lv` TINYINT NOT NULL, - PRIMARY KEY (`character_id`, `job`, `type`, `slot_no`), - CONSTRAINT `fk_set_acquirement_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE -); - CREATE TABLE IF NOT EXISTS `ddon_normal_skill_param` ( `character_id` INTEGER NOT NULL, @@ -265,6 +253,29 @@ CREATE TABLE IF NOT EXISTS `ddon_normal_skill_param` CONSTRAINT `fk_normal_skill_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); +CREATE TABLE IF NOT EXISTS `ddon_equipped_custom_skill` +( + `character_id` INTEGER NOT NULL, + `job` TINYINT NOT NULL, + `slot_no` TINYINT NOT NULL, + `skill_id` INT NOT NULL, + `skill_lv` TINYINT NOT NULL, + PRIMARY KEY (`character_id`, `job`, `slot_no`), + CONSTRAINT `fk_set_acquirement_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `ddon_equipped_ability` +( + `character_id` INTEGER NOT NULL, + `equipped_to_job` TINYINT NOT NULL, + `job` TINYINT NOT NULL, + `slot_no` TINYINT NOT NULL, + `ability_id` INT NOT NULL, + `ability_lv` TINYINT NOT NULL, + PRIMARY KEY (`character_id`, `equipped_to_job`, `slot_no`), + CONSTRAINT `fk_set_acquirement_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE +); + CREATE TABLE IF NOT EXISTS `ddon_game_token` ( `account_id` INTEGER PRIMARY KEY NOT NULL, diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 3ef54ee69..237e91bb8 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -24,16 +24,26 @@ public interface IDatabase // Character bool CreateCharacter(Character character); - public bool UpdateCharacter(Character character); - public Character SelectCharacter(uint characterId); + bool UpdateCharacter(Character character); + Character SelectCharacter(uint characterId); List SelectCharactersByAccountId(int accountId); - public bool DeleteCharacter(uint characterId); - - public bool UpdateCharacterBaseInfo(Character character); - - // Acquirements - public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam); - public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte type, byte slotNo); + bool DeleteCharacter(uint characterId); + + bool UpdateCharacterBaseInfo(Character character); + + // CustomSkills + bool InsertEquippedCustomSkill(uint characterId, CustomSkill skill); + bool ReplaceEquippedCustomSkill(uint characterId, CustomSkill skill); + bool UpdateEquippedCustomSkill(uint characterId, JobId oldJob, byte oldSlotNo, CustomSkill skill); + bool DeleteEquippedCustomSkill(uint characterId, JobId job, byte slotNo); + + // Abilities + bool InsertEquippedAbility(uint characterId, Ability skill); + bool ReplaceEquippedAbility(uint characterId, Ability skill); + bool ReplaceEquippedAbilities(uint characterId, JobId equippedToJob, List abilities); + bool UpdateEquippedAbility(uint characterId, JobId oldEquippedToJob, byte oldSlotNo, Ability skill); + bool DeleteEquippedAbility(uint characterId, JobId equippedToJob, byte slotNo); + bool DeleteEquippedAbilities(uint characterId, JobId equippedToJob); // GameToken bool SetToken(GameToken token); diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index 7ec84b7e7..b83727876 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -281,24 +281,24 @@ private void QueryCharacterData(TCon conn, Character character) }); // Custom Skills - ExecuteReader(conn, SqlSelectCustomSkills, + ExecuteReader(conn, SqlSelectEquippedCustomSkills, command => { AddParameter(command, "@character_id", character.Id); }, reader => { while (reader.Read()) { - character.CustomSkills.Add(ReadSetAcquirementParam(reader)); + character.CustomSkills.Add(ReadCustomSkill(reader)); } }); // Abilities - ExecuteReader(conn, SqlSelectAbilities, + ExecuteReader(conn, SqlSelectEquippedAbilities, command => { AddParameter(command, "@character_id", character.Id); }, reader => { while (reader.Read()) { - character.Abilities.Add(ReadSetAcquirementParam(reader)); + character.Abilities.Add(ReadAbility(reader)); } }); } @@ -360,19 +360,19 @@ private void StoreCharacterData(TCon conn, Character character) }); } - foreach(CDataSetAcquirementParam setAcquirementParam in character.CustomSkills) + foreach(CustomSkill skill in character.CustomSkills) { - ExecuteNonQuery(conn, SqlReplaceSetAcquirementParam, command => + ExecuteNonQuery(conn, SqlReplaceEquippedCustomSkill, command => { - AddParameter(command, character.Id, setAcquirementParam); + AddParameter(command, character.Id, skill); }); } - foreach(CDataSetAcquirementParam setAcquirementParam in character.Abilities) + foreach(Ability ability in character.Abilities) { - ExecuteNonQuery(conn, SqlReplaceSetAcquirementParam, command => + ExecuteNonQuery(conn, SqlReplaceEquippedAbility, command => { - AddParameter(command, character.Id, setAcquirementParam); + AddParameter(command, character.Id, ability); }); } } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedAbility.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedAbility.cs new file mode 100644 index 000000000..57aa1bcd4 --- /dev/null +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedAbility.cs @@ -0,0 +1,113 @@ +using System.Collections.Generic; +using System.Data.Common; +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.Database.Sql.Core +{ + public abstract partial class DdonSqlDb : SqlDb + where TCon : DbConnection + where TCom : DbCommand + { + private static readonly string[] EquippedAbilityFields = new string[] + { + "character_id", "equipped_to_job", "job", "slot_no", "ability_id", "ability_lv" + }; + + private readonly string SqlInsertEquippedAbility = $"INSERT INTO `ddon_equipped_ability` ({BuildQueryField(EquippedAbilityFields)}) VALUES ({BuildQueryInsert(EquippedAbilityFields)});"; + private readonly string SqlReplaceEquippedAbility = $"INSERT OR REPLACE INTO `ddon_equipped_ability` ({BuildQueryField(EquippedAbilityFields)}) VALUES ({BuildQueryInsert(EquippedAbilityFields)});"; + private static readonly string SqlUpdateEquippedAbility = $"UPDATE `ddon_equipped_ability` SET {BuildQueryUpdate(EquippedAbilityFields)} WHERE `character_id`=@old_character_id AND `equipped_to_job`=@old_equipped_to_job AND `slot_no`=@old_slot_no;"; + private static readonly string SqlSelectEquippedAbilities = $"SELECT {BuildQueryField(EquippedAbilityFields)} FROM `ddon_equipped_ability` WHERE `character_id`=@character_id ORDER BY equipped_to_job, slot_no;"; + private const string SqlDeleteEquippedAbility = "DELETE FROM `ddon_equipped_ability` WHERE `character_id`=@character_id AND `equipped_to_job`=@equipped_to_job AND `slot_no`=@slot_no;"; + private const string SqlDeleteEquippedAbilities = "DELETE FROM `ddon_equipped_ability` WHERE `character_id`=@character_id AND `equipped_to_job`=@equipped_to_job;"; + + public bool InsertEquippedAbility(uint characterId, Ability ability) + { + return ExecuteNonQuery(SqlInsertEquippedAbility, command => + { + AddParameter(command, characterId, ability); + }) == 1; + } + + public bool ReplaceEquippedAbility(uint characterId, Ability ability) + { + ExecuteNonQuery(SqlReplaceEquippedAbility, command => + { + AddParameter(command, characterId, ability); + }); + return true; + } + + public bool ReplaceEquippedAbilities(uint characterId, JobId equippedToJob, List abilities) + { + return ExecuteInTransaction(connection => + { + // Remove previously equipped abilities + ExecuteNonQuery(connection, SqlDeleteEquippedAbilities, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@equipped_to_job", (byte) equippedToJob); + }); + + // Insert new ones + foreach(Ability ability in abilities) + { + ExecuteNonQuery(connection, SqlInsertEquippedAbility, command => + { + AddParameter(command, characterId, ability); + }); + } + }); + } + + public bool UpdateEquippedAbility(uint characterId, JobId oldEquippedToJob, byte oldSlotNo, Ability updatedability) + { + return ExecuteNonQuery(SqlDeleteEquippedAbility, command => + { + AddParameter(command, characterId, updatedability); + AddParameter(command, "@old_character_id", characterId); + AddParameter(command, "@old_equipped_to_job", (byte) oldEquippedToJob); + AddParameter(command, "@old_slot_no", oldSlotNo); + }) == 1; + } + + public bool DeleteEquippedAbility(uint characterId, JobId equippedToJob, byte slotNo) + { + return ExecuteNonQuery(SqlDeleteEquippedAbility, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@equipped_to_job", (byte) equippedToJob); + AddParameter(command, "@slot_no", slotNo); + }) == 1; + } + + public bool DeleteEquippedAbilities(uint characterId, JobId equippedToJob) + { + return ExecuteNonQuery(SqlDeleteEquippedAbilities, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@equipped_to_job", (byte) equippedToJob); + }) == 1; + } + + private Ability ReadAbility(DbDataReader reader) + { + Ability ability = new Ability(); + ability.EquippedToJob = (JobId) GetByte(reader, "equipped_to_job"); + ability.Job = (JobId) GetByte(reader, "job"); + ability.SlotNo = GetByte(reader, "slot_no"); + ability.AbilityId = GetUInt32(reader, "ability_id"); + ability.AbilityLv = GetByte(reader, "ability_lv"); + return ability; + } + + private void AddParameter(TCom command, uint characterId, Ability ability) + { + AddParameter(command, "character_id", characterId); + AddParameter(command, "equipped_to_job", (byte) ability.EquippedToJob); + AddParameter(command, "job", (byte) ability.Job); + AddParameter(command, "slot_no", ability.SlotNo); + AddParameter(command, "ability_id", ability.AbilityId); + AddParameter(command, "ability_lv", ability.AbilityLv); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedCustomSkill.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedCustomSkill.cs new file mode 100644 index 000000000..a29e44d8a --- /dev/null +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbEquippedCustomSkill.cs @@ -0,0 +1,78 @@ +using System.Data.Common; +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.Database.Sql.Core +{ + public abstract partial class DdonSqlDb : SqlDb + where TCon : DbConnection + where TCom : DbCommand + { + private static readonly string[] EquippedCustomSkillFields = new string[] + { + "character_id", "job", "slot_no", "skill_id", "skill_lv" + }; + + private readonly string SqlInsertEquippedCustomSkill = $"INSERT INTO `ddon_equipped_custom_skill` ({BuildQueryField(EquippedCustomSkillFields)}) VALUES ({BuildQueryInsert(EquippedCustomSkillFields)});"; + private readonly string SqlReplaceEquippedCustomSkill = $"INSERT OR REPLACE INTO `ddon_equipped_custom_skill` ({BuildQueryField(EquippedCustomSkillFields)}) VALUES ({BuildQueryInsert(EquippedCustomSkillFields)});"; + private static readonly string SqlUpdateEquippedCustomSkill = $"UPDATE `ddon_equipped_custom_skill` SET {BuildQueryUpdate(EquippedCustomSkillFields)} WHERE `character_id`=@old_character_id AND `job`=@old_job AND `slot_no`=@old_slot_no;"; + private static readonly string SqlSelectEquippedCustomSkills = $"SELECT {BuildQueryField(EquippedCustomSkillFields)} FROM `ddon_equipped_custom_skill` WHERE `character_id`=@character_id;"; + private const string SqlDeleteEquippedCustomSkill = "DELETE FROM `ddon_equipped_custom_skill` WHERE `character_id`=@character_id AND `job`=@job AND `slot_no`=@slot_no;"; + + public bool InsertEquippedCustomSkill(uint characterId, CustomSkill skill) + { + return ExecuteNonQuery(SqlInsertEquippedCustomSkill, command => + { + AddParameter(command, characterId, skill); + }) == 1; + } + + public bool ReplaceEquippedCustomSkill(uint characterId, CustomSkill skill) + { + ExecuteNonQuery(SqlReplaceEquippedCustomSkill, command => + { + AddParameter(command, characterId, skill); + }); + return true; + } + + public bool UpdateEquippedCustomSkill(uint characterId, JobId oldJob, byte oldSlotNo, CustomSkill updatedSkill) + { + return ExecuteNonQuery(SqlDeleteEquippedCustomSkill, command => + { + AddParameter(command, characterId, updatedSkill); + AddParameter(command, "@old_character_id", characterId); + AddParameter(command, "@old_job", (byte) oldJob); + AddParameter(command, "@old_slot_no", oldSlotNo); + }) == 1; + } + + public bool DeleteEquippedCustomSkill(uint characterId, JobId job, byte slotNo) + { + return ExecuteNonQuery(SqlDeleteEquippedCustomSkill, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@job", (byte) job); + AddParameter(command, "@slot_no", slotNo); + }) == 1; + } + + private CustomSkill ReadCustomSkill(DbDataReader reader) + { + CustomSkill skill = new CustomSkill(); + skill.Job = (JobId) GetByte(reader, "job"); + skill.SlotNo = GetByte(reader, "slot_no"); + skill.SkillId = GetUInt32(reader, "skill_id"); + skill.SkillLv = GetByte(reader, "skill_lv"); + return skill; + } + + private void AddParameter(TCom command, uint characterId, CustomSkill skill) + { + AddParameter(command, "character_id", characterId); + AddParameter(command, "job", (byte) skill.Job); + AddParameter(command, "slot_no", skill.SlotNo); + AddParameter(command, "skill_id", skill.SkillId); + AddParameter(command, "skill_lv", skill.SkillLv); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs deleted file mode 100644 index f2735b1cf..000000000 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbSetAcquirementParam.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System.Data.Common; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; - -namespace Arrowgene.Ddon.Database.Sql.Core -{ - public abstract partial class DdonSqlDb : SqlDb - where TCon : DbConnection - where TCom : DbCommand - { - private static readonly string[] CDataSetAcquirementParamFields = new string[] - { - "character_id", "job", "type", "slot_no", "acquirement_no", "acquirement_lv" - }; - - private readonly string SqlInsertSetAcquirementParam = $"INSERT INTO `ddon_set_acquirement_param` ({BuildQueryField(CDataSetAcquirementParamFields)}) VALUES ({BuildQueryInsert(CDataSetAcquirementParamFields)});"; - private readonly string SqlReplaceSetAcquirementParam = $"INSERT OR REPLACE INTO `ddon_set_acquirement_param` ({BuildQueryField(CDataSetAcquirementParamFields)}) VALUES ({BuildQueryInsert(CDataSetAcquirementParamFields)});"; - private static readonly string SqlUpdateSetAcquirementParam = $"UPDATE `ddon_set_acquirement_param` SET {BuildQueryUpdate(CDataSetAcquirementParamFields)} WHERE `character_id`=@character_id AND `job`=@job AND `type`=@type AND `slot_no`=@slot_no;"; - private static readonly string SqlSelectCustomSkills = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `type`=0;"; - private static readonly string SqlSelectAbilities = $"SELECT {BuildQueryField(CDataSetAcquirementParamFields)} FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `type`<>0;"; - private const string SqlDeleteSetAcquirementParam = "DELETE FROM `ddon_set_acquirement_param` WHERE `character_id`=@character_id AND `job`=@job AND `type`=@type AND `slot_no`=@slot_no;"; - - public bool ReplaceSetAcquirementParam(uint characterId, CDataSetAcquirementParam setAcquirementParam) - { - ExecuteNonQuery(SqlReplaceSetAcquirementParam, command => - { - AddParameter(command, characterId, setAcquirementParam); - }); - return true; - } - - public bool DeleteSetAcquirementParam(uint characterId, JobId job, byte type, byte slotNo) - { - return ExecuteNonQuery(SqlDeleteSetAcquirementParam, command => - { - AddParameter(command, "@character_id", characterId); - AddParameter(command, "@job", (byte) job); - AddParameter(command, "@type", type); - AddParameter(command, "@slot_no", slotNo); - }) == 1; - } - - private CDataSetAcquirementParam ReadSetAcquirementParam(DbDataReader reader) - { - CDataSetAcquirementParam setAcquirementParam = new CDataSetAcquirementParam(); - setAcquirementParam.Job = (JobId) GetByte(reader, "job"); - setAcquirementParam.Type = GetByte(reader, "type"); - setAcquirementParam.SlotNo = GetByte(reader, "slot_no"); - setAcquirementParam.AcquirementNo = GetUInt32(reader, "acquirement_no"); - setAcquirementParam.AcquirementLv = GetByte(reader, "acquirement_lv"); - return setAcquirementParam; - } - - private void AddParameter(TCom command, uint characterId, CDataSetAcquirementParam setAcquirementParam) - { - AddParameter(command, "character_id", characterId); - AddParameter(command, "job", (byte) setAcquirementParam.Job); - AddParameter(command, "type", setAcquirementParam.Type); - AddParameter(command, "slot_no", setAcquirementParam.SlotNo); - AddParameter(command, "acquirement_no", setAcquirementParam.AcquirementNo); - AddParameter(command, "acquirement_lv", setAcquirementParam.AcquirementLv); - } - } -} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs index cae4052a1..ed00c18fd 100644 --- a/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs +++ b/Arrowgene.Ddon.GameServer/Chat/Command/Commands/JobCommand.cs @@ -85,9 +85,11 @@ public override void Execute(string[] command, GameClient client, ChatMessage me .ToList(); notice.SetAcquirementParamList = client.Character.CustomSkills .Where(x => x.Job == job) + .Select(x => x.AsCDataSetAcquirementParam()) .ToList(); notice.SetAbilityParamList = client.Character.Abilities - .Where(x => x.Job == job) + .Where(x => x.EquippedToJob == job) + .Select(x => x.AsCDataSetAcquirementParam()) .ToList(); notice.LearnNormalSkillParamList = client.Character.NormalSkills .Select(x => new CDataLearnNormalSkillParam(x)) diff --git a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs index 0c6c8f692..1347bf9ea 100644 --- a/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/JobChangeJobHandler.cs @@ -36,16 +36,18 @@ public override void Handle(GameClient client, StructurePacket x.Job == packet.Structure.JobId) + .Select(x => x.AsCDataSetAcquirementParam()) .ToList(); notice.SetAbilityParamList = client.Character.Abilities - .Where(x => x.Job == packet.Structure.JobId) + .Where(x => x.EquippedToJob == packet.Structure.JobId) + .Select(x => x.AsCDataSetAcquirementParam()) .ToList(); notice.LearnNormalSkillParamList = client.Character.NormalSkills .Select(x => new CDataLearnNormalSkillParam(x)) .ToList(); notice.EquipJobItemList = client.Character.CharacterEquipJobItemListDictionary[client.Character.Job]; - foreach(GameClient otherClient in Server.Clients) + foreach(GameClient otherClient in Server.ClientLookup.GetAll()) { otherClient.Send(notice); // This does the change itself (it does work) } @@ -59,8 +61,12 @@ public override void Handle(GameClient client, StructurePacket x.AsCDataSetAcquirementParam()) + .ToList(); + notice.SetAbilityParamList = client.Character.Abilities + .Select(x => x.AsCDataSetAcquirementParam()) + .ToList(); notice.LearnNormalSkillParamList = client.Character.NormalSkills .Select(x => new CDataLearnNormalSkillParam(x)) .ToList(); diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index bc5cecc6e..cf8142665 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -804,107 +804,103 @@ public override void Handle(GameClient client, StructurePacket() { + pawn.Character.CustomSkills = new List() { // Main Palette - new CDataSetAcquirementParam() { + new CustomSkill() { Job = myPawnCsvData.Job, - Type = 0, SlotNo = 1, - AcquirementNo = myPawnCsvData.CustomSkillId1, - AcquirementLv = myPawnCsvData.CustomSkillLv1 + SkillId = myPawnCsvData.CustomSkillId1, + SkillLv = myPawnCsvData.CustomSkillLv1 }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = myPawnCsvData.Job, - Type = 0, SlotNo = 2, - AcquirementNo = myPawnCsvData.CustomSkillId2, - AcquirementLv = myPawnCsvData.CustomSkillLv2 + SkillId = myPawnCsvData.CustomSkillId2, + SkillLv = myPawnCsvData.CustomSkillLv2 }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = myPawnCsvData.Job, - Type = 0, SlotNo = 3, - AcquirementNo = myPawnCsvData.CustomSkillId3, - AcquirementLv = myPawnCsvData.CustomSkillLv3 + SkillId = myPawnCsvData.CustomSkillId3, + SkillLv = myPawnCsvData.CustomSkillLv3 }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = myPawnCsvData.Job, - Type = 0, SlotNo = 4, - AcquirementNo = myPawnCsvData.CustomSkillId4, - AcquirementLv = myPawnCsvData.CustomSkillLv4 + SkillId = myPawnCsvData.CustomSkillId4, + SkillLv = myPawnCsvData.CustomSkillLv4 } }; - pawn.Character.Abilities = new List() { - new CDataSetAcquirementParam() { + pawn.Character.Abilities = new List() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 1, - AcquirementNo = myPawnCsvData.AbilityId1, - AcquirementLv = myPawnCsvData.AbilityLv1 + AbilityId = myPawnCsvData.AbilityId1, + AbilityLv = myPawnCsvData.AbilityLv1 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 2, - AcquirementNo = myPawnCsvData.AbilityId2, - AcquirementLv = myPawnCsvData.AbilityLv2 + AbilityId = myPawnCsvData.AbilityId2, + AbilityLv = myPawnCsvData.AbilityLv2 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 3, - AcquirementNo = myPawnCsvData.AbilityId3, - AcquirementLv = myPawnCsvData.AbilityLv3 + AbilityId = myPawnCsvData.AbilityId3, + AbilityLv = myPawnCsvData.AbilityLv3 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 4, - AcquirementNo = myPawnCsvData.AbilityId4, - AcquirementLv = myPawnCsvData.AbilityLv4 + AbilityId = myPawnCsvData.AbilityId4, + AbilityLv = myPawnCsvData.AbilityLv4 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 5, - AcquirementNo = myPawnCsvData.AbilityId5, - AcquirementLv = myPawnCsvData.AbilityLv5 + AbilityId = myPawnCsvData.AbilityId5, + AbilityLv = myPawnCsvData.AbilityLv5 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 6, - AcquirementNo = myPawnCsvData.AbilityId6, - AcquirementLv = myPawnCsvData.AbilityLv6 + AbilityId = myPawnCsvData.AbilityId6, + AbilityLv = myPawnCsvData.AbilityLv6 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 7, - AcquirementNo = myPawnCsvData.AbilityId7, - AcquirementLv = myPawnCsvData.AbilityLv7 + AbilityId = myPawnCsvData.AbilityId7, + AbilityLv = myPawnCsvData.AbilityLv7 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 8, - AcquirementNo = myPawnCsvData.AbilityId8, - AcquirementLv = myPawnCsvData.AbilityLv8 + AbilityId = myPawnCsvData.AbilityId8, + AbilityLv = myPawnCsvData.AbilityLv8 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 9, - AcquirementNo = myPawnCsvData.AbilityId9, - AcquirementLv = myPawnCsvData.AbilityLv9 + AbilityId = myPawnCsvData.AbilityId9, + AbilityLv = myPawnCsvData.AbilityLv9 }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = myPawnCsvData.Job, Job = 0, - Type = 0, SlotNo = 10, - AcquirementNo = myPawnCsvData.AbilityId10, - AcquirementLv = myPawnCsvData.AbilityLv10 + AbilityId = myPawnCsvData.AbilityId10, + AbilityLv = myPawnCsvData.AbilityLv10 } }; pawn.PawnReactionList = new List() diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs index ef6ce3d53..3f3d25b73 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillChangeExSkillHandler.cs @@ -6,6 +6,7 @@ using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; using System.Linq; +using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.GameServer.Handler { @@ -20,15 +21,15 @@ public SkillChangeExSkillHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { // Update all equiped skills of the type to the chosen EX skill - IEnumerable skillSlots = client.Character.CustomSkills - .Where(skill => skill.Job == packet.Structure.Job && GetBaseSkillId(skill.AcquirementNo) == GetBaseSkillId(packet.Structure.SkillId)); + IEnumerable skillSlots = client.Character.CustomSkills + .Where(skill => skill.Job == packet.Structure.Job && GetBaseSkillId(skill.SkillId) == GetBaseSkillId(packet.Structure.SkillId)); - foreach (CDataSetAcquirementParam skillSlot in skillSlots) + foreach (CustomSkill skillSlot in skillSlots) { - skillSlot.AcquirementNo = packet.Structure.SkillId; - skillSlot.AcquirementLv = 1; // Must be 1 otherwise they do 0 damage + skillSlot.SkillId = packet.Structure.SkillId; + skillSlot.SkillLv = 1; // Must be 1 otherwise they do 0 damage - Database.ReplaceSetAcquirementParam(client.Character.Id, skillSlot); + Database.ReplaceEquippedCustomSkill(client.Character.Id, skillSlot); // Inform party members of the change if(packet.Structure.Job == client.Character.Job) @@ -39,8 +40,8 @@ public override void Handle(GameClient client, StructurePacket packet) { - // TODO: Filter so only the current job skills are sent? Not sure + // TODO: Check if its necessary to filter so only the current job skills are sent S2CSkillGetCurrentSetSkillListRes res = new S2CSkillGetCurrentSetSkillListRes(); res.NormalSkillList = client.Character.NormalSkills; - res.SetCustomSkillList = client.Character.CustomSkills.Where(x => x.Job == client.Character.Job).ToList(); // Doesn't seem to be necessary for skills - res.SetAbilityList = client.Character.Abilities.Where(x => x.Job == client.Character.Job).ToList(); // But it seems so for abilities + res.SetCustomSkillList = client.Character.CustomSkills + .Where(x => x.Job == client.Character.Job) + .Select(x => x.AsCDataSetAcquirementParam()) + .ToList(); + res.SetAbilityList = client.Character.Abilities + .Where(x => x.EquippedToJob == client.Character.Job) + .Select(x => x.AsCDataSetAcquirementParam()) + .ToList(); client.Send(res); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs index 3614ae1b5..a3008b08b 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetAbilityListHandler.cs @@ -19,7 +19,8 @@ public override void Handle(GameClient client, StructurePacket ability.Type == (byte) client.Character.Job) + .Where(ability => ability.EquippedToJob == client.Character.Job) + .Select(x => x.AsCDataSetAcquirementParam()) .ToList() }); } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs index b5dca6cfe..8edbee135 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetSetSkillListHandler.cs @@ -2,6 +2,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -18,7 +19,10 @@ public SkillGetSetSkillListHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { client.Send(new S2CSkillGetSetSkillListRes() { - SetAcquierementParam = client.Character.CustomSkills.Where(x => x.Job == packet.Structure.Job).ToList() + SetAcquierementParam = client.Character.CustomSkills + .Where(x => x.Job == packet.Structure.Job) + .Select(x => x.AsCDataSetAcquirementParam()) + .ToList() }); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs index 5a544b0b0..282ff96f0 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs @@ -3,6 +3,7 @@ using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -18,32 +19,37 @@ public SkillSetAbilityHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { + if(packet.Structure.SlotNo == 0) + { + Logger.Error(client, $"Requesting to set a skill to slot 0\n{client.Character.Abilities}"); + } // TODO: Check in DB if the skill is unlocked and it's leveled up to what the packet says - CDataSetAcquirementParam abilitySlot = client.Character.Abilities - .Where(skill => skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo) + Ability abilitySlot = client.Character.Abilities + .Where(ability => ability.EquippedToJob == client.Character.Job && ability.SlotNo == packet.Structure.SlotNo) .FirstOrDefault(); if(abilitySlot == null) { - abilitySlot = new CDataSetAcquirementParam() + abilitySlot = new Ability() { + EquippedToJob = client.Character.Job, Job = packet.Structure.Job, SlotNo = packet.Structure.SlotNo, - Type = (byte) client.Character.Job }; client.Character.Abilities.Add(abilitySlot); } + + abilitySlot.Job = packet.Structure.Job; + abilitySlot.AbilityId = packet.Structure.SkillId; + abilitySlot.AbilityLv = packet.Structure.SkillLv; - abilitySlot.AcquirementNo = packet.Structure.SkillId; - abilitySlot.AcquirementLv = packet.Structure.SkillLv; - - Database.ReplaceSetAcquirementParam(client.Character.Id, abilitySlot); + Database.ReplaceEquippedAbility(client.Character.Id, abilitySlot); client.Send(new S2CSkillSetAbilityRes() { SlotNo = abilitySlot.SlotNo, - AbilityId = abilitySlot.AcquirementNo, - AbilityLv = abilitySlot.AcquirementLv + AbilityId = abilitySlot.AbilityId, + AbilityLv = abilitySlot.AbilityLv }); // Inform party members of the change @@ -53,8 +59,8 @@ public override void Handle(GameClient client, StructurePacket packet) { - CDataSetAcquirementParam ability = client.Character.Abilities - .Where(skill => skill.Type == (byte) client.Character.Job && skill.SlotNo == packet.Structure.SlotNo) - .Single(); + // TODO: Performance + List newAbilities = new List(); + lock(client.Character.Abilities) + { + byte removedAbilitySlotNo = Byte.MaxValue; + for(int i=0; i removedAbilitySlotNo) + { + ability.SlotNo--; + newAbilities.Add(ability); + } + } + } - // TODO: Error handling - Database.DeleteSetAcquirementParam(client.Character.Id, ability.Job, (byte) client.Character.Job, packet.Structure.SlotNo); + Database.ReplaceEquippedAbilities(client.Character.Id, client.Character.Job, newAbilities); client.Send(new S2CSkillSetOffAbilityRes() { SlotNo = packet.Structure.SlotNo diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs index d5322e8bb..dc07a965c 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetOffSkillHandler.cs @@ -19,7 +19,7 @@ public override void Handle(GameClient client, StructurePacket skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo); // TODO: Error handling - Database.DeleteSetAcquirementParam(client.Character.Id, packet.Structure.Job, 0, packet.Structure.SlotNo); + Database.DeleteEquippedCustomSkill(client.Character.Id, packet.Structure.Job, packet.Structure.SlotNo); client.Send(new S2CSkillSetOffSkillRes() { Job = packet.Structure.Job, diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs index 9fe96e05b..ded8ac329 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs @@ -3,6 +3,7 @@ using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -20,30 +21,34 @@ public override void Handle(GameClient client, StructurePacket skill.Job == packet.Structure.Job && skill.SlotNo == packet.Structure.SlotNo) .FirstOrDefault(); if(skillSlot == null) { - skillSlot = new CDataSetAcquirementParam() + skillSlot = new CustomSkill() { Job = packet.Structure.Job, - SlotNo = packet.Structure.SlotNo + SlotNo = packet.Structure.SlotNo, + SkillId = packet.Structure.SkillId, + SkillLv = packet.Structure.SkillLv }; client.Character.CustomSkills.Add(skillSlot); + Database.InsertEquippedCustomSkill(client.Character.Id, skillSlot); + } + else + { + skillSlot.SkillId = packet.Structure.SkillId; + skillSlot.SkillLv = packet.Structure.SkillLv; + Database.UpdateEquippedCustomSkill(client.Character.Id, skillSlot.Job, skillSlot.SlotNo, skillSlot); } - - skillSlot.AcquirementNo = packet.Structure.SkillId; - skillSlot.AcquirementLv = packet.Structure.SkillLv; - - Database.ReplaceSetAcquirementParam(client.Character.Id, skillSlot); client.Send(new S2CSkillSetSkillRes() { Job = skillSlot.Job, SlotNo = skillSlot.SlotNo, - SkillId = skillSlot.AcquirementNo, - SkillLv = skillSlot.AcquirementLv + SkillId = skillSlot.SkillId, + SkillLv = skillSlot.SkillLv }); // Inform party members of the change @@ -55,8 +60,8 @@ public override void Handle(GameClient client, StructurePacket new List() { + character.CustomSkills = Server.AssetRepository.ArisenAsset.SelectMany(arisenPreset => new List() { // Main Palette - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = 1, - AcquirementNo = arisenPreset.Cs1MpId, - AcquirementLv = arisenPreset.Cs1MpLv + SkillId = arisenPreset.Cs1MpId, + SkillLv = arisenPreset.Cs1MpLv }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = 2, - AcquirementNo = arisenPreset.Cs2MpId, - AcquirementLv = arisenPreset.Cs2MpLv + SkillId = arisenPreset.Cs2MpId, + SkillLv = arisenPreset.Cs2MpLv }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = 3, - AcquirementNo = arisenPreset.Cs3MpId, - AcquirementLv = arisenPreset.Cs3MpLv + SkillId = arisenPreset.Cs3MpId, + SkillLv = arisenPreset.Cs3MpLv }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = 4, - AcquirementNo = arisenPreset.Cs4MpId, - AcquirementLv = arisenPreset.Cs4MpLv + SkillId = arisenPreset.Cs4MpId, + SkillLv = arisenPreset.Cs4MpLv }, // Sub Palette - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = (1<<4) | 1, - AcquirementNo = arisenPreset.Cs1SpId, - AcquirementLv = arisenPreset.Cs1SpLv + SkillId = arisenPreset.Cs1SpId, + SkillLv = arisenPreset.Cs1SpLv }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = (1<<4) | 2, - AcquirementNo = arisenPreset.Cs2SpId, - AcquirementLv = arisenPreset.Cs2SpLv + SkillId = arisenPreset.Cs2SpId, + SkillLv = arisenPreset.Cs2SpLv }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = (1<<4) | 3, - AcquirementNo = arisenPreset.Cs3SpId, - AcquirementLv = arisenPreset.Cs3SpLv + SkillId = arisenPreset.Cs3SpId, + SkillLv = arisenPreset.Cs3SpLv }, - new CDataSetAcquirementParam() { + new CustomSkill() { Job = arisenPreset.Job, - Type = 0, SlotNo = (1<<4) | 4, - AcquirementNo = arisenPreset.Cs4SpId, - AcquirementLv = arisenPreset.Cs4SpLv + SkillId = arisenPreset.Cs4SpId, + SkillLv = arisenPreset.Cs4SpLv } }).ToList(); - character.Abilities = Server.AssetRepository.ArisenAsset.SelectMany(arisenPreset => new List() { - new CDataSetAcquirementParam() { + character.Abilities = Server.AssetRepository.ArisenAsset.SelectMany(arisenPreset => new List() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab1Jb, - Type = (byte) arisenPreset.Job, SlotNo = 1, - AcquirementNo = arisenPreset.Ab1Id, - AcquirementLv = arisenPreset.Ab1Lv + AbilityId = arisenPreset.Ab1Id, + AbilityLv = arisenPreset.Ab1Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab2Jb, - Type = (byte) arisenPreset.Job, SlotNo = 2, - AcquirementNo = arisenPreset.Ab2Id, - AcquirementLv = arisenPreset.Ab2Lv + AbilityId = arisenPreset.Ab2Id, + AbilityLv = arisenPreset.Ab2Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab3Jb, - Type = (byte) arisenPreset.Job, SlotNo = 3, - AcquirementNo = arisenPreset.Ab3Id, - AcquirementLv = arisenPreset.Ab3Lv + AbilityId = arisenPreset.Ab3Id, + AbilityLv = arisenPreset.Ab3Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab4Jb, - Type = (byte) arisenPreset.Job, SlotNo = 4, - AcquirementNo = arisenPreset.Ab4Id, - AcquirementLv = arisenPreset.Ab4Lv + AbilityId = arisenPreset.Ab4Id, + AbilityLv = arisenPreset.Ab4Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab5Jb, - Type = (byte) arisenPreset.Job, SlotNo = 5, - AcquirementNo = arisenPreset.Ab5Id, - AcquirementLv = arisenPreset.Ab5Lv + AbilityId = arisenPreset.Ab5Id, + AbilityLv = arisenPreset.Ab5Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab6Jb, - Type = (byte) arisenPreset.Job, SlotNo = 6, - AcquirementNo = arisenPreset.Ab6Id, - AcquirementLv = arisenPreset.Ab6Lv + AbilityId = arisenPreset.Ab6Id, + AbilityLv = arisenPreset.Ab6Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab7Jb, - Type = (byte) arisenPreset.Job, SlotNo = 7, - AcquirementNo = arisenPreset.Ab7Id, - AcquirementLv = arisenPreset.Ab7Lv + AbilityId = arisenPreset.Ab7Id, + AbilityLv = arisenPreset.Ab7Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab8Jb, - Type = (byte) arisenPreset.Job, SlotNo = 8, - AcquirementNo = arisenPreset.Ab8Id, - AcquirementLv = arisenPreset.Ab8Lv + AbilityId = arisenPreset.Ab8Id, + AbilityLv = arisenPreset.Ab8Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab9Jb, - Type = (byte) arisenPreset.Job, SlotNo = 9, - AcquirementNo = arisenPreset.Ab9Id, - AcquirementLv = arisenPreset.Ab9Lv + AbilityId = arisenPreset.Ab9Id, + AbilityLv = arisenPreset.Ab9Lv }, - new CDataSetAcquirementParam() { + new Ability() { + EquippedToJob = arisenPreset.Job, Job = arisenPreset.Ab10Jb, - Type = (byte) arisenPreset.Job, SlotNo = 10, - AcquirementNo = arisenPreset.Ab10Id, - AcquirementLv = arisenPreset.Ab10Lv + AbilityId = arisenPreset.Ab10Id, + AbilityLv = arisenPreset.Ab10Lv } }).ToList(); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs index 7889e908b..2d2ed0975 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataContextBase.cs @@ -30,10 +30,10 @@ public CDataContextBase(Character character) .Select(x => new CDataContextNormalSkillData(x)).ToList(); ContextSkillList = character.CustomSkills .Where(x => x.Job == character.Job) - .Select(x => new CDataContextAcquirementData(x)).ToList(); + .Select(x => x.AsCDataContextAcquirementData()).ToList(); ContextAbilityList = character.Abilities .Where(x => x.Job == character.Job) - .Select(x => new CDataContextAcquirementData(x)).ToList(); + .Select(x => x.AsCDataContextAcquirementData()).ToList(); Unk0List=new List(); // TODO: Figure this one out } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs index 4fdbe25a8..c02ed2a3b 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataSetAcquirementParam.cs @@ -5,17 +5,8 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataSetAcquirementParam { - public CDataSetAcquirementParam() - { - Job=0; - Type=0; - SlotNo=0; - AcquirementNo=0; - AcquirementLv=0; - } - public JobId Job { get; set; } - public byte Type { get; set; } // We're abusing this field for abilities to store the job the ability is equipped to + public byte Type { get; set; } public byte SlotNo { get; set; } public uint AcquirementNo { get; set; } public byte AcquirementLv { get; set; } diff --git a/Arrowgene.Ddon.Shared/Model/Ability.cs b/Arrowgene.Ddon.Shared/Model/Ability.cs new file mode 100644 index 000000000..ad104c635 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Model/Ability.cs @@ -0,0 +1,34 @@ +using Arrowgene.Ddon.Shared.Entity.Structure; + +namespace Arrowgene.Ddon.Shared.Model +{ + public class Ability + { + public JobId EquippedToJob { get; set; } + public JobId Job { get; set; } + public byte SlotNo { get; set; } // Slots start at 1 + public uint AbilityId { get; set; } + public byte AbilityLv { get; set; } + + public CDataSetAcquirementParam AsCDataSetAcquirementParam() + { + return new CDataSetAcquirementParam() + { + Job = this.Job, + SlotNo = this.SlotNo, + AcquirementNo = this.AbilityId, + AcquirementLv = this.AbilityLv + }; + } + + public CDataContextAcquirementData AsCDataContextAcquirementData() + { + return new CDataContextAcquirementData() + { + SlotNo = this.SlotNo, + AcquirementNo = this.AbilityId, + AcquirementLv = this.AbilityLv + }; + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Model/Character.cs b/Arrowgene.Ddon.Shared/Model/Character.cs index a3c7d6579..9451c8866 100644 --- a/Arrowgene.Ddon.Shared/Model/Character.cs +++ b/Arrowgene.Ddon.Shared/Model/Character.cs @@ -29,8 +29,8 @@ public Character() MatchingProfile = new CDataMatchingProfile(); ArisenProfile = new CDataArisenProfile(); NormalSkills = new List(); - CustomSkills = new List(); - Abilities = new List(); + CustomSkills = new List(); + Abilities = new List(); } public CDataCharacterJobData ActiveCharacterJobData @@ -75,8 +75,8 @@ public CDataCharacterJobData ActiveCharacterJobData public OnlineStatus OnlineStatus; public List NormalSkills { get; set; } - public List CustomSkills { get; set;} - public List Abilities { get; set; } + public List CustomSkills { get; set;} + public List Abilities { get; set; } /// TODO combine into a location class ? public StageId Stage { get; set; } diff --git a/Arrowgene.Ddon.Shared/Model/CustomSkill.cs b/Arrowgene.Ddon.Shared/Model/CustomSkill.cs new file mode 100644 index 000000000..598b38c7e --- /dev/null +++ b/Arrowgene.Ddon.Shared/Model/CustomSkill.cs @@ -0,0 +1,33 @@ +using Arrowgene.Ddon.Shared.Entity.Structure; + +namespace Arrowgene.Ddon.Shared.Model +{ + public class CustomSkill + { + public JobId Job { get; set; } + public byte SlotNo { get; set; } + public uint SkillId { get; set; } + public byte SkillLv { get; set; } + + public CDataSetAcquirementParam AsCDataSetAcquirementParam() + { + return new CDataSetAcquirementParam() + { + Job = this.Job, + SlotNo = this.SlotNo, + AcquirementNo = this.SkillId, + AcquirementLv = this.SkillLv + }; + } + + public CDataContextAcquirementData AsCDataContextAcquirementData() + { + return new CDataContextAcquirementData() + { + SlotNo = this.SlotNo, + AcquirementNo = this.SkillId, + AcquirementLv = this.SkillLv + }; + } + } +} \ No newline at end of file From a43f613cc5fae28c19355886093868543c722900 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Sun, 2 Oct 2022 15:22:03 +0200 Subject: [PATCH 50/72] Fixed skills not being saved correctly --- Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs index ded8ac329..2a2f9083f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetSkillHandler.cs @@ -35,15 +35,15 @@ public override void Handle(GameClient client, StructurePacket Date: Tue, 4 Oct 2022 00:32:47 +0200 Subject: [PATCH 51/72] Persist shortcuts and comunication shortcuts in DB --- .../Files/Database/Script/schema_sqlite.sql | 25 ++++++ Arrowgene.Ddon.Database/IDatabase.cs | 12 +++ .../Sql/Core/DdonSqlDbCharacter.cs | 38 +++++++++ .../Core/DdonSqlDbCommunicationShortcut.cs | 78 ++++++++++++++++++ .../Sql/Core/DdonSqlDbShortcut.cs | 80 +++++++++++++++++++ .../SetCommunicationShortcutHandler.cs | 7 +- .../Handler/SetShortcutHandler.cs | 12 +-- .../Handler/SkillSetAbilityHandler.cs | 2 +- .../Entity/EntitySerializer.cs | 4 +- .../C2SSetCommunicationShortcutReq.cs | 28 ++----- .../PacketStructure/C2SSetShortcutReq.cs | 30 ++----- .../S2CSetCommunicationShortcutRes.cs | 1 - .../PacketStructure/S2CSetShortcutRes.cs | 11 --- .../Structure/CDataCommunicationShortCut.cs | 48 +++++------ .../Entity/Structure/CDataShortCut.cs | 54 ++++++------- README.md | 5 +- 16 files changed, 315 insertions(+), 120 deletions(-) create mode 100644 Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs create mode 100644 Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index 6afa5ef8e..de13a67ad 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -276,6 +276,31 @@ CREATE TABLE IF NOT EXISTS `ddon_equipped_ability` CONSTRAINT `fk_set_acquirement_param_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); +CREATE TABLE IF NOT EXISTS `ddon_shortcut` +( + `character_id` INTEGER NOT NULL, + `page_no` INTEGER NOT NULL, + `button_no` INTEGER NOT NULL, + `shortcut_id` INTEGER NOT NULL, + `u32_data` INTEGER NOT NULL, + `f32_data` INTEGER NOT NULL, + `exex_type` TINYINT NOT NULL, + PRIMARY KEY (`character_id`, `shortcut_id`), + CONSTRAINT `fk_shortcut_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS `ddon_communication_shortcut` +( + `character_id` INTEGER NOT NULL, + `page_no` INTEGER NOT NULL, + `button_no` INTEGER NOT NULL, + `type` TINYINT NOT NULL, + `category` TINYINT NOT NULL, + `id` INTEGER NOT NULL, + PRIMARY KEY (`character_id`, `id`), + CONSTRAINT `fk_communication_shortcut_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE +); + CREATE TABLE IF NOT EXISTS `ddon_game_token` ( `account_id` INTEGER PRIMARY KEY NOT NULL, diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 237e91bb8..737abbde0 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -45,6 +45,18 @@ public interface IDatabase bool DeleteEquippedAbility(uint characterId, JobId equippedToJob, byte slotNo); bool DeleteEquippedAbilities(uint characterId, JobId equippedToJob); + // Shortcut + bool InsertShortcut(uint characterId, CDataShortCut shortcut); + bool ReplaceShortcut(uint characterId, CDataShortCut shortcut); + bool UpdateShortcut(uint characterId, uint oldShortcutId, CDataShortCut updatedShortcut); + bool DeleteShortcut(uint characterId, uint shortcutId); + + // CommunicationShortcut + bool InsertCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut); + bool ReplaceCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut); + bool UpdateCommunicationShortcut(uint characterId, uint oldId, CDataCommunicationShortCut updatedCommunicationShortcut); + bool DeleteCommunicationShortcut(uint characterId, uint id); + // GameToken bool SetToken(GameToken token); GameToken SelectTokenByAccountId(int accountId); diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs index b83727876..39535c667 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCharacter.cs @@ -301,6 +301,28 @@ private void QueryCharacterData(TCon conn, Character character) character.Abilities.Add(ReadAbility(reader)); } }); + + // Shortcuts + ExecuteReader(conn, SqlSelectShortcuts, + command => { AddParameter(command, "@character_id", character.Id); }, + reader => + { + while (reader.Read()) + { + character.ShortCutList.Add(ReadShortCut(reader)); + } + }); + + // CommunicationShortcuts + ExecuteReader(conn, SqlSelectCommunicationShortcuts, + command => { AddParameter(command, "@character_id", character.Id); }, + reader => + { + while (reader.Read()) + { + character.CommunicationShortCutList.Add(ReadCommunicationShortCut(reader)); + } + }); } private void StoreCharacterData(TCon conn, Character character) @@ -375,6 +397,22 @@ private void StoreCharacterData(TCon conn, Character character) AddParameter(command, character.Id, ability); }); } + + foreach(CDataShortCut shortcut in character.ShortCutList) + { + ExecuteNonQuery(conn, SqlReplaceShortcut, command => + { + AddParameter(command, character.Id, shortcut); + }); + } + + foreach(CDataCommunicationShortCut communicationShortcut in character.CommunicationShortCutList) + { + ExecuteNonQuery(conn, SqlReplaceCommunicationShortcut, command => + { + AddParameter(command, character.Id, communicationShortcut); + }); + } } private Character ReadAllCharacterData(DbDataReader reader) diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs new file mode 100644 index 000000000..e6eb6013e --- /dev/null +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs @@ -0,0 +1,78 @@ +using System.Data.Common; +using Arrowgene.Ddon.Shared.Entity.Structure; + +namespace Arrowgene.Ddon.Database.Sql.Core +{ + public abstract partial class DdonSqlDb : SqlDb + where TCon : DbConnection + where TCom : DbCommand + { + private static readonly string[] CommunicationShortcutFields = new string[] + { + "character_id", "page_no", "button_no", "type", "category", "id" + }; + + private readonly string SqlInsertCommunicationShortcut = $"INSERT INTO `ddon_communication_shortcut` ({BuildQueryField(CommunicationShortcutFields)}) VALUES ({BuildQueryInsert(CommunicationShortcutFields)});"; + private readonly string SqlReplaceCommunicationShortcut = $"INSERT OR REPLACE INTO `ddon_communication_shortcut` ({BuildQueryField(CommunicationShortcutFields)}) VALUES ({BuildQueryInsert(CommunicationShortcutFields)});"; + private static readonly string SqlUpdateCommunicationShortcut = $"UPDATE `ddon_communication_shortcut` SET {BuildQueryUpdate(CommunicationShortcutFields)} WHERE `character_id`=@old_character_id AND `old_id`=@old_id;"; + private static readonly string SqlSelectCommunicationShortcuts = $"SELECT {BuildQueryField(CommunicationShortcutFields)} FROM `ddon_communication_shortcut` WHERE `character_id`=@character_id;"; + private const string SqlDeleteCommunicationShortcut = "DELETE FROM `ddon_communication_shortcut` WHERE `character_id`=@character_id AND `id`=@id;"; + + public bool InsertCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut) + { + return ExecuteNonQuery(SqlInsertCommunicationShortcut, command => + { + AddParameter(command, characterId, communicationShortcut); + }) == 1; + } + + public bool ReplaceCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut) + { + ExecuteNonQuery(SqlReplaceCommunicationShortcut, command => + { + AddParameter(command, characterId, communicationShortcut); + }); + return true; + } + + public bool UpdateCommunicationShortcut(uint characterId, uint oldId, CDataCommunicationShortCut updatedCommunicationShortcut) + { + return ExecuteNonQuery(SqlDeleteCommunicationShortcut, command => + { + AddParameter(command, characterId, updatedCommunicationShortcut); + AddParameter(command, "@old_character_id", characterId); + AddParameter(command, "@old_id", oldId); + }) == 1; + } + + public bool DeleteCommunicationShortcut(uint characterId, uint id) + { + return ExecuteNonQuery(SqlDeleteCommunicationShortcut, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@id", id); + }) == 1; + } + + private CDataCommunicationShortCut ReadCommunicationShortCut(DbDataReader reader) + { + CDataCommunicationShortCut shortcut = new CDataCommunicationShortCut(); + shortcut.PageNo = GetUInt32(reader, "page_no"); + shortcut.ButtonNo = GetUInt32(reader, "button_no"); + shortcut.Type = GetByte(reader, "type"); + shortcut.Category = GetByte(reader, "category"); + shortcut.Id = GetUInt32(reader, "id"); + return shortcut; + } + + private void AddParameter(TCom command, uint characterId, CDataCommunicationShortCut shortcut) + { + AddParameter(command, "character_id", characterId); + AddParameter(command, "page_no", shortcut.PageNo); + AddParameter(command, "button_no", shortcut.ButtonNo); + AddParameter(command, "type", shortcut.Type); + AddParameter(command, "category", shortcut.Category); + AddParameter(command, "id", shortcut.Id); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs new file mode 100644 index 000000000..99a5cd094 --- /dev/null +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs @@ -0,0 +1,80 @@ +using System.Data.Common; +using Arrowgene.Ddon.Shared.Entity.Structure; + +namespace Arrowgene.Ddon.Database.Sql.Core +{ + public abstract partial class DdonSqlDb : SqlDb + where TCon : DbConnection + where TCom : DbCommand + { + private static readonly string[] ShortcutFields = new string[] + { + "character_id", "page_no", "button_no", "shortcut_id", "u32_data", "f32_data", "exex_type" + }; + + private readonly string SqlInsertShortcut = $"INSERT INTO `ddon_shortcut` ({BuildQueryField(ShortcutFields)}) VALUES ({BuildQueryInsert(ShortcutFields)});"; + private readonly string SqlReplaceShortcut = $"INSERT OR REPLACE INTO `ddon_shortcut` ({BuildQueryField(ShortcutFields)}) VALUES ({BuildQueryInsert(ShortcutFields)});"; + private static readonly string SqlUpdateShortcut = $"UPDATE `ddon_shortcut` SET {BuildQueryUpdate(ShortcutFields)} WHERE `character_id`=@old_character_id AND `shortcut_id`=@old_shortcut_id;"; + private static readonly string SqlSelectShortcuts = $"SELECT {BuildQueryField(ShortcutFields)} FROM `ddon_shortcut` WHERE `character_id`=@character_id;"; + private const string SqlDeleteShortcut = "DELETE FROM `ddon_shortcut` WHERE `character_id`=@character_id AND `shortcut_id`=@shortcut_id;"; + + public bool InsertShortcut(uint characterId, CDataShortCut shortcut) + { + return ExecuteNonQuery(SqlInsertShortcut, command => + { + AddParameter(command, characterId, shortcut); + }) == 1; + } + + public bool ReplaceShortcut(uint characterId, CDataShortCut shortcut) + { + ExecuteNonQuery(SqlReplaceShortcut, command => + { + AddParameter(command, characterId, shortcut); + }); + return true; + } + + public bool UpdateShortcut(uint characterId, uint oldShortcutId, CDataShortCut updatedShortcut) + { + return ExecuteNonQuery(SqlDeleteShortcut, command => + { + AddParameter(command, characterId, updatedShortcut); + AddParameter(command, "@old_character_id", characterId); + AddParameter(command, "@old_shortcut_id", oldShortcutId); + }) == 1; + } + + public bool DeleteShortcut(uint characterId, uint shortcutId) + { + return ExecuteNonQuery(SqlDeleteShortcut, command => + { + AddParameter(command, "@character_id", characterId); + AddParameter(command, "@shortcut_id", shortcutId); + }) == 1; + } + + private CDataShortCut ReadShortCut(DbDataReader reader) + { + CDataShortCut shortcut = new CDataShortCut(); + shortcut.PageNo = GetUInt32(reader, "page_no"); + shortcut.ButtonNo = GetUInt32(reader, "button_no"); + shortcut.ShortcutId = GetUInt32(reader, "shortcut_id"); + shortcut.U32Data = GetUInt32(reader, "u32_data"); + shortcut.F32Data = GetUInt32(reader, "f32_data"); + shortcut.ExexType = GetByte(reader, "exex_type"); + return shortcut; + } + + private void AddParameter(TCom command, uint characterId, CDataShortCut shortcut) + { + AddParameter(command, "character_id", characterId); + AddParameter(command, "page_no", shortcut.PageNo); + AddParameter(command, "button_no", shortcut.ButtonNo); + AddParameter(command, "shortcut_id", shortcut.ShortcutId); + AddParameter(command, "u32_data", shortcut.U32Data); + AddParameter(command, "f32_data", shortcut.F32Data); + AddParameter(command, "exex_type", shortcut.ExexType); + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/SetCommunicationShortcutHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SetCommunicationShortcutHandler.cs index 891f911fb..5e4e11a35 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SetCommunicationShortcutHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SetCommunicationShortcutHandler.cs @@ -1,6 +1,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -18,7 +19,11 @@ public SetCommunicationShortcutHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket request) { S2CSetCommunicationShortcutRes response = new S2CSetCommunicationShortcutRes(); - + foreach(CDataCommunicationShortCut shortcut in request.Structure.CommunicationShortCutList) + { + Database.ReplaceCommunicationShortcut(client.Character.Id, shortcut); + } + client.Character.CommunicationShortCutList = request.Structure.CommunicationShortCutList; client.Send(response); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/SetShortcutHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SetShortcutHandler.cs index 64906c34a..0eacddc9c 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SetShortcutHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SetShortcutHandler.cs @@ -1,6 +1,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -8,8 +9,7 @@ namespace Arrowgene.Ddon.GameServer.Handler { public class SetShortcutHandler : StructurePacketHandler { - //private static readonly ServerLogger Logger = LogProvider.Logger(typeof(WarpGetWarpPointListHandler)); - + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(WarpGetWarpPointListHandler)); public SetShortcutHandler(DdonGameServer server) : base(server) { @@ -18,9 +18,11 @@ public SetShortcutHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket request) { S2CSetShortcutRes response = new S2CSetShortcutRes(); - // response.WarpPointID = 0; - // response.Rim = 0; - + foreach(CDataShortCut shortcut in request.Structure.ShortCutList) + { + Database.ReplaceShortcut(client.Character.Id, shortcut); + } + client.Character.ShortCutList = request.Structure.ShortCutList; client.Send(response); } } diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs index 282ff96f0..61b63440f 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillSetAbilityHandler.cs @@ -21,7 +21,7 @@ public override void Handle(GameClient client, StructurePacket PacketId.C2S_PROFILE_SET_COMMUNICATION_SHORTCUT_LIST_REQ; - public uint PageNo { get; set; } - public uint ButtonNo { get; set; } - public byte Type { get; set; } - public byte Category { get; set; } - public uint ID { get; set; } - + public List CommunicationShortCutList { get; set; } public C2SSetCommunicationShortcutReq() { - PageNo = 0; - ButtonNo = 0; - Type = 0x00; - Category = 0x00; - ID = 0; - + CommunicationShortCutList = new List(); } public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, C2SSetCommunicationShortcutReq obj) { - WriteUInt32(buffer, obj.PageNo); - WriteUInt32(buffer, obj.ButtonNo); - WriteByte(buffer, obj.Type); - WriteByte(buffer, obj.Category); - WriteUInt32(buffer, obj.ID); + WriteEntityList(buffer, obj.CommunicationShortCutList); } public override C2SSetCommunicationShortcutReq Read(IBuffer buffer) { C2SSetCommunicationShortcutReq obj = new C2SSetCommunicationShortcutReq(); - obj.PageNo = ReadUInt32(buffer); - obj.ButtonNo = ReadUInt32(buffer); - obj.Type = ReadByte(buffer); - obj.Category = ReadByte(buffer); - obj.ID = ReadUInt32(buffer); + obj.CommunicationShortCutList = ReadEntityList(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSetShortcutReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSetShortcutReq.cs index 535fb2e95..e6143f0fc 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSetShortcutReq.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SSetShortcutReq.cs @@ -1,4 +1,6 @@ +using System.Collections.Generic; using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Entity.PacketStructure @@ -7,42 +9,22 @@ public class C2SSetShortcutReq : IPacketStructure { public PacketId Id => PacketId.C2S_PROFILE_SET_SHORTCUT_LIST_REQ; - public uint PageNo { get; set; } - public uint ButtonNo { get; set; } - public uint ShortcutID { get; set; } - public uint U32Data { get; set; } - public uint F32Data { get; set; } - public byte ExexType { get; set; } + public List ShortCutList { get; set; } public C2SSetShortcutReq() { - PageNo = 0; - ButtonNo = 0; - ShortcutID = 0; - U32Data = 0; - F32Data = 0; - ExexType = 0x00; + ShortCutList = new List(); } public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, C2SSetShortcutReq obj) { - WriteUInt32(buffer, obj.PageNo); - WriteUInt32(buffer, obj.ButtonNo); - WriteUInt32(buffer, obj.ShortcutID); - WriteUInt32(buffer, obj.U32Data); - WriteUInt32(buffer, obj.F32Data); - WriteByte(buffer, obj.ExexType); + WriteEntityList(buffer, obj.ShortCutList); } public override C2SSetShortcutReq Read(IBuffer buffer) { C2SSetShortcutReq obj = new C2SSetShortcutReq(); - obj.PageNo = ReadUInt32(buffer); - obj.ButtonNo = ReadUInt32(buffer); - obj.ShortcutID = ReadUInt32(buffer); - obj.U32Data = ReadUInt32(buffer); - obj.F32Data = ReadUInt32(buffer); - obj.ExexType = ReadByte(buffer); + obj.ShortCutList = ReadEntityList(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetCommunicationShortcutRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetCommunicationShortcutRes.cs index c01e8be67..537e8051a 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetCommunicationShortcutRes.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetCommunicationShortcutRes.cs @@ -21,7 +21,6 @@ public override S2CSetCommunicationShortcutRes Read(IBuffer buffer) { S2CSetCommunicationShortcutRes obj = new S2CSetCommunicationShortcutRes(); ReadServerResponse(buffer, obj); - return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetShortcutRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetShortcutRes.cs index c2e53e357..6e11ce046 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetShortcutRes.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CSetShortcutRes.cs @@ -6,27 +6,16 @@ public class S2CSetShortcutRes : ServerResponse { public override PacketId Id => PacketId.S2C_PROFILE_SET_SHORTCUT_LIST_RES; - // public uint unk1 { get; set; } - // public uint unk2 { get; set; } - public S2CSetShortcutRes() { - // unk1 = 0; - // unk2 = 0; - } - public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, S2CSetShortcutRes obj) { WriteServerResponse(buffer, obj); - // WriteUInt32(buffer, obj.unk1); - // WriteUInt32(buffer, obj.unk2); } public override S2CSetShortcutRes Read(IBuffer buffer) { S2CSetShortcutRes obj = new S2CSetShortcutRes(); ReadServerResponse(buffer, obj); - // obj.unk1 = ReadUInt32(buffer); - // obj.unk2 = ReadUInt32(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCommunicationShortCut.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCommunicationShortCut.cs index d7ae64538..574ae3780 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCommunicationShortCut.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCommunicationShortCut.cs @@ -4,33 +4,33 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataCommunicationShortCut { - public uint PageNo; - public uint ButtonNo; - public byte Type; - public byte Category; - public uint Id; - } + public uint PageNo { get; set; } + public uint ButtonNo { get; set; } + public byte Type { get; set; } + public byte Category { get; set; } + public uint Id { get; set; } - public class CDataCommunicationShortCutSerializer : EntitySerializer - { - public override void Write(IBuffer buffer, CDataCommunicationShortCut obj) + public class Serializer : EntitySerializer { - WriteUInt32(buffer, obj.PageNo); - WriteUInt32(buffer, obj.ButtonNo); - WriteByte(buffer, obj.Type); - WriteByte(buffer, obj.Category); - WriteUInt32(buffer, obj.Id); - } + public override void Write(IBuffer buffer, CDataCommunicationShortCut obj) + { + WriteUInt32(buffer, obj.PageNo); + WriteUInt32(buffer, obj.ButtonNo); + WriteByte(buffer, obj.Type); + WriteByte(buffer, obj.Category); + WriteUInt32(buffer, obj.Id); + } - public override CDataCommunicationShortCut Read(IBuffer buffer) - { - CDataCommunicationShortCut obj = new CDataCommunicationShortCut(); - obj.PageNo = ReadUInt32(buffer); - obj.ButtonNo = ReadUInt32(buffer); - obj.Type = ReadByte(buffer); - obj.Category = ReadByte(buffer); - obj.Id = ReadUInt32(buffer); - return obj; + public override CDataCommunicationShortCut Read(IBuffer buffer) + { + CDataCommunicationShortCut obj = new CDataCommunicationShortCut(); + obj.PageNo = ReadUInt32(buffer); + obj.ButtonNo = ReadUInt32(buffer); + obj.Type = ReadByte(buffer); + obj.Category = ReadByte(buffer); + obj.Id = ReadUInt32(buffer); + return obj; + } } } } diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataShortCut.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataShortCut.cs index 1708983a9..bbf258ed9 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataShortCut.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataShortCut.cs @@ -4,36 +4,36 @@ namespace Arrowgene.Ddon.Shared.Entity.Structure { public class CDataShortCut { - public uint PageNo; - public uint ButtonNo; - public uint ShortcutId; - public uint U32Data; - public uint F32Data; - public byte ExexType; - } + public uint PageNo { get; set; } + public uint ButtonNo { get; set; } + public uint ShortcutId { get; set; } + public uint U32Data { get; set; } + public uint F32Data { get; set; } + public byte ExexType { get; set; } - public class CDataShortCutSerializer : EntitySerializer - { - public override void Write(IBuffer buffer, CDataShortCut obj) + public class Serializer : EntitySerializer { - WriteUInt32(buffer, obj.PageNo); - WriteUInt32(buffer, obj.ButtonNo); - WriteUInt32(buffer, obj.ShortcutId); - WriteUInt32(buffer, obj.U32Data); - WriteUInt32(buffer, obj.F32Data); - WriteByte(buffer, obj.ExexType); - } + public override void Write(IBuffer buffer, CDataShortCut obj) + { + WriteUInt32(buffer, obj.PageNo); + WriteUInt32(buffer, obj.ButtonNo); + WriteUInt32(buffer, obj.ShortcutId); + WriteUInt32(buffer, obj.U32Data); + WriteUInt32(buffer, obj.F32Data); + WriteByte(buffer, obj.ExexType); + } - public override CDataShortCut Read(IBuffer buffer) - { - CDataShortCut obj = new CDataShortCut(); - obj.PageNo = ReadUInt32(buffer); - obj.ButtonNo = ReadUInt32(buffer); - obj.ShortcutId = ReadUInt32(buffer); - obj.U32Data = ReadUInt32(buffer); - obj.F32Data = ReadUInt32(buffer); - obj.ExexType = ReadByte(buffer); - return obj; + public override CDataShortCut Read(IBuffer buffer) + { + CDataShortCut obj = new CDataShortCut(); + obj.PageNo = ReadUInt32(buffer); + obj.ButtonNo = ReadUInt32(buffer); + obj.ShortcutId = ReadUInt32(buffer); + obj.U32Data = ReadUInt32(buffer); + obj.F32Data = ReadUInt32(buffer); + obj.ExexType = ReadByte(buffer); + return obj; + } } } } diff --git a/README.md b/README.md index bb3cf3b5f..d6dc73f72 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,9 @@ Run the `Ddon.Cli`-Project # Server With default configuration the server will listen on following ports: ``` -80 - http/download -52100 - tcp/server +52099 - http/download +52000 - tcp/gameserver +52100 - tcp/loginserver ``` ensure that no other local services listen on these ports. From 8b8fe96cff28f2a574ebf39c1eafaaf4fc4e8c59 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Tue, 4 Oct 2022 16:27:50 +0800 Subject: [PATCH 52/72] testing party system --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 6 + Arrowgene.Ddon.GameServer/GameClient.cs | 3 +- Arrowgene.Ddon.GameServer/GameStructure.cs | 62 +++ .../Handler/PartyPartyCreateHandler.cs | 52 ++- .../PartyPartyInviteCharacterHandler.cs | 70 ++-- .../Handler/PartyPartyInviteEntryHandler.cs | 2 +- .../PartyPartyInvitePrepareAcceptHandler.cs | 51 ++- .../Handler/PartyPartyJoinHandler.cs | 79 +--- .../Handler/PartyPartyLeaveHandler.cs | 14 +- .../Handler/PawnJoinPartyMypawnHandler.cs | 52 +-- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 386 +++++++++--------- .../Party/PartyManager.cs | 45 +- .../Party/PartyMember.cs | 28 ++ .../Party/PawnPartyMember.cs | 33 ++ .../Party/PlayerPartyMember.cs | 26 ++ Arrowgene.Ddon.Shared/Model/Pawn.cs | 3 + 16 files changed, 511 insertions(+), 401 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/GameStructure.cs create mode 100644 Arrowgene.Ddon.GameServer/Party/PartyMember.cs create mode 100644 Arrowgene.Ddon.GameServer/Party/PawnPartyMember.cs create mode 100644 Arrowgene.Ddon.GameServer/Party/PlayerPartyMember.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index b8408040d..21842de67 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -105,6 +105,12 @@ protected override void ClientDisconnected(GameClient client) Database.DeleteConnection(Id, client.Account.Id); } + PartyGroup party = client.Party; + if (party != null) + { + party.Leave(client); + } + EventHandler connectionChangeEvent = ClientConnectionChangeEvent; if (connectionChangeEvent != null) { diff --git a/Arrowgene.Ddon.GameServer/GameClient.cs b/Arrowgene.Ddon.GameServer/GameClient.cs index d2205249c..302e87aeb 100644 --- a/Arrowgene.Ddon.GameServer/GameClient.cs +++ b/Arrowgene.Ddon.GameServer/GameClient.cs @@ -32,8 +32,7 @@ public void UpdateIdentity() public Account Account { get; set; } public Character Character { get; set; } - - public PartyGroup PendingInvitedParty { get; set; } // Maybe its more clean to store this in the handlers ? + public PartyGroup Party { get; set; } } } diff --git a/Arrowgene.Ddon.GameServer/GameStructure.cs b/Arrowgene.Ddon.GameServer/GameStructure.cs new file mode 100644 index 000000000..bf9b0dea1 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/GameStructure.cs @@ -0,0 +1,62 @@ +using Arrowgene.Ddon.GameServer.Party; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.GameServer; + +public static class GameStructure +{ + public static void CDataCharacterListElement( + CDataCharacterListElement cDataCharacterListElement, + Character character) + { + CDataCommunityCharacterBaseInfo(cDataCharacterListElement.CommunityCharacterBaseInfo, character); + cDataCharacterListElement.ServerId = 0; + cDataCharacterListElement.OnlineStatus = 0; + CDataJobBaseInfo(cDataCharacterListElement.CurrentJobBaseInfo, character.Job, + (byte)character.ActiveCharacterJobData.Lv); + CDataJobBaseInfo(cDataCharacterListElement.EntryJobBaseInfo, character.Job, + (byte)character.ActiveCharacterJobData.Lv); + cDataCharacterListElement.MatchingProfile = ""; + cDataCharacterListElement.unk2 = 0; + } + + public static void CDataCommunityCharacterBaseInfo( + CDataCommunityCharacterBaseInfo cDataCommunityCharacterBaseInfo, + Character character) + { + cDataCommunityCharacterBaseInfo.CharacterId = character.Id; + CDataCharacterName(cDataCommunityCharacterBaseInfo.CharacterName, character); + cDataCommunityCharacterBaseInfo.ClanName = ""; + } + + public static void CDataJobBaseInfo(CDataJobBaseInfo cDataJobBaseInfo, + JobId jobId, + byte jobLevel) + { + cDataJobBaseInfo.Job = jobId; + cDataJobBaseInfo.Level = jobLevel; + } + + public static void CDataCharacterName(CDataCharacterName cDataCharacterName, + Character character) + { + cDataCharacterName.FirstName = character.FirstName; + cDataCharacterName.LastName = character.LastName; + } + + public static void CDataPartyMember(CDataPartyMember cDataPartyMember, + PartyMember partyMember) + { + CDataCharacterListElement(cDataPartyMember.CharacterListElement, partyMember.Character); + cDataPartyMember.MemberType = partyMember.MemberType; + cDataPartyMember.MemberIndex = partyMember.MemberIndex; + cDataPartyMember.PawnId = partyMember.PawnId; + cDataPartyMember.IsLeader = partyMember.IsLeader; + cDataPartyMember.IsPawn = partyMember.IsPawn; + cDataPartyMember.IsPlayEntry = partyMember.IsPlayEntry; + cDataPartyMember.JoinState = partyMember.JoinState; + cDataPartyMember.AnyValueList = partyMember.AnyValueList; + cDataPartyMember.SessionStatus = partyMember.SessionStatus; + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index ebf83ee34..18b56f19d 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -1,8 +1,6 @@ using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -14,40 +12,54 @@ public class PartyPartyCreateHandler : GameStructurePacketHandler packet) { - PartyGroup newParty = Server.PartyManager.NewParty(client); - if (newParty == null) + PartyGroup party = Server.PartyManager.NewParty(); + if (party == null) { Logger.Error(client, "Failed to create party"); // TODO return error return; } + PlayerPartyMember member = party.Invite(client); + if (member == null) + { + Logger.Error(client, "Failed to join new party"); + // TODO return error + return; + } + + member = party.Accept(client); + if (member == null) + { + Logger.Error(client, "Failed to accept new party"); + // TODO return error + return; + } + + member = party.Join(client); + if (member == null) + { + Logger.Error(client, "Failed to join new party"); + // TODO return error + return; + } + + Logger.Info(client, $"Created Party with PartyId:{party.Id}"); + S2CPartyPartyJoinNtc partyJoinNtc = new S2CPartyPartyJoinNtc(); partyJoinNtc.HostCharacterId = client.Character.Id; partyJoinNtc.LeaderCharacterId = client.Character.Id; - CDataPartyMember partyMember = new CDataPartyMember(); - partyMember.CharacterListElement.ServerId = Server.AssetRepository.ServerList[0].Id; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterId = client.Character.Id; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.FirstName = client.Character.FirstName; - partyMember.CharacterListElement.CommunityCharacterBaseInfo.CharacterName.LastName = client.Character.LastName; - partyMember.CharacterListElement.CurrentJobBaseInfo.Job = client.Character.Job; - partyMember.CharacterListElement.CurrentJobBaseInfo.Level = (byte) client.Character.ActiveCharacterJobData.Lv; - partyMember.CharacterListElement.OnlineStatus = client.Character.OnlineStatus; - partyMember.CharacterListElement.unk2 = 1; - partyMember.MemberType = 1; - partyMember.IsLeader = newParty.Leader == client; - partyMember.JoinState = JoinState.On; - partyJoinNtc.PartyMembers.Add(partyMember); + partyJoinNtc.PartyMembers.Add(member.GetCDataPartyMember()); client.Send(partyJoinNtc); - + S2CPartyPartyCreateRes partyCreateRes = new S2CPartyPartyCreateRes(); - partyCreateRes.PartyId = newParty.Id; + partyCreateRes.PartyId = party.Id; client.Send(partyCreateRes); + } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs index c42f7a10b..f7acc60fa 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs @@ -1,7 +1,6 @@ +using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -35,10 +34,11 @@ public PartyPartyInviteCharacterHandler(DdonGameServer server) : base(server) // S2CContextGetLobbyPlayerContextNtc to the new party member, it should maybe also be sent to all members // More stuff to determine // TODO: Figure out just how much packets/data within those packets we can do without while keeping everything functioning. + // TODO PartyGorup need invite management public override void Handle(GameClient client, StructurePacket packet) { - GameClient targetClient = Server.ClientLookup.GetClientByCharacterId(packet.Structure.CharacterId); - if (targetClient == null) + GameClient invitedClient = Server.ClientLookup.GetClientByCharacterId(packet.Structure.CharacterId); + if (invitedClient == null) { Logger.Error(client, $"Could not locate CharacterId:{packet.Structure.CharacterId} for party invitation"); @@ -46,55 +46,43 @@ public override void Handle(GameClient client, StructurePacket packet) { - PartyGroup newParty = client.PendingInvitedParty; // In case some other thread changes the value - client.PendingInvitedParty = null; + C2SPartyPartyInvitePrepareAcceptReq req = packet.Structure; + + IBuffer buf = packet.AsBuffer(); + Logger.Hex(packet.Data); + + // client == invited client + PartyGroup party = Server.PartyManager.GetInvitedParty(client); + if (party == null) + { + Logger.Error(client, "failed to find invited party"); + // TODO error resp + return; + } + + PlayerPartyMember partyMember = party.Accept(client); + if (partyMember == null) + { + Logger.Error(client, "failed to accept invite"); + // TODO error resp + return; + } + + Logger.Info(client, $"Accepted Invite for PartyId:{party.Id}"); + + client.Send(new S2CPartyPartyInvitePrepareAcceptRes()); - byte potentialFreeSlot = (byte)newParty.RegisterSlot(); // The invited player doesn't move to the new party leader's server until this packet is sent // Why this wasn't included in the Response packet directly beats me S2CPartyPartyInviteAcceptNtc inviteAcceptNtc = new S2CPartyPartyInviteAcceptNtc(); inviteAcceptNtc.ServerId = Server.AssetRepository.ServerList[0].Id; // TODO: Get from config, or from DdonGameServer instance - inviteAcceptNtc.PartyId = newParty.Id; - inviteAcceptNtc.StageId = newParty.Leader.Character.Stage.Id; + inviteAcceptNtc.PartyId = party.Id; + inviteAcceptNtc.StageId = party.Leader.Character.Stage.Id; inviteAcceptNtc.PositionId = 0; // TODO: Figure what this is about - inviteAcceptNtc.MemberIndex = potentialFreeSlot; + inviteAcceptNtc.MemberIndex = (byte)partyMember.MemberIndex; client.Send(inviteAcceptNtc); // Notify party leader of the accepted invitation S2CPartyPartyInviteJoinMemberNtc inviteJoinMemberNtc = new S2CPartyPartyInviteJoinMemberNtc(); CDataPartyMemberMinimum newMemberMinimum = new CDataPartyMemberMinimum(); - newMemberMinimum.CommunityCharacterBaseInfo.CharacterId = client.Character.Id; - newMemberMinimum.CommunityCharacterBaseInfo.CharacterName.FirstName = client.Character.FirstName; - newMemberMinimum.CommunityCharacterBaseInfo.CharacterName.LastName = client.Character.LastName; - newMemberMinimum.CommunityCharacterBaseInfo.ClanName = "SEX"; - newMemberMinimum.IsLeader = client == newParty.Leader; // This could probably be just always false - newMemberMinimum.MemberIndex = potentialFreeSlot; - newMemberMinimum.MemberType = 1; - newMemberMinimum.PawnId = 0; + GameStructure.CDataCommunityCharacterBaseInfo(newMemberMinimum.CommunityCharacterBaseInfo, + partyMember.Character); + newMemberMinimum.IsLeader = partyMember.IsLeader; + newMemberMinimum.MemberIndex = partyMember.MemberIndex; + newMemberMinimum.MemberType = partyMember.MemberType; + newMemberMinimum.PawnId = partyMember.PawnId; inviteJoinMemberNtc.MemberMinimumList.Add(newMemberMinimum); - newParty.Leader.Send(inviteJoinMemberNtc); + party.Leader.Client.Send(inviteJoinMemberNtc); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs index 74ca67611..4000e413e 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs @@ -1,10 +1,6 @@ -using System.Threading; using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; -using Arrowgene.Ddon.Shared.Entity; using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Entity.Structure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -28,14 +24,16 @@ public override void Handle(GameClient client, StructurePacket packet) { - PartyGroup oldParty = client.Party; + PartyGroup party = client.Party; + + if (party == null) + { + Logger.Error(client, "Could not leave party, does not exist"); + // todo return error + return; + } S2CPartyPartyLeaveNtc partyLeaveNtc = new S2CPartyPartyLeaveNtc(); partyLeaveNtc.CharacterId = client.Character.Id; - oldParty.SendToAll(partyLeaveNtc); + party.SendToAll(partyLeaveNtc); - oldParty.Leave(client); + party.Leave(client); + Logger.Info(client, $"Left PartyId:{party.Id}"); client.Send(new S2CPartyPartyLeaveRes()); } diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index de5d11c0a..fd00b06eb 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -1154,50 +1154,20 @@ public override void Handle(GameClient client, StructurePacket(typeof(PartyGroup)); private readonly object _lock; - private readonly object[] _slots; - private readonly List _clients; - private readonly List _pawns; + private readonly PartyMember[] _slots; + private readonly PartyManager _partyManager; - private GameClient _leader; - private GameClient _host; + private PlayerPartyMember _leader; + private PlayerPartyMember _host; - public PartyGroup(uint id, GameClient creator) + public PartyGroup(uint id, PartyManager partyManager) { + MaxSlots = MaxPartyMember; _lock = new object(); - _slots = new object[MaxPartyMembers]; - _clients = new List(); - _pawns = new List(); + _slots = new PartyMember[MaxSlots]; + _partyManager = partyManager; Id = id; - _leader = creator; - _host = creator; - - Join(creator); // TODO Contexts = new Dictionary>(); @@ -43,334 +38,292 @@ public PartyGroup(uint id, GameClient creator) public Dictionary> Contexts { get; set; } - public GameClient Leader + public uint MaxSlots { get; } + public uint Id { get; } + + public PlayerPartyMember Host { get { lock (_lock) { - return _leader; + return _host; } } } - public GameClient Host + public PlayerPartyMember Leader { get { lock (_lock) { - return _host; + return _leader; } } } - public uint Id { get; } - public List Clients { get { + List clients = new List(); lock (_lock) { - return new List(_clients); + for (int i = 0; i < MaxSlots; i++) + { + if (_slots[i] is PlayerPartyMember member) + { + clients.Add(member.Client); + } + } } + + return clients; } } - public List Characters + public List Members { get { + List members = new List(); lock (_lock) { - List characters = new List(); - foreach (GameClient client in _clients) + for (int i = 0; i < MaxSlots; i++) { - Character character = client.Character; - if (character == null) + if (_slots[i] != null) { - continue; + members.Add(_slots[i]); } - - characters.Add(character); } - - foreach (Pawn pawn in _pawns) - { - Character character = pawn.Character; - if (character == null) - { - continue; - } - - characters.Add(character); - } - - return characters; } + + return members; } } - public bool Join(GameClient client) + /// + /// Player has been invited and will be holding a slot for them. + /// However they are not assigned to this party until joined. + /// + /// + /// PlayerPartyMember if a slot could be secured, or null on failure + public PlayerPartyMember Invite(GameClient client) { if (client == null) { - return false; + return null; } + PlayerPartyMember partyMember = CreatePartyMember(client); lock (_lock) { - if (client.Party != null) + if (!_partyManager.AddInvitedParty(client, this)) { - Logger.Error(client, "client already has a party assigned"); - return false; + Logger.Error(client, "could not register client for invitation"); + return null; } - int slotIndex = TakeSlot(client); + int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { Logger.Error(client, "No free slot available for client"); - return false; + return null; } - _clients.Add(client); - client.Party = this; - return true; + partyMember.JoinState = JoinState.Prepare; + return partyMember; } } - public bool Join(Pawn pawn) + /// + /// Player has accepted the invitation and will progress to joining the party. + /// + /// + /// PlayerPartyMember on joining, or null on failure + public PlayerPartyMember Accept(GameClient client) { - if (pawn == null) + if (client == null) { - return false; + return null; } lock (_lock) { - int slotIndex = TakeSlot(pawn); - if (slotIndex <= InvalidSlotIndex) + PartyGroup invitedPartyGroup = _partyManager.RemoveInvitedParty(client); + if (invitedPartyGroup == null) { - Logger.Error("No free slot available for pawn"); - return false; + Logger.Error(client, "client was not registered for party"); + return null; + } + + if (invitedPartyGroup != this) + { + Logger.Error(client, "client was not invited to this party"); + return null; + } + + PlayerPartyMember partyMember = GetPlayerPartyMember(client); + if (partyMember == null) + { + Logger.Error(client, "client has no slot in this party"); + return null; } - _pawns.Add(pawn); - return true; + return partyMember; } } - public bool Leave(GameClient client) + public PlayerPartyMember Join(GameClient client) { if (client == null) { - return false; + return null; } lock (_lock) { - if (client.Party != this) + PlayerPartyMember partyMember = GetPlayerPartyMember(client); + if (partyMember == null) { - Logger.Error(client, "client not assigned to this group"); - return false; + Logger.Error(client, "client has no slot in this party"); + return null; } - client.Party = null; - - if (!_clients.Remove(client)) + client.Party = this; + if (_leader == null && _host == null) { - Logger.Error(client, "client not part of this group"); - return false; + // first to join the party + partyMember.IsLeader = true; + _leader = partyMember; + _host = partyMember; } - int slotIndex = GetSlotIndex(client); - if (slotIndex <= InvalidSlotIndex) - { - Logger.Error(client, "client not occupied any slot"); - return false; - } + partyMember.JoinState = JoinState.On; - FreeSlot(slotIndex); + return partyMember; } - - return true; } - public bool Leave(Pawn pawn) + public PawnPartyMember Join(Pawn pawn) { if (pawn == null) { - return false; + return null; } + PawnPartyMember partyMember = CreatePartyMember(pawn); lock (_lock) { - // TODO ? pawn.Party = null; - if (!_pawns.Remove(pawn)) - { - Logger.Error("pawn not part of this group"); - return false; - } - - int slotIndex = GetSlotIndex(pawn); + int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { - Logger.Error("pawn not occupied any slot"); - return false; + Logger.Error("No free slot available for pawn"); + return null; } - FreeSlot(slotIndex); + return partyMember; } - - return true; } - public byte GetMemberType(Character character) + public PlayerPartyMember Leave(GameClient client) { - object obj = GetSlot(character); - if (obj is GameClient) + if (client == null) { - return 1; + return null; } - if (obj is Pawn) + Logger.Info(client, $"Leaving Party:{Id}"); + lock (_lock) { - return 2; - } - - Logger.Error($"no member type for character {character.Id}"); - return 0; - } - - public Pawn GetPawn(uint index) - { - return GetSlot(index) as Pawn; - } + if (client.Party != this) + { + Logger.Error(client, "client not part of this party"); + return null; + } - public GameClient GetClient(uint index) - { - return GetSlot(index) as GameClient; - } + PlayerPartyMember partyMember = GetPlayerPartyMember(client); + if (partyMember == null) + { + Logger.Error(client, "client has no slot in this party"); + return null; + } - public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() - { - StructurePacket packet = new StructurePacket(res); - SendToAll(packet); - } + FreeSlot(partyMember.MemberIndex); - public void SendToAll(Packet packet) - { - foreach (GameClient client in Clients) - { - client.Send(packet); - } - } + if (MemberCount() <= 0) + { + Logger.Info(client, $"last person of party:{Id} left, disband party"); + _partyManager.DisbandParty(Id); + return partyMember; + } - public int MemberCount() - { - lock (_lock) - { - int count = 0; - for (int i = 0; i < MaxPartyMembers; i++) + if (partyMember.IsLeader) { - if (_slots[i] != null) - { - count++; - } + Logger.Info(client, $"was leader of party:{Id}, leader left"); + // TODO designate new leader } - return count; + return partyMember; } } - public int GetSlotIndex(Character character) - { - return GetSlotIndex(GetSlot(character)); - } - - public int GetSlotIndex(GameClient client) - { - return GetSlotIndex((object)client); - } - - public int GetSlotIndex(Pawn pawn) - { - return GetSlotIndex((object)pawn); - } - /// - /// Intended to hold a free slot, but makes no guarantee whatsoever at the moment. + /// Returns PlayerPartyMember for a given GameClient /// - /// - public int RegisterSlot() + /// + /// PlayerPartyMember or null on failure + public PlayerPartyMember GetPlayerPartyMember(GameClient client) { lock (_lock) { - for (int i = 0; i < MaxPartyMembers; i++) + for (int i = 0; i < MaxSlots; i++) { - if (_slots[i] == null) + if (_slots[i] is PlayerPartyMember member && member.Client == client) { - return i; + return member; } } } - return InvalidSlotIndex; + return null; } - private object GetSlot(Character character) + public void SendToAll(TResStruct res) where TResStruct : class, IPacketStructure, new() { - lock (_lock) - { - foreach (GameClient client in _clients) - { - Character clientCharacter = client.Character; - if (clientCharacter == character) - { - return client; - } - } - - foreach (Pawn pawn in _pawns) - { - Character pawnCharacter = pawn.Character; - if (pawnCharacter == character) - { - return pawn; - } - } - - return null; - } + StructurePacket packet = new StructurePacket(res); + SendToAll(packet); } - private int GetSlotIndex(object obj) + public void SendToAll(Packet packet) { - if (obj == null) + foreach (GameClient client in Clients) { - return InvalidSlotIndex; + client.Send(packet); } + } + public int MemberCount() + { lock (_lock) { - int slotIndex = InvalidSlotIndex; - for (int i = 0; i < MaxPartyMembers; i++) + int count = 0; + for (int i = 0; i < MaxSlots; i++) { - if (_slots[i] == obj) + if (_slots[i] != null) { - slotIndex = i; - break; + count++; } } - return slotIndex; + return count; } } - private int TakeSlot(object obj) + private int TakeSlot(PartyMember partyMember) { - if (obj == null) + if (partyMember == null) { return InvalidSlotIndex; } @@ -378,7 +331,7 @@ private int TakeSlot(object obj) int slotIndex = InvalidSlotIndex; lock (_lock) { - for (int i = 0; i < MaxPartyMembers; i++) + for (int i = 0; i < MaxSlots; i++) { if (_slots[i] == null) { @@ -387,7 +340,8 @@ private int TakeSlot(object obj) } } - _slots[slotIndex] = obj; + partyMember.MemberIndex = slotIndex; + _slots[slotIndex] = partyMember; } return slotIndex; @@ -401,12 +355,12 @@ private void FreeSlot(int slotIndex) } } - private object GetSlot(uint index) + private PartyMember GetSlot(uint index) { - if (index >= MaxPartyMembers) + if (index >= MaxSlots) { Logger.Error( - $"can not retrieve slot {index} is out of bounds for maximum party size of {MaxPartyMembers}"); + $"can not retrieve slot {index} is out of bounds for maximum party size of {MaxSlots}"); } lock (_lock) @@ -414,5 +368,39 @@ private object GetSlot(uint index) return _slots[index]; } } + + private PlayerPartyMember CreatePartyMember(GameClient client) + { + PlayerPartyMember partyMember = new PlayerPartyMember(); + partyMember.Client = client; + partyMember.Character = client.Character; + partyMember.IsPawn = false; + partyMember.MemberType = 1; + partyMember.PawnId = 0; + partyMember.IsPlayEntry = false; + partyMember.AnyValueList = new byte[8]; + partyMember.IsLeader = false; + partyMember.JoinState = JoinState.None; + partyMember.SessionStatus = 0; + partyMember.MemberIndex = InvalidSlotIndex; + return partyMember; + } + + private PawnPartyMember CreatePartyMember(Pawn pawn) + { + PawnPartyMember partyMember = new PawnPartyMember(); + partyMember.Pawn = pawn; + partyMember.Character = pawn.Character; + partyMember.IsPawn = true; + partyMember.MemberType = 2; + partyMember.PawnId = pawn.Id; + partyMember.IsPlayEntry = false; + partyMember.AnyValueList = new byte[8]; + partyMember.IsLeader = false; + partyMember.JoinState = JoinState.None; + partyMember.SessionStatus = 0; + partyMember.MemberIndex = InvalidSlotIndex; + return partyMember; + } } } diff --git a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs index 7061a6029..93d289864 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs @@ -13,6 +13,7 @@ public class PartyManager private readonly ConcurrentStack _idPool; private readonly ConcurrentDictionary _parties; + private readonly ConcurrentDictionary _invites; public PartyManager() { @@ -23,6 +24,40 @@ public PartyManager() } _parties = new ConcurrentDictionary(); + _invites = new ConcurrentDictionary(); + } + + public bool AddInvitedParty(GameClient client, PartyGroup party) + { + if (!_invites.TryAdd(client, party)) + { + Logger.Error(client, $"Already has pending invite)"); + return false; + } + + return true; + } + + public PartyGroup GetInvitedParty(GameClient client) + { + if (!_invites.TryGetValue(client, out PartyGroup party)) + { + Logger.Error(client, $"invite not found, for get"); + return null; + } + + return party; + } + + public PartyGroup RemoveInvitedParty(GameClient client) + { + if (!_invites.TryRemove(client, out PartyGroup party)) + { + Logger.Error(client, $"invite not found for remove"); + return null; + } + + return party; } public PartyGroup GetParty(uint partyId) @@ -49,21 +84,15 @@ public bool DisbandParty(uint partyId) return true; } - public PartyGroup NewParty(GameClient creator) + public PartyGroup NewParty() { - if (creator.Party != null) - { - Logger.Error(creator, "Could not create party, creator already in party (creator.Party != null)"); - return null; - } - if (!_idPool.TryPop(out uint partyId)) { Logger.Error("Could not create party, id pool exhausted (!_idPool.TryPop(out uint partyId)"); return null; } - PartyGroup party = new PartyGroup(partyId, creator); + PartyGroup party = new PartyGroup(partyId, this); if (!_parties.TryAdd(partyId, party)) { Logger.Error("Could not create party, failed to add new party (!_parties.TryAdd(partyId, party))"); diff --git a/Arrowgene.Ddon.GameServer/Party/PartyMember.cs b/Arrowgene.Ddon.GameServer/Party/PartyMember.cs new file mode 100644 index 000000000..da9f3a6d4 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Party/PartyMember.cs @@ -0,0 +1,28 @@ +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.GameServer.Party; + +public abstract class PartyMember +{ + public Character Character { get; set; } + public byte MemberType { get; set; } + public int MemberIndex { get; set; } + public uint PawnId { get; set; } + public bool IsLeader { get; set; } + public bool IsPawn { get; set; } + public bool IsPlayEntry { get; set; } + public JoinState JoinState { get; set; } + public byte[] AnyValueList { get; set; } + public byte SessionStatus { get; set; } + + public CDataPartyMember GetCDataPartyMember() + { + CDataPartyMember partyMember = new CDataPartyMember(); + GameStructure.CDataPartyMember(partyMember, this); + return partyMember; + } + + public abstract Packet GetS2CContextGetParty_ContextNtc(); +} diff --git a/Arrowgene.Ddon.GameServer/Party/PawnPartyMember.cs b/Arrowgene.Ddon.GameServer/Party/PawnPartyMember.cs new file mode 100644 index 000000000..d1c7cc669 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Party/PawnPartyMember.cs @@ -0,0 +1,33 @@ +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.GameServer.Party; + +public class PawnPartyMember : PartyMember +{ + public Pawn Pawn { get; set; } + + public override Packet GetS2CContextGetParty_ContextNtc() + { + CDataPartyContextPawn partyContextPawn = new CDataPartyContextPawn(); + partyContextPawn.Base = new CDataContextBase(Character); + partyContextPawn.Base.PawnId = PawnId; + partyContextPawn.Base.CharacterId = Character.Id; + partyContextPawn.Base.PawnType = Pawn.PawnType; + partyContextPawn.Base.HmType = Pawn.HmType; + partyContextPawn.PlayerInfo = new CDataContextPlayerInfo(Character); + partyContextPawn.PawnReactionList = Pawn.PawnReactionList; + partyContextPawn.Unk0 = new byte[64]; + partyContextPawn.SpSkillList = Pawn.SpSkillList; + partyContextPawn.ResistInfo = new CDataContextResist(Character); + partyContextPawn.EditInfo = Character.EditInfo; + + S2CContextGetPartyMypawnContextNtc partyPlayerContextNtc = new S2CContextGetPartyMypawnContextNtc(); + partyPlayerContextNtc.PawnId = PawnId; + partyPlayerContextNtc.Context = partyContextPawn; + partyPlayerContextNtc.Context.Base.MemberIndex = MemberIndex; + return new StructurePacket(partyPlayerContextNtc); + } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PlayerPartyMember.cs b/Arrowgene.Ddon.GameServer/Party/PlayerPartyMember.cs new file mode 100644 index 000000000..72a3770c0 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Party/PlayerPartyMember.cs @@ -0,0 +1,26 @@ +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.GameServer.Party; + +public class PlayerPartyMember : PartyMember +{ + public GameClient Client { get; set; } + + public override Packet GetS2CContextGetParty_ContextNtc() + { + CDataPartyPlayerContext partyPlayerContext = new CDataPartyPlayerContext(); + partyPlayerContext.Base = new CDataContextBase(Character); + partyPlayerContext.PlayerInfo = new CDataContextPlayerInfo(Character); + partyPlayerContext.ResistInfo = new CDataContextResist(Character); + partyPlayerContext.EditInfo = Character.EditInfo; + + S2CContextGetPartyPlayerContextNtc partyPlayerContextNtc = new S2CContextGetPartyPlayerContextNtc(); + partyPlayerContextNtc.CharacterId = Character.Id; + partyPlayerContextNtc.Context = partyPlayerContext; + partyPlayerContextNtc.Context.Base.MemberIndex = MemberIndex; + + return new StructurePacket(partyPlayerContextNtc); + } +} diff --git a/Arrowgene.Ddon.Shared/Model/Pawn.cs b/Arrowgene.Ddon.Shared/Model/Pawn.cs index 37f68d817..e1a6e5e7c 100644 --- a/Arrowgene.Ddon.Shared/Model/Pawn.cs +++ b/Arrowgene.Ddon.Shared/Model/Pawn.cs @@ -14,6 +14,9 @@ public Pawn(uint ownerCharacterId) SpSkillList = new List(); } + // TODO for now use character id + public uint Id => Character.Id; + public uint OwnerCharacterId { get; set; } public Character Character { get; set; } public byte HmType { get; set; } From 7447c4f78dad505316947679a7b90f6193748b67 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Tue, 4 Oct 2022 17:03:49 +0800 Subject: [PATCH 53/72] update --- .../Handler/PawnJoinPartyMypawnHandler.cs | 1 + Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 3 +++ Arrowgene.Ddon.Shared/Model/Pawn.cs | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index fd00b06eb..8e2f2d22c 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -29,6 +29,7 @@ public override void Handle(GameClient client, StructurePacket Character.Id; + public uint Id { get; set; } public uint OwnerCharacterId { get; set; } public Character Character { get; set; } From cc1cb0becff487a6518bf76ad29d4dfa7b1a4495 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Tue, 4 Oct 2022 18:39:22 +0800 Subject: [PATCH 54/72] set pawn characterid --- .../Handler/PawnJoinPartyMypawnHandler.cs | 7 ++----- Arrowgene.Ddon.Shared/Model/Pawn.cs | 14 ++++++++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs index 8e2f2d22c..3c13e1324 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PawnJoinPartyMypawnHandler.cs @@ -30,7 +30,8 @@ public override void Handle(GameClient client, StructurePacket(); SpSkillList = new List(); } - // TODO for now use character id + /// + /// Id of Pawn + /// public uint Id { get; set; } - - public uint OwnerCharacterId { get; set; } + + /// + /// Id of character who this pawn belongs to + /// + public uint CharacterId { get; set; } + public Character Character { get; set; } public byte HmType { get; set; } public byte PawnType { get; set; } From 329b71e3e9a7e9c230da613b795d082fd0bbb39e Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Tue, 4 Oct 2022 22:33:26 +0800 Subject: [PATCH 55/72] add kicking --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 1 + .../Handler/PartyPartyMemberKickHandler.cs | 47 +++++++++++++++++++ Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 19 +++++++- .../Entity/EntitySerializer.cs | 3 ++ .../C2SPartyPartyMemberKickReq.cs | 27 +++++++++++ .../S2CPartyPartyMemberKickNtc.cs | 27 +++++++++++ .../S2CPartyPartyMemberKickRes.cs | 25 ++++++++++ Arrowgene.Ddon.Shared/Network/PacketId.cs | 4 +- 8 files changed, 150 insertions(+), 3 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyMemberKickReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickRes.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 21842de67..be535c4a4 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -251,6 +251,7 @@ private void LoadPacketHandler() AddHandler(new PartyPartyInvitePrepareAcceptHandler(this)); AddHandler(new PartyPartyJoinHandler(this)); AddHandler(new PartyPartyLeaveHandler(this)); + AddHandler(new PartyPartyMemberKickHandler(this)); AddHandler(new PartySendBinaryMsgAllHandler(this)); AddHandler(new PartySendBinaryMsgHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs new file mode 100644 index 000000000..f58c38891 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs @@ -0,0 +1,47 @@ +using Arrowgene.Ddon.GameServer.Party; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class PartyPartyMemberKickHandler : GameStructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyPartyCreateHandler)); + + public PartyPartyMemberKickHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + PartyGroup party = client.Party; + if (party == null) + { + Logger.Error(client, "party null"); + // TODO + return; + } + + PartyMember member = party.Kick(packet.Structure.MemberIndex); + if (member == null) + { + Logger.Error(client, "failed to kick"); + // TODO + return; + } + + S2CPartyPartyMemberKickNtc ntc = new S2CPartyPartyMemberKickNtc(); + ntc.MemberIndex = (byte)member.MemberIndex; + party.SendToAll(ntc); + if (member is PlayerPartyMember playerMember) + { + playerMember.Client.Send(ntc); + } + + S2CPartyPartyMemberKickRes res = new S2CPartyPartyMemberKickRes(); + client.Send(res); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs index 26258ef69..f008a1364 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs @@ -255,7 +255,7 @@ public PlayerPartyMember Leave(GameClient client) FreeSlot(partyMember.MemberIndex); - if (MemberCount() <= 0) + if (Clients.Count <= 0) { Logger.Info(client, $"last person of party:{Id} left, disband party"); _partyManager.DisbandParty(Id); @@ -272,6 +272,23 @@ public PlayerPartyMember Leave(GameClient client) } } + public PartyMember Kick(byte memberIndex) + { + lock (_lock) + { + PartyMember member = GetSlot(memberIndex); + if (member == null) + { + Logger.Error($"memberIndex:{memberIndex} not occupied in partyId:{Id}"); + return null; + } + + FreeSlot(member.MemberIndex); + + return member; + } + } + /// /// Returns PlayerPartyMember for a given GameClient /// diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index f0c24ffab..06f03bb75 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -203,6 +203,7 @@ static EntitySerializer() Create(new C2SPartyPartyInvitePrepareAcceptReq.Serializer()); Create(new C2SPartyPartyJoinReq.Serializer()); Create(new C2SPartyPartyLeaveReq.Serializer()); + Create(new C2SPartyPartyMemberKickReq.Serializer()); Create(new C2SPartySendBinaryMsgAllNtc.Serializer()); Create(new C2SPartySendBinaryMsgNtc.Serializer()); Create(new C2SPawnGetLostPawnListReq.Serializer()); @@ -336,6 +337,8 @@ static EntitySerializer() Create(new S2CPartyPartyJoinRes.Serializer()); Create(new S2CPartyPartyLeaveNtc.Serializer()); Create(new S2CPartyPartyLeaveRes.Serializer()); + Create(new S2CPartyPartyMemberKickNtc.Serializer()); + Create(new S2CPartyPartyMemberKickRes.Serializer()); Create(new S2CPartyPartyMemberSessionStatusNtc.Serializer()); Create(new S2CPartyRecvBinaryMsgAllNtc.Serializer()); Create(new S2CPartyRecvBinaryMsgNtc.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyMemberKickReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyMemberKickReq.cs new file mode 100644 index 000000000..541719511 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyMemberKickReq.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SPartyPartyMemberKickReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_PARTY_PARTY_MEMBER_KICK_REQ; + + public byte MemberIndex { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SPartyPartyMemberKickReq obj) + { + WriteByte(buffer, obj.MemberIndex); + } + + public override C2SPartyPartyMemberKickReq Read(IBuffer buffer) + { + C2SPartyPartyMemberKickReq obj = new C2SPartyPartyMemberKickReq(); + obj.MemberIndex = ReadByte(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickNtc.cs new file mode 100644 index 000000000..31b52a439 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickNtc.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyMemberKickNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_PARTY_PARTY_MEMBER_KICK_NTC; + + public byte MemberIndex { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyMemberKickNtc obj) + { + WriteByte(buffer, obj.MemberIndex); + } + + public override S2CPartyPartyMemberKickNtc Read(IBuffer buffer) + { + S2CPartyPartyMemberKickNtc obj = new S2CPartyPartyMemberKickNtc(); + obj.MemberIndex = ReadByte(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickRes.cs new file mode 100644 index 000000000..0175ac515 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyMemberKickRes.cs @@ -0,0 +1,25 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyMemberKickRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_PARTY_PARTY_MEMBER_KICK_RES; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyMemberKickRes obj) + { + WriteServerResponse(buffer, obj); + } + + public override S2CPartyPartyMemberKickRes Read(IBuffer buffer) + { + S2CPartyPartyMemberKickRes obj = new S2CPartyPartyMemberKickRes(); + ReadServerResponse(buffer, obj); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index 814b0740d..e044b59d5 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -388,7 +388,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_PARTY_PARTY_LEAVE_NTC = new PacketId(6, 10, 16, "S2C_PARTY_PARTY_LEAVE_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_10_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_MEMBER_KICK_REQ = new PacketId(6, 11, 1, "C2S_PARTY_PARTY_MEMBER_KICK_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_MEMBER_KICK_RES = new PacketId(6, 11, 2, "S2C_PARTY_PARTY_MEMBER_KICK_RES", ServerType.Game, PacketSource.Server); // パーティメンバーキックに - public static readonly PacketId S2C_PARTY_6_11_16_NTC = new PacketId(6, 11, 16, "S2C_PARTY_6_11_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_PARTY_PARTY_MEMBER_KICK_NTC = new PacketId(6, 11, 16, "S2C_PARTY_6_11_16_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_11_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_BREAKUP_REQ = new PacketId(6, 12, 1, "C2S_PARTY_PARTY_BREAKUP_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_BREAKUP_RES = new PacketId(6, 12, 2, "S2C_PARTY_PARTY_BREAKUP_RES", ServerType.Game, PacketSource.Server); // パーティ解散に public static readonly PacketId S2C_PARTY_6_12_16_NTC = new PacketId(6, 12, 16, "S2C_PARTY_6_12_16_NTC", ServerType.Game, PacketSource.Server); @@ -2292,7 +2292,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_LEAVE_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_MEMBER_KICK_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_MEMBER_KICK_RES); - AddPacketIdEntry(packetIds, S2C_PARTY_6_11_16_NTC); + AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_MEMBER_KICK_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_BREAKUP_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_BREAKUP_RES); AddPacketIdEntry(packetIds, S2C_PARTY_6_12_16_NTC); From 1d729d8a0d0bb5dd8f74aa84573010d225927fe5 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Tue, 4 Oct 2022 21:31:59 +0200 Subject: [PATCH 56/72] Fixed terrible choice of primary keys made when sleepy at 1am --- .../Files/Database/Script/schema_sqlite.sql | 4 ++-- .../Sql/Core/DdonSqlDbCommunicationShortcut.cs | 14 ++++++++------ .../Sql/Core/DdonSqlDbShortcut.cs | 14 ++++++++------ 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql index de13a67ad..3ea72aa6f 100644 --- a/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql +++ b/Arrowgene.Ddon.Database/Files/Database/Script/schema_sqlite.sql @@ -285,7 +285,7 @@ CREATE TABLE IF NOT EXISTS `ddon_shortcut` `u32_data` INTEGER NOT NULL, `f32_data` INTEGER NOT NULL, `exex_type` TINYINT NOT NULL, - PRIMARY KEY (`character_id`, `shortcut_id`), + PRIMARY KEY (`character_id`, `page_no`, `button_no`), CONSTRAINT `fk_shortcut_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); @@ -297,7 +297,7 @@ CREATE TABLE IF NOT EXISTS `ddon_communication_shortcut` `type` TINYINT NOT NULL, `category` TINYINT NOT NULL, `id` INTEGER NOT NULL, - PRIMARY KEY (`character_id`, `id`), + PRIMARY KEY (`character_id`, `page_no`, `button_no`), CONSTRAINT `fk_communication_shortcut_character_id` FOREIGN KEY (`character_id`) REFERENCES `ddon_character` (`id`) ON DELETE CASCADE ); diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs index e6eb6013e..a7bce3366 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbCommunicationShortcut.cs @@ -14,9 +14,9 @@ public abstract partial class DdonSqlDb : SqlDb private readonly string SqlInsertCommunicationShortcut = $"INSERT INTO `ddon_communication_shortcut` ({BuildQueryField(CommunicationShortcutFields)}) VALUES ({BuildQueryInsert(CommunicationShortcutFields)});"; private readonly string SqlReplaceCommunicationShortcut = $"INSERT OR REPLACE INTO `ddon_communication_shortcut` ({BuildQueryField(CommunicationShortcutFields)}) VALUES ({BuildQueryInsert(CommunicationShortcutFields)});"; - private static readonly string SqlUpdateCommunicationShortcut = $"UPDATE `ddon_communication_shortcut` SET {BuildQueryUpdate(CommunicationShortcutFields)} WHERE `character_id`=@old_character_id AND `old_id`=@old_id;"; + private static readonly string SqlUpdateCommunicationShortcut = $"UPDATE `ddon_communication_shortcut` SET {BuildQueryUpdate(CommunicationShortcutFields)} WHERE `character_id`=@old_character_id AND `page_no`=@old_page_no AND `button_no`=@old_button_no"; private static readonly string SqlSelectCommunicationShortcuts = $"SELECT {BuildQueryField(CommunicationShortcutFields)} FROM `ddon_communication_shortcut` WHERE `character_id`=@character_id;"; - private const string SqlDeleteCommunicationShortcut = "DELETE FROM `ddon_communication_shortcut` WHERE `character_id`=@character_id AND `id`=@id;"; + private const string SqlDeleteCommunicationShortcut = "DELETE FROM `ddon_communication_shortcut` WHERE `character_id`=@character_id AND `page_no`=@page_no AND `button_no`=@button_no"; public bool InsertCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut) { @@ -35,22 +35,24 @@ public bool ReplaceCommunicationShortcut(uint characterId, CDataCommunicationSho return true; } - public bool UpdateCommunicationShortcut(uint characterId, uint oldId, CDataCommunicationShortCut updatedCommunicationShortcut) + public bool UpdateCommunicationShortcut(uint characterId, uint oldPageNo, uint oldButtonNo, CDataCommunicationShortCut updatedCommunicationShortcut) { return ExecuteNonQuery(SqlDeleteCommunicationShortcut, command => { AddParameter(command, characterId, updatedCommunicationShortcut); AddParameter(command, "@old_character_id", characterId); - AddParameter(command, "@old_id", oldId); + AddParameter(command, "@old_page_no", oldPageNo); + AddParameter(command, "@old_button_no", oldButtonNo); }) == 1; } - public bool DeleteCommunicationShortcut(uint characterId, uint id) + public bool DeleteCommunicationShortcut(uint characterId, uint pageNo, uint buttonNo) { return ExecuteNonQuery(SqlDeleteCommunicationShortcut, command => { AddParameter(command, "@character_id", characterId); - AddParameter(command, "@id", id); + AddParameter(command, "@old_page_no", pageNo); + AddParameter(command, "@old_button_no", buttonNo); }) == 1; } diff --git a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs index 99a5cd094..b0b6e5f77 100644 --- a/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs +++ b/Arrowgene.Ddon.Database/Sql/Core/DdonSqlDbShortcut.cs @@ -14,9 +14,9 @@ public abstract partial class DdonSqlDb : SqlDb private readonly string SqlInsertShortcut = $"INSERT INTO `ddon_shortcut` ({BuildQueryField(ShortcutFields)}) VALUES ({BuildQueryInsert(ShortcutFields)});"; private readonly string SqlReplaceShortcut = $"INSERT OR REPLACE INTO `ddon_shortcut` ({BuildQueryField(ShortcutFields)}) VALUES ({BuildQueryInsert(ShortcutFields)});"; - private static readonly string SqlUpdateShortcut = $"UPDATE `ddon_shortcut` SET {BuildQueryUpdate(ShortcutFields)} WHERE `character_id`=@old_character_id AND `shortcut_id`=@old_shortcut_id;"; + private static readonly string SqlUpdateShortcut = $"UPDATE `ddon_shortcut` SET {BuildQueryUpdate(ShortcutFields)} WHERE `character_id`=@old_character_id AND `page_no`=@old_page_no AND `button_no`=@old_button_no"; private static readonly string SqlSelectShortcuts = $"SELECT {BuildQueryField(ShortcutFields)} FROM `ddon_shortcut` WHERE `character_id`=@character_id;"; - private const string SqlDeleteShortcut = "DELETE FROM `ddon_shortcut` WHERE `character_id`=@character_id AND `shortcut_id`=@shortcut_id;"; + private const string SqlDeleteShortcut = "DELETE FROM `ddon_shortcut` WHERE `character_id`=@character_id AND `page_no`=@page_no AND `button_no`=@button_no"; public bool InsertShortcut(uint characterId, CDataShortCut shortcut) { @@ -35,22 +35,24 @@ public bool ReplaceShortcut(uint characterId, CDataShortCut shortcut) return true; } - public bool UpdateShortcut(uint characterId, uint oldShortcutId, CDataShortCut updatedShortcut) + public bool UpdateShortcut(uint characterId, uint oldPageNo, uint oldButtonNo, CDataShortCut updatedShortcut) { return ExecuteNonQuery(SqlDeleteShortcut, command => { AddParameter(command, characterId, updatedShortcut); AddParameter(command, "@old_character_id", characterId); - AddParameter(command, "@old_shortcut_id", oldShortcutId); + AddParameter(command, "@old_page_no", oldPageNo); + AddParameter(command, "@old_button_no", oldButtonNo); }) == 1; } - public bool DeleteShortcut(uint characterId, uint shortcutId) + public bool DeleteShortcut(uint characterId, uint pageNo, uint buttonNo) { return ExecuteNonQuery(SqlDeleteShortcut, command => { AddParameter(command, "@character_id", characterId); - AddParameter(command, "@shortcut_id", shortcutId); + AddParameter(command, "@old_page_no", pageNo); + AddParameter(command, "@old_button_no", buttonNo); }) == 1; } From b053242c4c88e4f29bd642ecf25a617d97adea55 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Tue, 4 Oct 2022 21:34:24 +0200 Subject: [PATCH 57/72] derp --- Arrowgene.Ddon.Database/IDatabase.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Arrowgene.Ddon.Database/IDatabase.cs b/Arrowgene.Ddon.Database/IDatabase.cs index 737abbde0..90680fcb3 100644 --- a/Arrowgene.Ddon.Database/IDatabase.cs +++ b/Arrowgene.Ddon.Database/IDatabase.cs @@ -48,14 +48,14 @@ public interface IDatabase // Shortcut bool InsertShortcut(uint characterId, CDataShortCut shortcut); bool ReplaceShortcut(uint characterId, CDataShortCut shortcut); - bool UpdateShortcut(uint characterId, uint oldShortcutId, CDataShortCut updatedShortcut); - bool DeleteShortcut(uint characterId, uint shortcutId); + bool UpdateShortcut(uint characterId, uint oldPageNo, uint oldButtonNo, CDataShortCut updatedShortcut); + bool DeleteShortcut(uint characterId, uint pageNo, uint buttonNo); // CommunicationShortcut bool InsertCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut); bool ReplaceCommunicationShortcut(uint characterId, CDataCommunicationShortCut communicationShortcut); - bool UpdateCommunicationShortcut(uint characterId, uint oldId, CDataCommunicationShortCut updatedCommunicationShortcut); - bool DeleteCommunicationShortcut(uint characterId, uint id); + bool UpdateCommunicationShortcut(uint characterId, uint oldPageNo, uint oldButtonNo, CDataCommunicationShortCut updatedCommunicationShortcut); + bool DeleteCommunicationShortcut(uint characterId, uint pageNo, uint buttonNo); // GameToken bool SetToken(GameToken token); From 59da0be7be4a3be778f9b58551bb08850cd9b0d8 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 5 Oct 2022 14:07:17 +0800 Subject: [PATCH 58/72] add enum error codes, add CData for error codes, add player search handler --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 1 + Arrowgene.Ddon.GameServer/GameClientLookup.cs | 22 +- .../CharacterCharacterSearchHandler.cs | 52 ++ .../Handler/GetErrorMessageListHandler.cs | 8 +- Arrowgene.Ddon.Shared/AssetRepository.cs | 4 +- .../Csv/ClientErrorCodeCsvReader.cs | 19 +- .../Entity/EntitySerializer.cs | 4 + .../C2SCharacterCharacterSearchReq.cs | 33 + .../L2CGetErrorMessageListNtc.cs | 50 +- .../S2CCharacterCharacterSearchRes.cs | 36 + .../Structure/CDataCharacterSearchParam.cs | 33 + .../Entity/Structure/CDataErrorMessage.cs | 42 + .../Model/ClientErrorCode.cs | 11 - Arrowgene.Ddon.Shared/Model/ErrorCode.cs | 735 ++++++++++++++++++ README.md | 57 +- 15 files changed, 996 insertions(+), 111 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/CharacterCharacterSearchHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SCharacterCharacterSearchReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterCharacterSearchRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterSearchParam.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataErrorMessage.cs delete mode 100644 Arrowgene.Ddon.Shared/Model/ClientErrorCode.cs create mode 100644 Arrowgene.Ddon.Shared/Model/ErrorCode.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 59d80b9ed..15bca002b 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -153,6 +153,7 @@ private void LoadPacketHandler() AddHandler(new CharacterCharacterGoldenReviveHandler(this)); AddHandler(new CharacterCharacterPenaltyReviveHandler(this)); AddHandler(new CharacterCharacterPointReviveHandler(this)); + AddHandler(new CharacterCharacterSearchHandler(this)); AddHandler(new CharacterPawnGoldenReviveHandler(this)); AddHandler(new CharacterPawnPointReviveHandler(this)); AddHandler(new CharacterSetOnlineStatusHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/GameClientLookup.cs b/Arrowgene.Ddon.GameServer/GameClientLookup.cs index a2baa11cc..cfe98b5bf 100644 --- a/Arrowgene.Ddon.GameServer/GameClientLookup.cs +++ b/Arrowgene.Ddon.GameServer/GameClientLookup.cs @@ -1,4 +1,5 @@ -using Arrowgene.Ddon.Database.Model; +using System.Collections.Generic; +using Arrowgene.Ddon.Database.Model; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared.Model; @@ -10,6 +11,23 @@ public GameClientLookup() { } + public List GetAllCharacter() + { + List characters = new List(); + foreach (GameClient client in GetAll()) + { + Character character = client.Character; + if (character == null) + { + continue; + } + + characters.Add(character); + } + + return characters; + } + public GameClient GetClientByAccountId(int accountId) { foreach (GameClient client in GetAll()) @@ -28,7 +46,7 @@ public GameClient GetClientByAccountId(int accountId) return null; } - + public GameClient GetClientByCharacterId(uint characterId) { foreach (GameClient client in GetAll()) diff --git a/Arrowgene.Ddon.GameServer/Handler/CharacterCharacterSearchHandler.cs b/Arrowgene.Ddon.GameServer/Handler/CharacterCharacterSearchHandler.cs new file mode 100644 index 000000000..69ba940b3 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/CharacterCharacterSearchHandler.cs @@ -0,0 +1,52 @@ +using System; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class CharacterCharacterSearchHandler : GameStructurePacketHandler + { + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(CharacterCharacterSearchHandler)); + + public CharacterCharacterSearchHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + S2CCharacterCharacterSearchRes res = new S2CCharacterCharacterSearchRes(); + foreach (Character character in Server.ClientLookup.GetAllCharacter()) + { + if (!character.FirstName.Contains( + packet.Structure.SearchParam.FirstName, StringComparison.InvariantCultureIgnoreCase) + && + !character.LastName.Contains( + packet.Structure.SearchParam.LastName, StringComparison.InvariantCultureIgnoreCase) + ) + { + continue; + } + + if (character == client.Character) + { + continue; + } + + CDataCharacterListElement characterListElement = new CDataCharacterListElement(); + GameStructure.CDataCharacterListElement(characterListElement, character); + res.CharacterList.Add(characterListElement); + } + + Logger.Info(client, $"Found: {res.CharacterList.Count} Characters matching for query " + + $"FirstName:{packet.Structure.SearchParam.FirstName} " + + $"LastName:{packet.Structure.SearchParam.LastName}"); + + client.Send(res); + } + } +} diff --git a/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs b/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs index 792364fe6..fd943f978 100644 --- a/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs +++ b/Arrowgene.Ddon.LoginServer/Handler/GetErrorMessageListHandler.cs @@ -1,7 +1,6 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; -using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -9,7 +8,8 @@ namespace Arrowgene.Ddon.LoginServer.Handler { public class GetErrorMessageListHandler : StructurePacketHandler { - private static readonly ServerLogger Logger = LogProvider.Logger(typeof(GetErrorMessageListHandler)); + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(GetErrorMessageListHandler)); public GetErrorMessageListHandler(DdonLoginServer server) : base(server) @@ -18,8 +18,10 @@ public GetErrorMessageListHandler(DdonLoginServer server) : base(server) public override void Handle(LoginClient client, StructurePacket packet) { - L2CGetErrorMessageListNtc ntc = new L2CGetErrorMessageListNtc(Server.AssetRepository.ClientErrorCodes); + L2CGetErrorMessageListNtc ntc = new L2CGetErrorMessageListNtc(); + ntc.ErrorMessages = Server.AssetRepository.ClientErrorCodes; client.Send(ntc); + L2CGetErrorMessageListRes res = new L2CGetErrorMessageListRes(); client.Send(res); } diff --git a/Arrowgene.Ddon.Shared/AssetRepository.cs b/Arrowgene.Ddon.Shared/AssetRepository.cs index 59428b1e4..8a75bf18a 100644 --- a/Arrowgene.Ddon.Shared/AssetRepository.cs +++ b/Arrowgene.Ddon.Shared/AssetRepository.cs @@ -36,7 +36,7 @@ public AssetRepository(string folder) _fileSystemWatchers = new Dictionary(); - ClientErrorCodes = new List(); + ClientErrorCodes = new List(); EnemySpawns = new List(); ServerList = new List(); MyPawnAsset = new List(); @@ -44,7 +44,7 @@ public AssetRepository(string folder) ArisenAsset = new List(); } - public List ClientErrorCodes { get; } + public List ClientErrorCodes { get; } public List EnemySpawns { get; } public List ServerList { get; } public List MyPawnAsset { get; } diff --git a/Arrowgene.Ddon.Shared/Csv/ClientErrorCodeCsvReader.cs b/Arrowgene.Ddon.Shared/Csv/ClientErrorCodeCsvReader.cs index 4977e8c73..c22589fac 100644 --- a/Arrowgene.Ddon.Shared/Csv/ClientErrorCodeCsvReader.cs +++ b/Arrowgene.Ddon.Shared/Csv/ClientErrorCodeCsvReader.cs @@ -1,25 +1,26 @@ -using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; namespace Arrowgene.Ddon.Shared.Csv { - public class ClientErrorCodeCsvReader : CsvReader + public class ClientErrorCodeCsvReader : CsvReader { protected override int NumExpectedItems => 5; - - protected override ClientErrorCode CreateInstance(string[] properties) + + protected override CDataErrorMessage CreateInstance(string[] properties) { if (!uint.TryParse(properties[0], out uint messageId)) return null; if (!uint.TryParse(properties[1], out uint errorId)) return null; string errorCode = properties[2]; string msgJp = properties[3]; string msgEn = properties[3]; - return new ClientErrorCode + return new CDataErrorMessage { - ErrorId = errorId, + ErrorId = (ErrorCode)errorId, MessageId = messageId, - ErrorCode = errorCode, - MessageJp = msgJp, - MessageEn = msgEn + Message = errorCode, + //MessageJp = msgJp, + //MessageEn = msgEn }; } } diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 346f2332f..47a22d0ad 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -48,6 +48,7 @@ static EntitySerializer() Create(new CDataCharacterMsgSetSerializer()); Create(new CDataCharacterName.Serializer()); Create(new CDataCharacterReleaseElement.Serializer()); + Create(new CDataCharacterSearchParam.Serializer()); Create(new CDataCommonU32.Serializer()); Create(new CDataCommonU8.Serializer()); Create(new CDataCommunicationShortCut.Serializer()); @@ -72,6 +73,7 @@ static EntitySerializer() Create(new CDataArmorCrestData.Serializer()); Create(new CDataEquipItemInfo.Serializer()); Create(new CDataEquipJobItem.Serializer()); + Create(new CDataErrorMessage.Serializer()); Create(new CDataFavoriteWarpPoint.Serializer()); Create(new CDataGameServerListInfoSerializer()); Create(new CDataGameTimeBaseInfo.Serializer()); @@ -156,6 +158,7 @@ static EntitySerializer() Create(new C2SCharacterCharacterGoldenReviveReq.Serializer()); Create(new C2SCharacterCharacterPenaltyReviveReq.Serializer()); Create(new C2SCharacterCharacterPointReviveReq.Serializer()); + Create(new C2SCharacterCharacterSearchReq.Serializer()); Create(new C2SCharacterPawnGoldenReviveReq.Serializer()); Create(new C2SCharacterPawnPointReviveReq.Serializer()); Create(new C2SCharacterSetOnlineStatusReq.Serializer()); @@ -264,6 +267,7 @@ static EntitySerializer() Create(new S2CCharacterCharacterGoldenReviveRes.Serializer()); Create(new S2CCharacterCharacterPenaltyReviveRes.Serializer()); Create(new S2CCharacterCharacterPointReviveRes.Serializer()); + Create(new S2CCharacterCharacterSearchRes.Serializer()); Create(new S2CCharacterCommunityCharacterStatusUpdateNtc.Serializer()); Create(new S2CCharacterDecideCharacterIdRes.Serializer()); Create(new S2CCharacterGetCharacterStatusNtc.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SCharacterCharacterSearchReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SCharacterCharacterSearchReq.cs new file mode 100644 index 000000000..4df255bc7 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SCharacterCharacterSearchReq.cs @@ -0,0 +1,33 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SCharacterCharacterSearchReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_CHARACTER_CHARACTER_SEARCH_REQ; + + public CDataCharacterSearchParam SearchParam { get; set; } + + public C2SCharacterCharacterSearchReq() + { + SearchParam = new CDataCharacterSearchParam(); + } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SCharacterCharacterSearchReq obj) + { + WriteEntity(buffer, obj.SearchParam); + } + + public override C2SCharacterCharacterSearchReq Read(IBuffer buffer) + { + C2SCharacterCharacterSearchReq obj = new C2SCharacterCharacterSearchReq(); + obj.SearchParam = ReadEntity(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/L2CGetErrorMessageListNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/L2CGetErrorMessageListNtc.cs index 817bb0cc5..b71dbf5db 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/L2CGetErrorMessageListNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/L2CGetErrorMessageListNtc.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using Arrowgene.Buffers; -using Arrowgene.Ddon.Shared.Model; +using Arrowgene.Ddon.Shared.Entity.Structure; using Arrowgene.Ddon.Shared.Network; namespace Arrowgene.Ddon.Shared.Entity.PacketStructure @@ -9,63 +9,23 @@ public class L2CGetErrorMessageListNtc : IPacketStructure { public L2CGetErrorMessageListNtc() { - ErrorCodes = new List(); + ErrorMessages = new List(); } - public L2CGetErrorMessageListNtc(List errorCodes) - { - ErrorCodes = errorCodes; - } - - public List ErrorCodes { get; set; } + public List ErrorMessages { get; set; } public PacketId Id => PacketId.L2C_GET_ERROR_MESSAGE_LIST_NTC; public class Serializer : PacketEntitySerializer { - public override void Write(IBuffer buffer, L2CGetErrorMessageListNtc obj) { - WriteUInt32(buffer, (uint) obj.ErrorCodes.Count); - for (int i = 0; i < obj.ErrorCodes.Count; i++) - { - ClientErrorCode errorCode = obj.ErrorCodes[i]; - WriteUInt32(buffer, errorCode.MessageId); - WriteUInt32(buffer, errorCode.ErrorId); - - if (errorCode.ErrorCode.Length > 0) - { - // writing error codes for dev purpose, not proper translation - WriteMtString(buffer, errorCode.ErrorCode); - } - else if (errorCode.MessageEn.Length > 0) - { - // try english next - WriteMtString(buffer, errorCode.MessageEn); - } - else - { - // try use japanese - WriteMtString(buffer, errorCode.MessageJp); - } - - WriteUInt16(buffer, 0); - } + WriteEntityList(buffer, obj.ErrorMessages); } public override L2CGetErrorMessageListNtc Read(IBuffer buffer) { L2CGetErrorMessageListNtc obj = new L2CGetErrorMessageListNtc(); - uint count = ReadUInt32(buffer); - for (int i = 0; i < count; i++) - { - ClientErrorCode errorCode = new ClientErrorCode(); - errorCode.MessageId = ReadUInt32(buffer); - errorCode.ErrorId = ReadUInt32(buffer); - errorCode.ErrorCode = ReadMtString(buffer); - ReadUInt16(buffer); - obj.ErrorCodes.Add(errorCode); - } - + obj.ErrorMessages = ReadEntityList(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterCharacterSearchRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterCharacterSearchRes.cs new file mode 100644 index 000000000..6ff8f9af1 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CCharacterCharacterSearchRes.cs @@ -0,0 +1,36 @@ +using System.Collections.Generic; +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CCharacterCharacterSearchRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_CHARACTER_CHARACTER_SEARCH_RES; + + public List CharacterList { get; set; } + + public S2CCharacterCharacterSearchRes() + { + CharacterList = new List(); + } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CCharacterCharacterSearchRes obj) + { + WriteServerResponse(buffer, obj); + WriteEntityList(buffer, obj.CharacterList); + } + + public override S2CCharacterCharacterSearchRes Read(IBuffer buffer) + { + S2CCharacterCharacterSearchRes obj = new S2CCharacterCharacterSearchRes(); + ReadServerResponse(buffer, obj); + obj.CharacterList = ReadEntityList(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterSearchParam.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterSearchParam.cs new file mode 100644 index 000000000..774cc21b2 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterSearchParam.cs @@ -0,0 +1,33 @@ +using Arrowgene.Buffers; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataCharacterSearchParam + { + public CDataCharacterSearchParam() + { + FirstName = string.Empty; + LastName = string.Empty; + } + + public string FirstName { get; set; } + public string LastName { get; set; } + + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataCharacterSearchParam obj) + { + WriteMtString(buffer, obj.FirstName); + WriteMtString(buffer, obj.LastName); + } + + public override CDataCharacterSearchParam Read(IBuffer buffer) + { + CDataCharacterSearchParam obj = new CDataCharacterSearchParam(); + obj.FirstName = ReadMtString(buffer); + obj.LastName = ReadMtString(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataErrorMessage.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataErrorMessage.cs new file mode 100644 index 000000000..187a03f99 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataErrorMessage.cs @@ -0,0 +1,42 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataErrorMessage + { + public CDataErrorMessage() + { + MessageId = 0; + ErrorId = ErrorCode.ERROR_CODE_SUCCESS; + Message = string.Empty; + DevelopMessage = string.Empty; + } + + public uint MessageId { get; set; } + public ErrorCode ErrorId { get; set; } + public string Message { get; set; } + public string DevelopMessage { get; set; } + + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataErrorMessage obj) + { + WriteUInt32(buffer, obj.MessageId); + WriteUInt32(buffer, (uint)obj.ErrorId); + WriteMtString(buffer, obj.Message); + WriteMtString(buffer, obj.DevelopMessage); + } + + public override CDataErrorMessage Read(IBuffer buffer) + { + CDataErrorMessage obj = new CDataErrorMessage(); + obj.MessageId = ReadUInt32(buffer); + obj.ErrorId = (ErrorCode)ReadUInt32(buffer); + obj.Message = ReadMtString(buffer); + obj.DevelopMessage = ReadMtString(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Model/ClientErrorCode.cs b/Arrowgene.Ddon.Shared/Model/ClientErrorCode.cs deleted file mode 100644 index 2f1eac18f..000000000 --- a/Arrowgene.Ddon.Shared/Model/ClientErrorCode.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Arrowgene.Ddon.Shared.Model -{ - public class ClientErrorCode - { - public uint ErrorId { get; set; } - public uint MessageId { get; set; } - public string ErrorCode { get; set; } - public string MessageJp { get; set; } - public string MessageEn { get; set; } - } -} diff --git a/Arrowgene.Ddon.Shared/Model/ErrorCode.cs b/Arrowgene.Ddon.Shared/Model/ErrorCode.cs new file mode 100644 index 000000000..fc6ae5431 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Model/ErrorCode.cs @@ -0,0 +1,735 @@ +namespace Arrowgene.Ddon.Shared.Model; + +public enum ErrorCode : uint +{ + ERROR_CODE_SUCCESS = 0x0, + ERROR_CODE_DB_DUPLICATE_ENTRY = 0x3E8, + ERROR_CODE_DB_DEAD_LOCK = 0x3E9, + ERROR_CODE_SYSTEM_NOT_DEBUG = 0x7D0, + ERROR_CODE_SYSTEM_INTERNAL = 0x7D1, + ERROR_CODE_SYSTEM_CACHE_DB = 0x7D2, + ERROR_CODE_SYSTEM_MASTERDATA_NOT_FOUND = 0x7D3, + ERROR_CODE_NET_WRITE_PACKET_ERROR = 0x0BB8, + ERROR_CODE_NET_READ_PACKET_ERROR = 0x0BB9, + ERROR_CODE_NET_NOT_CONNECT_DATAMANAGER = 0x0BBA, + ERROR_CODE_NET_DATAMANAGER_SEND_ERROR = 0x0BBB, + ERROR_CODE_NET_NOT_CONNECT_QUEST_SERVER = 0x0BBC, + ERROR_CODE_NET_QUEST_SERVER_SEND_ERROR = 0x0BBD, + ERROR_CODE_NET_NOT_CONNECT_IMMIGRATION_SERVER = 0x0BBE, + ERROR_CODE_NET_IMMIGRATION_SERVER_SEND_ERROR = 0x0BBF, + ERROR_CODE_NET_NOT_CONNECT_GAME_SERVER = 0x0BC0, + ERROR_CODE_NET_GAME_SERVER_SEND_ERROR = 0x0BC1, + ERROR_CODE_NET_NOT_CONNECT_COMMUNITY_SERVER = 0x0BC2, + ERROR_CODE_NET_COMMUNITY_SERVER_SEND_ERROR = 0x0BC3, + ERROR_CODE_NET_NOT_CONNECT_CHARACTER_DATA_SERVER = 0x0BC4, + ERROR_CODE_NET_CHARACTER_DATA_SERVER_SEND_ERROR = 0x0BC5, + ERROR_CODE_NET_NOT_CONNECT_SESSION_MANAGER_SERVER = 0x0BC6, + ERROR_CODE_NET_SESSION_MANAGER_SERVER_SEND_ERROR = 0x0BC7, + ERROR_CODE_AUTH_PASSWORD_ERROR = 0x1770, + ERROR_CODE_AUTH_INVALID_CHARACTER = 0x1771, + ERROR_CODE_AUTH_NOT_LOGIN = 0x1772, + ERROR_CODE_AUTH_NOT_COG_LOGIN = 0x1773, + ERROR_CODE_AUTH_INVALID_COMMON_KEY_SIZE = 0x1774, + ERROR_CODE_AUTH_INVALID_PASSWORD_SIZE = 0x1775, + ERROR_CODE_AUTH_INVALID_DECODE_PASSWORD = 0x1776, + ERROR_CODE_AUTH_SESSION_KEY_GENERATE = 0x1777, + ERROR_CODE_AUTH_MULTIPLE_LOGIN = 0x1778, + ERROR_CODE_AUTH_DUPLICATE_DATA = 0x1779, + ERROR_CODE_AUTH_INVALID_IP_ADDRESS = 0x177A, + ERROR_CODE_LOBBY_JOIN_NUM_OVER = 0x1B58, + ERROR_CODE_LOBBY_ALREADY_JOINED = 0x1B59, + ERROR_CODE_LOBBY_INVALID_LOBBY_NO = 0x1B5A, + ERROR_CODE_LOBBY_DIFFERENT_VERSION = 0x1B5B, + ERROR_CODE_LOBBY_NOT_JOINED = 0x1B5C, + ERROR_CODE_LOBBY_FATAL_INDEX_ARRAY_OVER = 0x1B5D, + ERROR_CODE_LOBBY_FATAL_INVALID_ROOM_INDEX = 0x1B5E, + ERROR_CODE_LOBBY_FATAL_NOT_CREATED = 0x1B5F, + ERROR_CODE_PARTY_INTERNAL_ERROR = 0x1F40, + ERROR_CODE_PARTY_CREATE_ERROR = 0x1F41, + ERROR_CODE_PARTY_PARTY_NO_ERROR = 0x1F42, + ERROR_CODE_PARTY_STATE_ERROR = 0x1F43, + ERROR_CODE_PARTY_JOIN_CONDITION_ERROR = 0x1F44, + ERROR_CODE_PARTY_ALREADY_JOINED = 0x1F45, + ERROR_CODE_PARTY_NOT_JOINED = 0x1F46, + ERROR_CODE_PARTY_IS_NOT_LEADER = 0x1F47, + ERROR_CODE_PARTY_LEADER_ABSENCE = 0x1F48, + ERROR_CODE_PARTY_HOST_ABSENCE = 0x1F49, + ERROR_CODE_PARTY_JOIN_NUM_OVER = 0x1F4A, + ERROR_CODE_PARTY_JOIN_NUM_ERROR = 0x1F4B, + ERROR_CODE_PARTY_KICK_OWN = 0x1F4C, + ERROR_CODE_PARTY_NOT_FOUNDED = 0x1F4D, + ERROR_CODE_PARTY_FATAL_INDEX_ARRAY_OVER = 0x1F4E, + ERROR_CODE_PARTY_NOT_JOIN_MYPAWN = 0x1F4F, + ERROR_CODE_PARTY_NOT_ENTRY = 0x1F50, + ERROR_CODE_PARTY_ALREADY_ENTRY = 0x1F51, + ERROR_CODE_PARTY_NOT_INVITED = 0x1F52, + ERROR_CODE_PARTY_NOT_INVITED_PARTY = 0x1F53, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_SERVER = 0x1F54, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_TIMEOUT = 0x1F55, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_CANCEL = 0x1F56, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_NO_LEADER = 0x1F57, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_CHANGED = 0x1F58, + ERROR_CODE_PARTY_INVITE_CANCEL_REASON_SERVER = 0x1F59, + ERROR_CODE_PARTY_INVITE_CANCEL_REASON_TIMEOUT = 0x1F5A, + ERROR_CODE_PARTY_INVITE_CANCEL_REASON_NO_PARTY = 0x1F5B, + ERROR_CODE_PARTY_INVITE_CANCEL_REASON_SERVER_FULL = 0x1F5C, + ERROR_CODE_PARTY_INVITE_CANCEL_REASON_CANCEL = 0x1F5D, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_NOT_LEADER = 0x1F5E, + ERROR_CODE_PARTY_ALREADY_INVITE = 0x1F5F, + ERROR_CODE_PARTY_ALREADY_INVITED = 0x1F60, + ERROR_CODE_PARTY_INVITE_IS_NOT_BASE = 0x1F61, + ERROR_CODE_PARTY_STATE_SEQUENCE = 0x1F62, + ERROR_CODE_PARTY_NOT_PARTY_JOIN = 0x1F63, + ERROR_CODE_PARTY_INVITE_CANCELD = 0x1F64, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_SESSION_RETURN = 0x1F65, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_JOIN_PREPARE = 0x1F66, + ERROR_CODE_PARTY_INVITE_SESSION_RETURN = 0x1F67, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_NOT_NORMAL_PARTY = 0x1F68, + ERROR_CODE_PARTY_INVITE_NOT_NORMAL_PARTY = 0x1F69, + ERROR_CODE_PARTY_INVITE_LOBBY_NUM_OVER = 0x1F6A, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_LOBBY_NUM_OVER = 0x1F6B, + ERROR_CODE_PARTY_INVITE_CANCEL_REASON_LOBBY_NUM_OVER = 0x1F6C, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_ALREADY_INVITE = 0x1F6D, + ERROR_CODE_PARTY_LEADER_CHANGE_FAIL_NOT_SAME_STAGE = 0x1F6E, + ERROR_CODE_PARTY_LEADER_CHANGE_FAIL_NOT_RELEASE_STAGE = 0x1F6F, + ERROR_CODE_PARTY_LEADER_CHANGE_FAIL_PARTY_WARP = 0x1F70, + ERROR_CODE_PARTY_INVITE_NOT_CANCEL = 0x1F71, + ERROR_CODE_PARTY_INVITE_FAIL_REASON_LEAVE_LEADER = 0x1F72, + ERROR_CODE_MATCHING_NOT_PLAY_ENTRY = 0x2328, + ERROR_CODE_MATCHING_ALREADY_PLAY_ENTRY = 0x2329, + ERROR_CODE_MATCHING_NOT_PLAY_START = 0x232A, + ERROR_CODE_MATCHING_ALREADY_PLAY_START = 0x232B, + ERROR_CODE_MATCHING_NOT_PLAY_INTERRUPT = 0x232C, + ERROR_CODE_MATCHING_ALREADY_PLAY_INTERRUPT = 0x232D, + ERROR_CODE_MATCHING_NOT_PLAY_INTERRUPT_REQUEST = 0x232E, + ERROR_CODE_MATCHING_ALREADY_PLAY_INTERRUPT_REQUEST = 0x232F, + ERROR_CODE_MATCHING_NOT_PLAY_INTERRUPT_ANSWER = 0x2330, + ERROR_CODE_MATCHING_ALREADY_PLAY_INTERRUPT_ANSWER = 0x2331, + ERROR_CODE_MATCHING_NOT_PLAY_END = 0x2332, + ERROR_CODE_MATCHING_ALREADY_PLAY_END = 0x2333, + ERROR_CODE_MATCHING_PLAY_START_ERROR = 0x2334, + ERROR_CODE_MATCHING_PLAY_ENTRY_IS_NOT_READY = 0x2335, + ERROR_CODE_QUICK_PARTY_INTERNAL = 0x2710, + ERROR_CODE_QUICK_PARTY_SESSION_RETURN = 0x2711, + ERROR_CODE_QUICK_PARTY_NO_BOARD = 0x2712, + ERROR_CODE_QUICK_PARTY_PARTY_JOINING = 0x2713, + ERROR_CODE_QUICK_PARTY_ENTRY_BOARD_ENTRY = 0x2714, + ERROR_CODE_PAWN_NOT_FOUNDED = 0x2AF8, + ERROR_CODE_PAWN_ALREADY_RENTED = 0x2AF9, + ERROR_CODE_PAWN_NOT_YOUR_PAWN = 0x2AFA, + ERROR_CODE_PAWN_NO_CRAFT_COUNT = 0x2AFB, + ERROR_CODE_PAWN_NO_ADVENTURE_COUNT = 0x2AFC, + ERROR_CODE_PAWN_REGISTERD_DATA_UPDATED = 0x2AFD, + ERROR_CODE_PAWN_NO_MYPAWN = 0x2AFE, + ERROR_CODE_PAWN_INVALID_SLOT_NO = 0x2AFF, + ERROR_CODE_PAWN_NO_RANDOM_EDIT_DATA = 0x2B00, + ERROR_CODE_PAWN_CREATE_NUM_OVER = 0x2B01, + ERROR_CODE_PAWN_RENTAL_NUM_OVER = 0x2B02, + ERROR_CODE_PAWN_NOT_LOST = 0x2B03, + ERROR_CODE_PAWN_NG_WORD = 0x2B04, + ERROR_CODE_PAWN_COMMENT_LENGTH_OVER = 0x2B05, + ERROR_CODE_PAWN_INVALID = 0x2B06, + ERROR_CODE_PAWN_FAVORITE_NUM_OVER = 0x2B07, + ERROR_CODE_PAWN_ALREADY_FAVORITE = 0x2B08, + ERROR_CODE_PAWN_NOT_YOUR_FAVORITE = 0x2B09, + ERROR_CODE_PAWN_REGISTERD_DATA_NOT_FOUND = 0x2B0A, + ERROR_CODE_PAWN_REVIVE_PRICE_NO_MATCH = 0x2B0B, + ERROR_CODE_PAWN_REVIVE_NEED_GP_COURCE = 0x2B0C, + ERROR_CODE_PAWN_SERACH_NOT_SUPPORTED = 0x2B0D, + ERROR_CODE_PAWN_CHARACTER_NAME_SERACH_NOT_SUPPORTED = 0x2B0E, + ERROR_CODE_PAWN_NAME_SERACH_NOT_SUPPORTED = 0x2B0F, + ERROR_CODE_PAWN_FRIEND_SERACH_NOT_SUPPORTED = 0x2B10, + ERROR_CODE_PAWN_CLAN_SERACH_NOT_SUPPORTED = 0x2B11, + ERROR_CODE_PAWN_FAVORITE_SERACH_NOT_SUPPORTED = 0x2B12, + ERROR_CODE_PAWN_CANNOT_REVIVE = 0x2B13, + ERROR_CODE_PAWN_CANNOT_DELETE_PARTNER = 0x2B14, + ERROR_CODE_QUEST_INTERNAL_ERROR = 0x2EE0, + ERROR_CODE_QUEST_ALREADY_ORDER = 0x2EE1, + ERROR_CODE_QUEST_NOT_ORDER = 0x2EE2, + ERROR_CODE_QUEST_CANT_ORDER = 0x2EE3, + ERROR_CODE_QUEST_SCRIPT_EXECUTE_ERROR = 0x2EE4, + ERROR_CODE_QUEST_SCRIPT_CHECK_ERROR = 0x2EE5, + ERROR_CODE_QUEST_CANT_DERIVERY_ITEM = 0x2EE6, + ERROR_CODE_QUEST_NOT_CHECK_DERIVERY_ITEM = 0x2EE7, + ERROR_CODE_QUEST_NOT_DERIVER_ITEM = 0x2EE8, + ERROR_CODE_QUEST_DONT_HAVE_DELIVERY_ITEM = 0x2EE9, + ERROR_CODE_QUEST_NOT_ENOUGH_DERIVERYED_ITEM = 0x2EEA, + ERROR_CODE_QUEST_OVERRUN_DELIVER_ITEM = 0x2EEB, + ERROR_CODE_QUEST_NOT_EXIST_REWARD_BOX_LIST_NO = 0x2EEC, + ERROR_CODE_QUEST_UNKNOWN_QUEST_SCHEDULE_ID = 0x2EED, + ERROR_CODE_QUEST_UNKNOWN_SCRIPT_COMMAND = 0x2EEE, + ERROR_CODE_QUEST_UNKNOWN_PROCESS_NO = 0x2EEF, + ERROR_CODE_QUEST_UNKNOWN_SEQUENCE_NO = 0x2EF0, + ERROR_CODE_QUEST_UNKNOWN_BLOCK_NO = 0x2EF1, + ERROR_CODE_QUEST_SCRIPT_IS_NOT_SET = 0x2EF2, + ERROR_CODE_QUEST_DETAIL_IS_NOT_SET = 0x2EF3, + ERROR_CODE_QUEST_DATA_CACHE_DEFFERENT_VERSION = 0x2EF4, + ERROR_CODE_QUEST_QUEST_END_DATE_OVER = 0x2EF5, + ERROR_CODE_QUEST_DATA_CACHE_NONE = 0x2EF6, + ERROR_CODE_QUEST_ORDER_CONDITION_NG = 0x2EF7, + ERROR_CODE_QUEST_NOT_LIGHT_QUEST = 0x2EF8, + ERROR_CODE_QUEST_LEADER_NOT_ORDER = 0x2EF9, + ERROR_CODE_QUEST_DIFFERENT_PROGRESS = 0x2EFA, + ERROR_CODE_QUEST_ORDER_FULL = 0x2EFB, + ERROR_CODE_QUEST_LEADER_ORDER_FULL = 0x2EFC, + ERROR_CODE_QUEST_REWARD_BOX_OVER_SELECT_ITEM = 0x2EFD, + ERROR_CODE_QUEST_PRIORITY_QUEST_SET_OVER = 0x2EFE, + ERROR_CODE_QUEST_PRIORITY_QUEST_NOT_EXIST = 0x2EFF, + ERROR_CODE_QUEST_PROGRESS_WORK_SAVE_FAILED = 0x2F00, + ERROR_CODE_QUEST_SCRIPT_ERROR = 0x2F01, + ERROR_CODE_QUEST_IS_LOCK = 0x2F02, + ERROR_CODE_QUEST_PRIORITY_QUEST_ALREADY_SET = 0x2F03, + ERROR_CODE_QUEST_ADD_ITEM_FAILED = 0x2F04, + ERROR_CODE_QUEST_UNSUPPORTED_QUEST_TYPE = 0x2F05, + ERROR_CODE_QUEST_ALREADY_START_TIMEKEEPING = 0x2F06, + ERROR_CODE_QUEST_CAN_NOT_CANCEL_QUEST = 0x2F07, + ERROR_CODE_QUEST_PROGRESS_CHARACTER_NOT_EXIST = 0x2F08, + ERROR_CODE_QUEST_PROGRESS_DIFFERENT_LEADER = 0x2F09, + ERROR_CODE_QUEST_DELIVER_ITEM_STORAGE_ERROR = 0x2F0A, + ERROR_CODE_QUEST_QUEST_STOP = 0x2F0B, + ERROR_CODE_QUEST_SCRIPT_RESULT_ERROR = 0x2F0C, + ERROR_CODE_QUEST_SEQUENCE_NOT_MATCH = 0x2F0D, + ERROR_CODE_QUEST_CANT_MAIN_QUEST_JUMP = 0x2F0E, + ERROR_CODE_QUEST_DUMMY_COMMAND_NOT_PROGRESS = 0x2F0F, + ERROR_CODE_QUEST_SET_BAN_ABILITIES = 0x2F10, + ERROR_CODE_QUEST_NOT_ENABLE_LIGHT_QUEST_GP = 0x2F11, + ERROR_CODE_CYCLE_CONTENTS_PERIOD_OUTSIDE = 0x32C8, + ERROR_CODE_CYCLE_CONTENTS_INVALID_SCHEDULE_ID = 0x32C9, + ERROR_CODE_CYCLE_CONTENTS_PLAY_TIME_NOT_SET = 0x32CA, + ERROR_CODE_CYCLE_CONTENTS_REWARD_NONE = 0x32CB, + ERROR_CODE_CYCLE_CONTENTS_ALREADY_GET_REWARD = 0x32CC, + ERROR_CODE_CYCLE_CONTENTS_IS_NOT_PLAY = 0x32CD, + ERROR_CODE_CYCLE_CONTENTS_PLAY_START_INVALID_SITUATION_LEVEL = 0x32CE, + ERROR_CODE_ITEM_INTERNAL_ERROR = 0x36B0, + ERROR_CODE_ITEM_NOT_FOUND = 0x36B1, + ERROR_CODE_ITEM_NUM_SHORT = 0x36B2, + ERROR_CODE_ITEM_STORAGE_OVERFLOW = 0x36B3, + ERROR_CODE_ITEM_INVALID_ITEM_CATEGORY = 0x36B4, + ERROR_CODE_ITEM_INVALID_EQUIP_CATEGORY = 0x36B5, + ERROR_CODE_ITEM_INVALID_MASTER_DATA_MAX_STACK_NUM = 0x36B6, + ERROR_CODE_ITEM_INVALID_UID = 0x36B7, + ERROR_CODE_ITEM_CACHE_UPDATE_FAILED = 0x36B8, + ERROR_CODE_ITEM_INVALID_EQUIP_SLOT = 0x36B9, + ERROR_CODE_ITEM_INVALID_STORAGE_TYPE = 0x36BA, + ERROR_CODE_ITEM_INVALID_SLOT_NO = 0x36BB, + ERROR_CODE_ITEM_INVALID_ITEM_NUM = 0x36BC, + ERROR_CODE_ITEM_KEY_ITEM_ONLY_BAG = 0x36BD, + ERROR_CODE_ITEM_KEY_ITEM_CANT_SEPARATE = 0x36BE, + ERROR_CODE_ITEM_INVALID_EQUIP_JOB = 0x36BF, + ERROR_CODE_ITEM_INVALID_EQUIP_LEVEL = 0x36C0, + ERROR_CODE_ITEM_INVALID_EQUIP_SEX = 0x36C1, + ERROR_CODE_ITEM_CANNOT_STORE_STORAGE = 0x36C2, + ERROR_CODE_ITEM_INVALID_ITEM_SORT = 0x36C3, + ERROR_CODE_ITEM_INVALID_SLOT_USE = 0x36C4, + ERROR_CODE_ITEM_INVALID_STORAGE_TYPE_EQUIP = 0x36C5, + ERROR_CODE_ITEM_CANNOT_LOAD_STORAGE = 0x36C6, + ERROR_CODE_ITEM_ALREADY_HAVING = 0x36C7, + ERROR_CODE_ITEM_NO_SELL_STORAGE = 0x36C8, + ERROR_CODE_ITEM_EQUIP_JEWELRY_NUM_OVER = 0x36C9, + ERROR_CODE_ITEM_BAG_CAPACITY_OVER = 0x36CA, + ERROR_CODE_ITEM_STORAGE_CAPACITY_OVER = 0x36CB, + ERROR_CODE_ITEM_POST_CAPACITY_OVER = 0x36CC, + ERROR_CODE_ITEM_CAPACITY_OVER = 0x36CD, + ERROR_CODE_CHARACTER_DATA_CREATE_FAILED = 0x3A98, + ERROR_CODE_CHARACTER_DATA_NO_GOLD = 0x3A99, + ERROR_CODE_CHARACTER_DATA_NO_RIM = 0x3A9A, + ERROR_CODE_CHARACTER_DATA_NO_DORB = 0x3A9B, + ERROR_CODE_CHARACTER_DATA_LV_MAX = 0x3A9C, + ERROR_CODE_CHARACTER_PARAM_NOT_FOUND = 0x3A9D, + ERROR_CODE_CHARACTER_ITEM_NOT_FOUND = 0x3A9E, + ERROR_CODE_CHARACTER_EQUIP_NOT_FOUND = 0x3A9F, + ERROR_CODE_CHARACTER_PAWN_PARAM_NOT_FOUND = 0x3AA0, + ERROR_CODE_CHARACTER_DATA_INVALID_OBJECTIVE_NO = 0x3AA1, + ERROR_CODE_CHARACTER_DATA_INVALID_OBJECTIVE_TYPE = 0x3AA2, + ERROR_CODE_CHARACTER_DATA_INVALID_CHARACTER_ID = 0x3AA3, + ERROR_CODE_CHARACTER_REVIVE_POINT_FULL = 0x3AA4, + ERROR_CODE_CHARACTER_REVIVE_POINT_BACKORDER = 0x3AA5, + ERROR_CODE_CHARACTER_REVIVE_POINT_LACK = 0x3AA6, + ERROR_CODE_CHARACTER_DATA_INVALID_NAME = 0x3AA7, + ERROR_CODE_CHARACTER_DATA_INVALID_EDIT_PARAM = 0x3AA8, + ERROR_CODE_CHARACTER_DATA_INVALID_JOB_ID = 0x3AA9, + ERROR_CODE_CHARACTER_DATA_CREATE_NUM_OVER = 0x3AAA, + ERROR_CODE_CHARACTER_NOT_RELEASE_CONTENTS = 0x3AAB, + ERROR_CODE_CHARACTER_NG_WORD = 0x3AAC, + ERROR_CODE_CHARACTER_COMMENT_LENGTH_OVER = 0x3AAD, + ERROR_CODE_CHARACTER_INTERNAL = 0x3AAE, + ERROR_CODE_CHARACTER_OFFLINE = 0x3AAF, + ERROR_CODE_INSTANCE_AREA_PARTY_NOT_JOINED = 0x3E80, + ERROR_CODE_INSTANCE_AREA_ENEMY_GROUP_NOT_CREATED = 0x3E81, + ERROR_CODE_INSTANCE_AREA_FATAL_ENEMY_INSTANCE_INITIALIZE_ERROR = 0x3E82, + ERROR_CODE_INSTANCE_AREA_ITEM_GROUP_NOT_CREATED = 0x3E83, + ERROR_CODE_INSTANCE_AREA_INVALID_GATHERING_ITEM_POS_ID = 0x3E84, + ERROR_CODE_INSTANCE_AREA_FATAL_ITEM_INSTANCE_INITIALIZE_ERROR = 0x3E85, + ERROR_CODE_INSTANCE_AREA_GATHERING_ITEM_REQUEST_NUM_OVER = 0x3E86, + ERROR_CODE_INSTANCE_AREA_INVALID_STAGE_ID = 0x3E87, + ERROR_CODE_INSTANCE_AREA_NOT_AREA_CHANGED_YET = 0x3E88, + ERROR_CODE_INSTANCE_AREA_INVALID_OM_DATA_KEY = 0x3E89, + ERROR_CODE_INSTANCE_AREA_INVALID_DROP_ITEM_ID = 0x3E8A, + ERROR_CODE_INSTANCE_AREA_DROP_ITEM_REQUEST_NUM_OVER = 0x3E8B, + ERROR_CODE_INSTANCE_AREA_GATHERING_ITEM_ERROR = 0x3E8C, + ERROR_CODE_INSTANCE_AREA_DONT_HAVE_GATHERING_ITEM = 0x3E8D, + ERROR_CODE_INSTANCE_AREA_GATHERING_ITEM_NOT_MATCH = 0x3E8E, + ERROR_CODE_INSTANCE_AREA_GATHERING_ITEM_SHORT_INTERVAL = 0x3E8F, + ERROR_CODE_INSTANCE_AREA_ENEMY_NOT_CREATED = 0x3E90, + ERROR_CODE_INSTANCE_AREA_ENEMY_UNIT_DATA_NONE = 0x3E91, + ERROR_CODE_INSTANCE_AREA_ENEMY_PRESET_NONE = 0x3E92, + ERROR_CODE_INSTANCE_AREA_TRANING_ROOM_ENEMY_NOT_FOUND = 0x3E93, + ERROR_CODE_INSTANCE_AREA_CHARACTER_PARAM_NOT_FOUND = 0x3E94, + ERROR_CODE_INSTANCE_AREA_TREASURE_POINT_ALWAYS_DISCOVERED = 0x3E95, + ERROR_CODE_TIMER_INTERNAL_ERROR = 0x4268, + ERROR_CODE_CRAFT_NO_CRAFT_PAWN = 0x4650, + ERROR_CODE_CRAFT_PAWN_WORKING = 0x4651, + ERROR_CODE_CRAFT_PAWN_DOUBLE_BOOKING = 0x4652, + ERROR_CODE_CRAFT_PAWN_CANT_WORK = 0x4653, + ERROR_CODE_CRAFT_PAWN_CRAFT_COUNT_OVER = 0x4654, + ERROR_CODE_CRAFT_RECIPE_NOT_FOUND = 0x4655, + ERROR_CODE_CRAFT_RECIPE_MATERIAL_NOT_MATCH = 0x4656, + ERROR_CODE_CRAFT_LOWER_SKILL_LEVEL = 0x4657, + ERROR_CODE_CRAFT_NO_CRAFT_POINT = 0x4658, + ERROR_CODE_CRAFT_INVALID_CRAFT_SKILL_TYPE = 0x4659, + ERROR_CODE_CRAFT_ELEMENT_SLOT_OCCUPIED = 0x465A, + ERROR_CODE_CRAFT_ELEMENT_SLOT_NOT_OCCUPIED = 0x465B, + ERROR_CODE_CRAFT_INVALID_ELEMENT_SLOT = 0x465C, + ERROR_CODE_CRAFT_PRODUCT_NOT_COMPLETE = 0x465D, + ERROR_CODE_CRAFT_CRAFT_RANK_NOT_ENOUGH = 0x465E, + ERROR_CODE_CRAFT_INVALID_SP_MATERIAL = 0x465F, + ERROR_CODE_CRAFT_SP_MATERIAL_RANK_OVER = 0x4660, + ERROR_CODE_CRAFT_NOT_EQUIP_ITEM = 0x4661, + ERROR_CODE_CRAFT_INVALID_ELEMENT_MATERIAL = 0x4662, + ERROR_CODE_CRAFT_ITEM_GRADE_NOT_ENOUGH = 0x4663, + ERROR_CODE_CRAFT_SKILL_LEVEL_OVER = 0x4664, + ERROR_CODE_CRAFT_INVALID_COLOR_MATERIAL = 0x4665, + ERROR_CODE_CRAFT_INVALID_CRAFT_STAGE = 0x4666, + ERROR_CODE_CRAFT_USE_EQUIP_ITEM = 0x4667, + ERROR_CODE_CRAFT_INTERNAL = 0x4668, + ERROR_CODE_CRAFT_COLOR_RAGULETE_ITEM = 0x4669, + ERROR_CODE_CRAFT_RECIPE_CATEGORY_UNKNOWN = 0x466A, + ERROR_CODE_CRAFT_SAME_ITEM_AT_WORK = 0x466B, + ERROR_CODE_CRAFT_SKILL_RESET_ZERO_POINT = 0x466C, + ERROR_CODE_CRAFT_TIME_SAVE_NO_REMAIN_TIME = 0x466D, + ERROR_CODE_CRAFT_TIME_SAVE_COST_NOT_FOUND = 0x466E, + ERROR_CODE_CRAFT_ELEMENT_SLOT_IS_LOCKED = 0x466F, + ERROR_CODE_CRAFT_CREATE_COUNT = 0x4670, + ERROR_CODE_CRAFT_CREATE_FINISHED = 0x4671, + ERROR_CODE_CRAFT_CRAFT_BAGGAGE_EXTEND = 0x4672, + ERROR_CODE_WARP_INVALID_WARP_POINT_ID = 0x4A38, + ERROR_CODE_WARP_ALREADY_RELEASE_WARP_POINT_ID = 0x4A39, + ERROR_CODE_WARP_INVALID_FAVORITE_SLOT_NO = 0x4A3A, + ERROR_CODE_WARP_LACK_RIM = 0x4A3B, + ERROR_CODE_WARP_DIFFERENCE_PRICE = 0x4A3C, + ERROR_CODE_WARP_LACK_RELEASE_AREA_RANK = 0x4A3D, + ERROR_CODE_WARP_LACK_RELEASE_QUEST_PROGRESS = 0x4A3E, + ERROR_CODE_WARP_LACK_RELEASE_CONDITION = 0x4A3F, + ERROR_CODE_WARP_LAST_PARTY_WARP_INFO_NOT_FOUND = 0x4A40, + ERROR_CODE_WARP_PARTY_WARP_TIME_OUT = 0x4A41, + ERROR_CODE_WARP_WARP_POINT_NOT_FOUND = 0x4A42, + ERROR_CODE_FRIEND_TARGET_PARAM_NOT_FOUND = 0x4E20, + ERROR_CODE_FRIEND_INVARID_FRIEND_NO = 0x4E21, + ERROR_CODE_FRIEND_LIST_SIZE_OVER = 0x4E22, + ERROR_CODE_FRIEND_TARGET_IN_BLACK_LIST = 0x4E23, + ERROR_CODE_FRIEND_TARGET_ALREADY_FRIEND = 0x4E24, + ERROR_CODE_FRIEND_TARGET_ALREADY_APPLYING = 0x4E25, + ERROR_CODE_FRIEND_TARGET_ALREADY_APPROVING = 0x4E26, + ERROR_CODE_FRIEND_NOT_IN_APPLYING_LIST = 0x4E27, + ERROR_CODE_FRIEND_NOT_IN_APPROVING_LIST = 0x4E28, + ERROR_CODE_SKILL_PARAM_NOT_FOUND = 0x5208, + ERROR_CODE_SKILL_ALREADY_LEARN = 0x5209, + ERROR_CODE_SKILL_PRIOR_SKILL_NOT_LEARN = 0x520A, + ERROR_CODE_SKILL_JOB_NOT_MATCH = 0x520B, + ERROR_CODE_SKILL_JOB_LEVEL_LACK = 0x520C, + ERROR_CODE_SKILL_JOB_POINT_LACK = 0x520D, + ERROR_CODE_SKILL_NOT_YET_UNLOCK = 0x520E, + ERROR_CODE_SKILL_NOT_YET_LEARN = 0x520F, + ERROR_CODE_SKILL_INVALID_SLOT_NO = 0x5210, + ERROR_CODE_SKILL_INVALID_SKILL_ID = 0x5211, + ERROR_CODE_SKILL_ALREADY_SET_SKILL = 0x5212, + ERROR_CODE_SKILL_ALREADY_RELEASE = 0x5213, + ERROR_CODE_SKILL_NO_UNLOCK_ITEM = 0x5214, + ERROR_CODE_SKILL_COST_OVER = 0x5215, + ERROR_CODE_SKILL_INVALID_PRESET_NO = 0x5216, + ERROR_CODE_SHOP_INVALID_SHOP_NO = 0x55F0, + ERROR_CODE_SHOP_INVALID_GOODS_INDEX = 0x55F1, + ERROR_CODE_SHOP_INVALID_ITEM_UID = 0x55F2, + ERROR_CODE_SHOP_INVALID_DEAL_NUM = 0x55F3, + ERROR_CODE_SHOP_LACK_MONEY = 0x55F4, + ERROR_CODE_SHOP_ITEM_CAPACITY_OVER = 0x55F5, + ERROR_CODE_SHOP_PRICE_NO_MATCH = 0x55F6, + ERROR_CODE_SHOP_TEMPORARY_BLOCK = 0x55F7, + ERROR_CODE_INN_INVALID_INN_NO = 0x59D8, + ERROR_CODE_INN_LACK_MONEY = 0x59D9, + ERROR_CODE_INN_PRICE_NO_MATCH = 0x59DA, + ERROR_CODE_INN_PENALTY_HEALED = 0x59DB, + ERROR_CODE_JOBCHANGE_INTERNAL_ERROR = 0x5DC0, + ERROR_CODE_JOBCHANGE_JOB_LOCKED = 0x5DC1, + ERROR_CODE_JOBCHANGE_SAME_JOB = 0x5DC2, + ERROR_CODE_JOBCHANGE_JOB_POINT_LACK = 0x5DC3, + ERROR_CODE_JOBCHANGE_ITEM_CAPACITY_OVER = 0x5DC4, + ERROR_CODE_JOBCHANGE_NO_WEAPON = 0x5DC5, + ERROR_CODE_AREAMASTER_INVALID_AREA_NO = 0x61A8, + ERROR_CODE_AREAMASTER_AREA_POINT_LACK = 0x61A9, + ERROR_CODE_AREAMASTER_AREA_INFO_NOT_FOUND = 0x61AA, + ERROR_CODE_AREAMASTER_PARTY_INFO_NOT_FOUND = 0x61AB, + ERROR_CODE_AREAMASTER_PARTY_LEADER_INFO_NOT_FOUND = 0x61AC, + ERROR_CODE_AREAMASTER_NOT_YET_SUPPLY = 0x61AD, + ERROR_CODE_AREAMASTER_INVALID_SUPPLY_STORAGE = 0x61AE, + ERROR_CODE_AREAMASTER_INVALID_SUPPLY_INDEX = 0x61AF, + ERROR_CODE_AREAMASTER_INVALID_SUPPLY_NUM = 0x61B0, + ERROR_CODE_AREAMASTER_ALREADY_PURCHASED_QUEST_INFO = 0x61B1, + ERROR_CODE_AREAMASTER_NOT_SCHEDULING_QUEST = 0x61B2, + ERROR_CODE_AREAMASTER_STOP_SUPPLY_DISCARD = 0x61B3, + ERROR_CODE_AREAMASTER_SUPPLY_NOT_AVAILABLE = 0x61B4, + ERROR_CODE_HTTP_INTERNAL_ERROR = 0x6590, + ERROR_CODE_JOBMASTER_INVALID_JOB_ID = 0x6978, + ERROR_CODE_JOBMASTER_ORDER_NOT_FOUND = 0x6979, + ERROR_CODE_BAZAAR_INTERNAL_ERROR = 0x6D60, + ERROR_CODE_BAZAAR_STATE_CHANGED = 0x6D61, + ERROR_CODE_BAZAAR_EXHIBIT_NUM_OVER = 0x6D62, + ERROR_CODE_BAZAAR_EXHIBIT_ITEM_STACK_OVER = 0x6D63, + ERROR_CODE_BAZAAR_BUY_NUM_LIMIT = 0x6D64, + ERROR_CODE_BAZAAR_BUY_PRICE_LIMIT = 0x6D65, + ERROR_CODE_ORB_DEVOTE_INVALID_ELEMENT_ID = 0x7148, + ERROR_CODE_ORB_DEVOTE_ORB_LACK = 0x7149, + ERROR_CODE_ORB_DEVOTE_ALREADY_RELEASE = 0x714A, + ERROR_CODE_ORB_DEVOTE_ELEMENT_NOT_CONNECT = 0x714B, + ERROR_CODE_ORB_DEVOTE_LACK_GROUP_COMPLETE_NUM = 0x714C, + ERROR_CODE_ORB_DEVOTE_NOT_COMPLETE_TRUNK = 0x714D, + ERROR_CODE_ORB_DEVOTE_NOT_COMPLETE_PRE_PAGE = 0x714E, + ERROR_CODE_ORB_DEVOTE_INTERNAL_ERROR = 0x714F, + ERROR_CODE_ORB_DEVOTE_NOT_OPEN_ORB_TREE = 0x7150, + ERROR_CODE_ENTRY_BOARD_NO_BOARD = 0x7530, + ERROR_CODE_ENTRY_BOARD_ALREADY_JOIN = 0x7531, + ERROR_CODE_ENTRY_BOARD_ITEM_MAX = 0x7532, + ERROR_CODE_ENTRY_BOARD_NO_ITEM = 0x7533, + ERROR_CODE_ENTRY_BOARD_NO_RECRUIT = 0x7534, + ERROR_CODE_ENTRY_BOARD_PASSWARD_NG = 0x7535, + ERROR_CODE_ENTRY_BOARD_JOBLV_ERR = 0x7536, + ERROR_CODE_ENTRY_BOARD_NO_SPACE = 0x7537, + ERROR_CODE_ENTRY_BOARD_NOT_JOIN = 0x7538, + ERROR_CODE_ENTRY_BOARD_PAWN_READY = 0x7539, + ERROR_CODE_ENTRY_BOARD_NO_USER = 0x753A, + ERROR_CODE_ENTRY_BOARD_NOT_LEADER = 0x753B, + ERROR_CODE_ENTRY_BOARD_YET_UPDATETIME = 0x753C, + ERROR_CODE_ENTRY_BOARD_NO_PARTY = 0x753D, + ERROR_CODE_ENTRY_BOARD_RECREATE_NOT_LEADER = 0x753E, + ERROR_CODE_ENTRY_BOARD_PARTY_CREATE_MAX = 0x753F, + ERROR_CODE_ENTRY_BOARD_RECREATE_SESSION_RETURN = 0x7540, + ERROR_CODE_ENTRY_BOARD_NOT_CREATE_QUICK_PARTY = 0x7541, + ERROR_CODE_ENTRY_BOARD_NOT_ENTRY_QUICK_PARTY = 0x7542, + ERROR_CODE_ENTRY_BOARD_ITEM_LIST_REQUEST_OVER = 0x7543, + ERROR_CODE_ENTRY_BOARD_ITEM_CREATE_OVER = 0x7544, + ERROR_CODE_ENTRY_BOARD_ITEM_SEARCH_ZERO = 0x7545, + ERROR_CODE_ENTRY_BOARD_RECREATE_ENTRY = 0x7546, + ERROR_CODE_SERVER_CONNECT_NUM_OVER = 0x7918, + ERROR_CODE_MAIL_NOT_FOUND = 0x7D00, + ERROR_CODE_MAIL_RECEIVED = 0x7D01, + ERROR_CODE_MAIL_SEND = 0x7D02, + ERROR_CODE_MAIL_GET_ITEM = 0x7D03, + ERROR_CODE_CLIENT_REQ_ERROR = 0x80E8, + ERROR_CODE_CLIENT_REQ_TIMEOUT = 0x80E9, + ERROR_CODE_GACHA_NOT_FOUND = 0x84D0, + ERROR_CODE_GACHA_PRICE_NO_MATCH = 0x84D1, + ERROR_CODE_GACHA_BUY = 0x84D2, + ERROR_CODE_GACHA_STORAGE_MAX = 0x84D3, + ERROR_CODE_GACHA_LIMIT = 0x84D4, + ERROR_CODE_ONLINE_STATUS_INVALID_STATUS_SETTING = 0x88B8, + ERROR_CODE_WEATHER_NOT_FOUND_LOOP_SCHEDULE = 0x8CA0, + ERROR_CODE_LOADING_SEND_REQ_FAILED = 0x9088, + ERROR_CODE_LOADING_NOT_FOUND_LOADING_INFO = 0x9089, + ERROR_CODE_STAMP_BONUS_IS_RECIEVED = 0x9470, + ERROR_CODE_STAMP_BONUS_INTERNAL_ERROR = 0x9471, + ERROR_CODE_STAMP_BONUS_GET_ITEM = 0x9472, + ERROR_CODE_RANKING_INTERNAL_ERROR = 0x9858, + ERROR_CODE_RANKING_CHANGE_STATE = 0x9859, + ERROR_CODE_CLAN_INTERNAL_ERROR = 0x9C40, + ERROR_CODE_CLAN_NO_COM_SESSION = 0x9C41, + ERROR_CODE_CLAN_NOT_JOIN = 0x9C42, + ERROR_CODE_CLAN_NO_AUTHORIZATION = 0x9C43, + ERROR_CODE_CLAN_LEAVE_MASTER = 0x9C44, + ERROR_CODE_CLAN_NOT_EXIST = 0x9C45, + ERROR_CODE_CLAN_JOIN_REQUEST_NOT_FOUND = 0x9C46, + ERROR_CODE_CLAN_JOIN_REQUEST_ALREADY = 0x9C47, + ERROR_CODE_CLAN_SCOUT_ENTRY_NOT_FOUND = 0x9C48, + ERROR_CODE_CLAN_SCOUT_ENTRY_INVITE_NOT_FOUND = 0x9C49, + ERROR_CODE_CLAN_SCOUT_ENTRY_INVITE_ALREADY = 0x9C4A, + ERROR_CODE_CLAN_NG_WORD_NAME = 0x9C4B, + ERROR_CODE_CLAN_NG_WORD_SHORT_NAME = 0x9C4C, + ERROR_CODE_CLAN_DUPLICATE_NAME = 0x9C4D, + ERROR_CODE_CLAN_ALREADY_JOIN = 0x9C4E, + ERROR_CODE_CLAN_MEMBER_MAX = 0x9C4F, + ERROR_CODE_CLAN_NOT_FOUND = 0x9C50, + ERROR_CODE_CLAN_NOT_DELETE_MASTER = 0x9C51, + ERROR_CODE_CLAN_CACHE_NOT_FOUND = 0x9C52, + ERROR_CODE_CLAN_INTERVAL = 0x9C53, + ERROR_CODE_CLAN_NOT_LOADED = 0x9C54, + ERROR_CODE_CLAN_NOT_PERMISSION = 0x9C55, + ERROR_CODE_CLAN_NOT_INVITE_JOIN_REQUEST = 0x9C56, + ERROR_CODE_CLAN_NOT_INVITE_ACCEPT_JOIN_REQUEST = 0x9C57, + ERROR_CODE_CLAN_NOT_MASTER_AUTO_CHANGE = 0x9C58, + ERROR_CODE_GP_INTERNAL_ERROR = 0x0A028, + ERROR_CODE_GP_LACK_GP = 0x0A029, + ERROR_CODE_GP_BUY_LIMIT_OVER = 0x0A02A, + ERROR_CODE_GP_GET_CAP_NOT_FIND_SESSIONKEY_FROM_DB = 0x0A02B, + ERROR_CODE_GP_EXEC_CAP_TO_GP_HISTORY_GET_GP_FAILED = 0x0A02C, + ERROR_CODE_GP_EXEC_CAP_TO_GP_HISTORY_INTERRUPTION_FAILED = 0x0A02D, + ERROR_CODE_GP_SELECT_CAP_TO_GP_HISTORY_VERIFY_FAILED = 0x0A02E, + ERROR_CODE_GP_GETGP_GP_GET_FAILED = 0x0A02F, + ERROR_CODE_GP_GETGP_GP_GET_AFTER_INSURANCE_FAILED = 0x0A030, + ERROR_CODE_GP_INSURANCE_USERINFO_GET_DB_FALIED = 0x0A031, + ERROR_CODE_GP_INSURANCE_SESSIONKEY_GET_DB_FAILED = 0x0A032, + ERROR_CODE_GP_INSURANCE_ITEMLIST_REQ_FALIED = 0x0A033, + ERROR_CODE_GP_INSURANCE_ITEMLIST_ANALYZE_FALIED = 0x0A034, + ERROR_CODE_GP_INSURANCE_ITEMLIST_SESSIONKEY_API_FAILED = 0x0A035, + ERROR_CODE_GP_INSURANCE_ITEMLIST_ACCESSTOKEN_GET_DB_FAILED = 0x0A036, + ERROR_CODE_GP_INSURANCE_ITEMLIST_SESSIONKEY_REQ_FAILED = 0x0A037, + ERROR_CODE_GP_INSURANCE_ITEMLIST_OTHER_ERR = 0x0A038, + ERROR_CODE_GP_INSURANCE_ITEMLIST_ANALYZER_GET_FAILED = 0x0A039, + ERROR_CODE_GP_INSURANCE_BEGIN_FAILED = 0x0A03A, + ERROR_CODE_GP_INSURANCE_CAPTOGPHISTORIES_GET_DB_FAILED = 0x0A03B, + ERROR_CODE_GP_INSURANCE_CAPTOGP_UPDATE_FAILED = 0x0A03C, + ERROR_CODE_GP_INSURANCE_COMMIT_FAILED = 0x0A03D, + ERROR_CODE_GP_INSURANCE_SESSIONKEY_ANALYZE_FAILED = 0x0A03E, + ERROR_CODE_GP_INSURANCE_SESSIONKEY_GET_API_FAILED = 0x0A03F, + ERROR_CODE_GP_INSURANCE_SESSIONKEY_ANALYZER_GET_FAILED = 0x0A040, + ERROR_CODE_GP_INSURANCE_SESSIONKEY_ITEMLIST_REQ_FAILED = 0x0A041, + ERROR_CODE_GP_GETCAP_SESSIONKEY_GET_DB_FAILED = 0x0A042, + ERROR_CODE_GP_GETCAP_GETCAP_REQ_FAILED = 0x0A043, + ERROR_CODE_GP_GETCAP_GETCAP_ANALYZE_FALIED = 0x0A044, + ERROR_CODE_GP_GETCAP_GETCAP_SESSIONKEY_API_FAILED = 0x0A045, + ERROR_CODE_GP_GETCAP_GETCAP_ACCESSTOKEN_GET_DB_FAILED = 0x0A046, + ERROR_CODE_GP_GETCAP_GETCAP_SESSIONKEY_REQ_FAILED = 0x0A047, + ERROR_CODE_GP_GETCAP_GETCAP_OTHER_ERR = 0x0A048, + ERROR_CODE_GP_GETCAP_GETCAP_ANALYZER_GET_FAILED = 0x0A049, + ERROR_CODE_GP_GETCAP_SESSIONKEY_ANALYZE_FAILED = 0x0A04A, + ERROR_CODE_GP_GETCAP_SESSIONKEY_GET_API_FAILED = 0x0A04B, + ERROR_CODE_GP_GETCAP_SESSIONKEY_ANALYZER_GET_FAILED = 0x0A04C, + ERROR_CODE_GP_GETCAP_SESSIONKEY_GETCAP_REQ_FAILED = 0x0A04D, + ERROR_CODE_GP_CAPTOGP_CAPTOGPS_GET_DB_FAILED = 0x0A04E, + ERROR_CODE_GP_CAPTOGP_SESSIONKEY_GET_DB_FALIED = 0x0A04F, + ERROR_CODE_GP_CAPTOGP_GP_GET_DB_FAILED = 0x0A050, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_REQ_FAILED = 0x0A051, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_ANALYZE_FAILED = 0x0A052, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_SESSIONKEY_API_FAILED = 0x0A053, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_ACCESSTOKEN_GET_DB_FAILED = 0x0A054, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_SESSIONKEY_REQ_FAILED = 0x0A055, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_OTHER_ERR = 0x0A056, + ERROR_CODE_GP_CAPTOGP_USECAPVERIFY_ANALYZER_GET_FAILED = 0x0A057, + ERROR_CODE_GP_CAPTOGP_CAPTOGPHISTORIES_INSERT_FAILED = 0x0A058, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_REQ_FAILED = 0x0A059, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_ANALYZE_FAILED = 0x0A05A, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_SESSIONKEY_API_FAILED = 0x0A05B, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_ACCESSTOKEN_GET_DB_FAILED = 0x0A05C, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_SESSIONKEY_REQ_FAILED = 0x0A05D, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_OTHER_ERR = 0x0A05E, + ERROR_CODE_GP_CAPTOGP_USECAPEXECUTE_ANALYZER_GET_FAILED = 0x0A05F, + ERROR_CODE_GP_CAPTOGP_BEGIN_FAILED = 0x0A060, + ERROR_CODE_GP_CAPTOGP_CAPTOGP_UPDATE_FAILED = 0x0A061, + ERROR_CODE_GP_CAPTOGP_COMMIT_FAILED = 0x0A062, + ERROR_CODE_GP_CAPTOGP_SESSIONKEY_ANALYZE_FAILED = 0x0A063, + ERROR_CODE_GP_CAPTOGP_SESSIONKEY_GET_API_FAILED = 0x0A064, + ERROR_CODE_GP_CAPTOGP_SESSIONKEY_ANALYZER_GET_FAILED = 0x0A065, + ERROR_CODE_GP_CAPTOGP_SESSIONKEY_USECAPVERIFY_REQ_FAILED = 0x0A066, + ERROR_CODE_GP_CAPTOGP_SESSIONKEY_USECAPEXECUTE_REQ_FAILED = 0x0A067, + ERROR_CODE_GP_SESSIONKEY_ACCESSTOKEN_GET_DB_FAILED = 0x0A068, + ERROR_CODE_GP_SESSIONKEY_SESSIONKEY_API_FAILED = 0x0A069, + ERROR_CODE_GP_SESSIONKEY_SESSIONKEY_GET_API_FAILED = 0x0A06A, + ERROR_CODE_GP_SESSIONKEY_SESSIONKEY_ANALYZE_FAILED = 0x0A06B, + ERROR_CODE_GP_SESSIONKEY_SESSIONKEY_ANALYZER_GET_FAILED = 0x0A06C, + ERROR_CODE_GP_AUTHCOG_NONE = 0x0A06D, + ERROR_CODE_GP_CAPTOGP_HISTORIES_FAILED = 0x0A06E, + ERROR_CODE_GP_CAPTOGP_INSURANCE_FAILED = 0x0A06F, + ERROR_CODE_GP_COG_SESSIONKEY_GET_FAILED_LOGIN_REQ = 0x0A070, + ERROR_CODE_GP_ISENABLEINSERTGP_FAILED = 0x0A071, + ERROR_CODE_GP_INSERTGP_LIMIT_OVER = 0x0A072, + ERROR_CODE_GP_GP_COURCE_NOT_AVAILABLE = 0x0A073, + ERROR_CODE_GP_EFFECT_BUY_MAX = 0x0A074, + ERROR_CODE_GP_GP_COURSE_LINEUP_NOT_FOUND = 0x0A075, + ERROR_CODE_GP_CHARACTER_CREATED_TIME_OVER = 0x0A076, + ERROR_CODE_GP_PERIOD_OVER = 0x0A077, + ERROR_CODE_CONTENTS_RELEASE_NOT_PARTY_PLAY_WITH_PLAYER = 0x0A410, + ERROR_CODE_CONTENTS_RELEASE_NOT_PARTY_PLAY_WITH_PAWN = 0x0A411, + ERROR_CODE_CONTENTS_RELEASE_NOT_WORLD_QUEST = 0x0A412, + ERROR_CODE_CONTENTS_RELEASE_NOT_GRAND_MISSION = 0x0A413, + ERROR_CODE_CONTENTS_RELEASE_NOT_EXTREME_MISSION = 0x0A414, + ERROR_CODE_CONTENTS_RELEASE_NOT_VISUAL_EQUIP = 0x0A415, + ERROR_CODE_CONTENTS_RELEASE_NOT_RESTANIA_NEWS = 0x0A416, + ERROR_CODE_CONTENTS_RELEASE_NOT_MASTER_HUNDBOOK = 0x0A417, + ERROR_CODE_CONTENTS_RELEASE_NOT_RIM_WARP = 0x0A418, + ERROR_CODE_CONTENTS_RELEASE_NOT_BLOOD_ORB_TRADE = 0x0A419, + ERROR_CODE_CONTENTS_RELEASE_NOT_PAWN_CRAFT = 0x0A41A, + ERROR_CODE_CONTENTS_RELEASE_NOT_RIM_STONE = 0x0A41B, + ERROR_CODE_CONTENTS_RELEASE_NOT_QUEST_BOARD = 0x0A41C, + ERROR_CODE_CONTENTS_RELEASE_NOT_AREA_MASTER = 0x0A41D, + ERROR_CODE_CONTENTS_RELEASE_NOT_QUEST_HINT = 0x0A41E, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_FIGHTER = 0x0A41F, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_HUNTER = 0x0A420, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_PRIEST = 0x0A421, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_SHIELD_SAGE = 0x0A422, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_SEEKER = 0x0A423, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_SORCERER = 0x0A424, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_WARRIOR = 0x0A425, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_ELEMENT_ARCHER = 0x0A426, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_ALCHEMIST = 0x0A427, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_CHANGE = 0x0A428, + ERROR_CODE_CONTENTS_RELEASE_NOT_CLAN = 0x0A429, + ERROR_CODE_CONTENTS_RELEASE_NOT_MAIN_MENU = 0x0A42A, + ERROR_CODE_CONTENTS_RELEASE_NOT_CREATE_SECOND_PAWN = 0x0A42B, + ERROR_CODE_CONTENTS_RELEASE_NOT_PARTY_MENU = 0x0A42C, + ERROR_CODE_CONTENTS_RELEASE_NOT_MAIN_MENU_ARISEN_PROFIEL = 0x0A42D, + ERROR_CODE_CONTENTS_RELEASE_NOT_MAIN_MENU_QUICK_PARTY = 0x0A42E, + ERROR_CODE_CONTENTS_RELEASE_NOT_ORB_ENEMY = 0x0A42F, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE = 0x0A430, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_FIGHTER = 0x0A431, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_HUNTER = 0x0A432, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_PRIEST = 0x0A433, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_SHIELD_SAGE = 0x0A434, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_SEEKER = 0x0A435, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_SORCERER = 0x0A436, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_WARRIOR = 0x0A437, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_ELEMENT_ARCHER = 0x0A438, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_ALCHEMIST = 0x0A439, + ERROR_CODE_CONTENTS_RELEASE_NOT_WORLD_QUEST_KOTOU = 0x0A43A, + ERROR_CODE_CONTENTS_RELEASE_NOT_CHANGE_BGM_ISLAND = 0x0A43B, + ERROR_CODE_CONTENTS_RELEASE_NOT_MY_ROOM = 0x0A43C, + ERROR_CODE_CONTENTS_RELEASE_NOT_BAGGAGE = 0x0A43D, + ERROR_CODE_CONTENTS_RELEASE_NOT_HIGH_LEVEL_JOB_ORDER_FOR_JOB_10 = 0x0A43E, + ERROR_CODE_CONTENTS_RELEASE_NOT_JOB_ORB_TREE_JOB_10 = 0x0A43F, + ERROR_CODE_CONTENTS_RELEASE_NOT_WORLD_QUEST_SINSYOKUMORI = 0x0A440, + ERROR_CODE_CONTENTS_RELEASE_NOT_WORLD_QUEST_KIREIMORI = 0x0A441, + ERROR_CODE_CONTENTS_RELEASE_NOT_WORLD_QUEST_HEIGEN = 0x0A442, + ERROR_CODE_CONTENTS_RELEASE_NOT_WORLD_QUEST_KEIKOKU = 0x0A443, + ERROR_CODE_CONTENTS_RELEASE_NOT_PLAY_POINT = 0x0A444, + ERROR_CODE_CONTROL_COMMON_MSG = 0x0A7F8, + ERROR_CODE_EVENT_CODE_INTERNAL_ERROR = 0x0ABE0, + ERROR_CODE_EVENT_CODE_EXPIRE = 0x0ABE1, + ERROR_CODE_EVENT_CODE_ALREADY_CODE = 0x0ABE2, + ERROR_CODE_EVENT_CODE_INVALID_CODE = 0x0ABE3, + ERROR_CODE_EVENT_CODE_ALREADY_EVENT = 0x0ABE4, + ERROR_CODE_EVENT_CODE_INPUT_LOCK = 0x0ABE5, + ERROR_CODE_COG_INTERNAL_ERROR = 0x0AFC8, + ERROR_CODE_COG_ACCESS_TOK_NONE = 0x0AFC9, + ERROR_CODE_COG_ANALIZE_SESSION_KEY_CREATE = 0x0AFCA, + ERROR_CODE_COG_ANALIZE_SESSION_KEY_REQ = 0x0AFCB, + ERROR_CODE_COG_ANALIZE_SESSION_KEY = 0x0AFCC, + ERROR_CODE_CHAT_TELL_CHARACTER_OFFLINE = 0x0B3B0, + ERROR_CODE_CHAT_TELL_SESSION_LOST = 0x0B3B1, + ERROR_CODE_GROUP_CHAT_CHARACTER_OFFLINE = 0x0B798, + ERROR_CODE_GROUP_CHAT_CHARACTER_ALREADY_IN_GROUP = 0x0B799, + ERROR_CODE_GROUP_CHAT_CONTAIN_BLACK_LIST = 0x0B79A, + ERROR_CODE_GROUP_CHAT_NOT_IN_GROUP = 0x0B79B, + ERROR_CODE_GROUP_CHAT_IN_DIFFERENT_GROUP = 0x0B79C, + ERROR_CODE_GROUP_CHAT_CHARACTER_SESSION_LOST = 0x0B79D, + ERROR_CODE_GROUP_CHAT_REGISTERED_BLACK_LIST = 0x0B79E, + ERROR_CODE_GROUP_CHAT_GROUP_MEMBER_MAX = 0x0B79F, + ERROR_CODE_DLC_GET_AUTHID = 0x0BB80, + ERROR_CODE_DLC_GET_BOUGHTS = 0x0BB81, + ERROR_CODE_DLC_GET_HISTORIES = 0x0BB82, + ERROR_CODE_DLC_GET_CHARACTER_NAME = 0x0BB83, + ERROR_CODE_DLC_GET_LINEUP_NUM = 0x0BB84, + ERROR_CODE_DLC_NO_LINEUP = 0x0BB85, + ERROR_CODE_DLC_SET_LINEUP_NUM = 0x0BB86, + ERROR_CODE_DLC_ADD_HISTORY = 0x0BB87, + ERROR_CODE_DLC_CASH_DATA = 0x0BB88, + ERROR_CODE_DLC_GET_KEYWORD = 0x0BB89, + ERROR_CODE_DLC_NONE_KEYWORD = 0x0BB8A, + ERROR_CODE_DLC_ITEM_STATUS = 0x0BB8B, + ERROR_CODE_DLC_SEND_MAIL = 0x0BB8C, + ERROR_CODE_DLC_PLATFORM_TYPE = 0x0BB8D, + ERROR_CODE_BLACK_LIST_ALREADY_REGISTER = 0x0BF68, + ERROR_CODE_BLACK_LIST_REGISTER_LIMIT_OVER = 0x0BF69, + ERROR_CODE_BLACK_LIST_TARGET_IS_FRIEND = 0x0BF6A, + ERROR_CODE_MATCHING_PROFILE_CHARACTER_OFFLINE = 0x0C350, + ERROR_CODE_ARISEN_PROFILE_CHARACTER_OFFLINE = 0x0C738, + ERROR_CODE_SUPPORT_POINT_STATUS_TYPE_INVALID = 0x0CB20, + ERROR_CODE_SUPPORT_POINT_SETTING_POINT_NOTHING = 0x0CB21, + ERROR_CODE_SUPPORT_POINT_CHAR_TYPE_INVALID = 0x0CB22, + ERROR_CODE_SUPPORT_POINT_INVALID_CHAR_ID = 0x0CB23, + ERROR_CODE_SUPPORT_POINT_USE_POINT_NOTHING = 0x0CB24, + ERROR_CODE_NET_CAFE_SET_LOGIN_FAILED = 0x0CF08, + ERROR_CODE_NET_CAFE_SET_LOGOUT_FAILED = 0x0CF09, + ERROR_CODE_NET_CAFE_BEGIN_COURSE_FAILED = 0x0CF0A, + ERROR_CODE_NET_CAFE_GET_CHARACTER_PARAM_FAILED = 0x0CF0B, + ERROR_CODE_NET_CAFE_REQ_SEND_MAIL_FAILED = 0x0CF0C, + ERROR_CODE_DISPEL_BASE_NOT_MATCH = 0x0D2F0, + ERROR_CODE_DISPEL_BASE_NUM_MATCH = 0x0D2F1, + ERROR_CODE_DISPEL_LACK_MONEY = 0x0D2F2, + ERROR_CODE_DISPEL_FURNITURE_DOUBLE = 0x0D2F3, + ERROR_CODE_CAPLINK_INTERNAL_ERROR = 0x0D6D8, + ERROR_CODE_CAPLINK_MAINTENANCE = 0x0D6D9, + ERROR_CODE_CAPLINK_INVALID_KEY = 0x0D6DA, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_INVALID_PARAM = 0x0D6DB, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_REQ_FAILED = 0x0D6DC, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_SELECT_MBID_FAILD = 0x0D6DD, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_ANALYZE_FALIED = 0x0D6DE, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_OVER100 = 0x0D6DF, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_OTHER_ERR = 0x0D6E0, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_ANALYZER_GET_FAILED = 0x0D6E1, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_REQ_CHECK_FAILED = 0x0D6E2, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_ALREADY_GAVE = 0x0D6E3, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_NOT_CLEARED = 0x0D6E4, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_REQ_GIVE_FAILED = 0x0D6E5, + ERROR_CODE_CAPLINK_GET_ACHIEVE_USER_STATE_SELECT_MBID_FAILD = 0x0D6E6, + ERROR_CODE_CAPLINK_GET_ACHIEVE_USER_STATE_REQ_FAILED = 0x0D6E7, + ERROR_CODE_CAPLINK_GET_ACHIEVE_USER_STATE_ANALYZE_FALIED = 0x0D6E8, + ERROR_CODE_CAPLINK_GET_ACHIEVE_USER_STATE_OVER100 = 0x0D6E9, + ERROR_CODE_CAPLINK_GET_ACHIEVE_USER_STATE_OTHER_ERR = 0x0D6EA, + ERROR_CODE_CAPLINK_GET_ACHIEVE_USER_STATE_ANALYZER_GET_FAILED = 0x0D6EB, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_INVALID_PARAM = 0x0D6EC, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_SELECT_MBID_FAILD = 0x0D6ED, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_REQ_FAILED = 0x0D6EE, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_ANALYZE_FALIED = 0x0D6EF, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_OTHER_ERR = 0x0D6F0, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_ANALYZER_GET_FAILED = 0x0D6F1, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_SELECT_AUTHSID_FAILED = 0x0D6F2, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_SELECT_RETRY_FAILED = 0x0D6F3, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_INSERT_RETRY_FAILED = 0x0D6F4, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_DELETE_RETRY_FAILED = 0x0D6F5, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_SELECT_MAIL_KEYWORD_FAILD = 0x0D6F6, + ERROR_CODE_CAPLINK_GET_ACHIEVE_REWARD_SEND_MAIL_FAILD = 0x0D6F7, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_SELECT_MBID_FAILD = 0x0D6F8, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_SELECT_AUTHSID_FAILED = 0x0D6F9, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_SELECT_RETRY_FAILED = 0x0D6FA, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_DELETE_RETRY_FAILED = 0x0D6FB, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_REQ_FAILED = 0x0D6FC, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_ANALYZE_FALIED = 0x0D6FD, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_OTHER_ERR = 0x0D6FE, + ERROR_CODE_CAPLINK_SET_ACHIEVE_USER_STATE_RETRY_ANALYZER_GET_FAILED = 0x0D6FF, + ERROR_CODE_MY_ROOM_NO_PARTNER = 0x0DAC0, + ERROR_CODE_MY_ROOM_CANNOT_REMOVE_FURNITURE = 0x0DAC1, + ERROR_CODE_MY_ROOM_ALREADY_LAYOUT_FURNITURE = 0x0DAC2, + ERROR_CODE_MY_ROOM_CANNOT_LIKABILITY_UP = 0x0DAC3, + ERROR_CODE_MY_ROOM_LIKABILITY_MAX = 0x0DAC4, + ERROR_CODE_MY_ROOM_NOT_PRESENT_ITEM = 0x0DAC5, + ERROR_CODE_MY_ROOM_NOT_PRESENT_ITEM_NUM = 0x0DAC6, + ERROR_CODE_MY_ROOM_LOST_PAWN_NOT_PARTNER = 0x0DAC7, + ERROR_CODE_TREE_RELEASE_INVALID_ELEMENT_ID = 0x0DEA8, + ERROR_CODE_TREE_RELEASE_REQUIREMENT_LACK = 0x0DEA9, + ERROR_CODE_TREE_RELEASE_COST_LACK = 0x0DEAA, + ERROR_CODE_TREE_RELEASE_ALREADY_RELEASE = 0x0DEAB, + ERROR_CODE_TREE_RELEASE_ELEMENT_NOT_CONNECT = 0x0DEAC, + ERROR_CODE_TREE_RELEASE_INTERNAL_ERROR = 0x0DEAD, + ERROR_CODE_TREE_RELEASE_NOT_OPEN_TREE = 0x0DEAE, + ERROR_CODE_BOX_GACHA_NOT_EXIST_ID = 0x0E290, + ERROR_CODE_BOX_GACHA_CLOSED = 0x0E291, + ERROR_CODE_BOX_GACHA_MORE_CAN_NOT_DRAW = 0x0E292, + ERROR_CODE_BOX_GACHA_PRICE_NO_MATCH = 0x0E293, + ERROR_CODE_BOX_GACHA_LIMIT = 0x0E294, + ERROR_CODE_PAWN_EXPEDITION_POINTER_NOT_EXIST = 0x0E678, + ERROR_CODE_PAWN_EXPEDITION_REWARD_BOX_ID_NOT_EXIST = 0x0E679, + ERROR_CODE_PAWN_EXPEDITION_INVALID_ITEM_POS_ID = 0x0E67A, + ERROR_CODE_PAWN_EXPEDITION_ITEM_COUNT_ZERO = 0x0E67B, + ERROR_CODE_PAWN_EXPEDITION_ITEM_REQUEST_NUM_OVER = 0x0E67C, + ERROR_CODE_PAWN_EXPEDITION_INVALID_ITEM_ID = 0x0E67D, + ERROR_CODE_PAWN_EXPEDITION_TARGET_PAWN_NOT_EXIST = 0x0E67E, + ERROR_CODE_PAWN_EXPEDITION_CANNOT_LEAVE_CLAN = 0x0E67F, + ERROR_CODE_PAWN_EXPEDITION_DIFFERENT_PRICE = 0x0E680, + ERROR_CODE_PAWN_EXPEDITION_ALREADY_RECIEVE = 0x0E681, + ERROR_CODE_PAWN_EXPEDITION_NOT_SALLY = 0x0E682, + ERROR_CODE_JOB_VALUE_SHOP_INVALID_JOB = 0x0EA60, + ERROR_CODE_JOB_VALUE_SHOP_INVALID_LINEUP_ID = 0x0EA61, + ERROR_CODE_JOB_VALUE_SHOP_VALUE_LACK = 0x0EA62, + ERROR_CODE_CLAN_SHOP_COST_LACK = 0x0EE48, + ERROR_CODE_CLAN_SHOP_ALREADY_BOUGHT = 0x0EE49, + ERROR_CODE_CLAN_SHOP_INVALID_LINEUP_ID = 0x0EE4A, + ERROR_CODE_CLAN_SHOP_INTERNAL_ERROR = 0x0EE4B, + ERROR_CODE_CLAN_SHOP_NOT_PERMISSION = 0x0EE4C, +} diff --git a/README.md b/README.md index d6dc73f72..a201ae7a8 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Server Emulator for the Game Dragons Dogma Online. - [IntelliJ Rider](#intellij-rider) - [Server](#server) - [Client](#client) +- [Progress](#progress) - [Guidelines](#guidelines) - [Attribution](#attribution) - [Contributers](#contributers) @@ -66,45 +67,23 @@ ensure that no other local services listen on these ports. Launch the client with the following args: `"DDO.exe" "addr=localhost port=52100 token=00000000000000000000 DL=http://127.0.0.1:52099/win/ LVer=03.04.003.20181115.0 RVer=3040008"` -# Development -## Project -### Cli -Entrypoint to the application, allows to start different components via parameters -### Server -- Read / Write network packages -- Manage Connections -#### Asset -- Static Assets that can be loaded on startup -### LoginServer -- Handling of Login related packets -### GameServer -- Handling of Game related packets -### WebServer -- Handling http/https requests. -- Client version request -- Account creation API -- Login / Token retrieval API -### Database -- Persistent storage -- Supports different implementations via IDatabase interface -- SQLite concrete implementation -### Shared -Extension.cs -> Useful C# extension methods -Util.cs -> Static Utility functions -#### Crypto -Components related to cryptography, for network protocol, token generation or random oracle. -#### Csv -Reading and parsing of CSV files -#### Entity -Representing the packet structure of the network protocol, including serialization adn deserialization. -#### Model -Classes that can be used by multiple components, usually just to hold data in a structured way -### PacketLibrary -- Read pcap files (experimental) -- Read (custom) json format of packet data -- Format and annotate packets with internal packet names -### Test -- Unit test to lock in functionality +# Progress + +## Login Server + +- [x] Account +- [x] Character Creation + + +## Game Server + +### Tutorial +- [x] Entry +### Party +- [x] Invitation +- [x] Kick +- [ ] Change Leader +### Pawn # Guidelines From 0ac94fde9793c242e5a27b653524b3b3657b377f Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 5 Oct 2022 14:22:19 +0800 Subject: [PATCH 59/72] update readme --- README.md | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a201ae7a8..7fc581d19 100644 --- a/README.md +++ b/README.md @@ -70,21 +70,42 @@ Launch the client with the following args: # Progress ## Login Server - - [x] Account - [x] Character Creation - ## Game Server - -### Tutorial -- [x] Entry -### Party -- [x] Invitation -- [x] Kick -- [ ] Change Leader -### Pawn - +### Party List +- [ ] Party Members + - [ ] View Arisen Profile + - [ ] Send Tell + - [ ] Send Friend Request + - [ ] View Status and Equipment + - [ ] Promote to Party Leader + - [x] Kick from Party + - [ ] Invite to Group Chat + - [ ] Disband Party + - [ ] Invite to Entryboard + - [ ] Follow with Autorun + - [ ] Cancel Party Invite + - [ ] View Party List + - [x] Leave +- [ ] Main Pawns + - [ ] View Pawn Profile + - [x] Invite to Party + - [x] Kick from Party + - [ ] View Status and Equipment +- [ ] Support Pawns +- [ ] Party Search + - [ ] Search + - [ ] Simple Request +- [ ] Player Search + - [ ] View Arisen Profile + - [x] Invite to Party + - [ ] Send Tell + - [ ] Send Friend Request + - [ ] Invite to Group Chat + - [ ] Invite to Entryboard + - [x] Search # Guidelines ## Git From 154aa5565be15c1c9ee0086776daab2df7a402d2 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 5 Oct 2022 17:58:27 +0800 Subject: [PATCH 60/72] update web server, add ErrorRes wrapper to communicate error codes --- .../PartyPartyInviteCharacterHandler.cs | 6 +-- .../PartyPartyInvitePrepareAcceptHandler.cs | 44 ++++++++++--------- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 28 +++++++----- .../Party/PartyInvitation.cs | 10 +++++ .../Party/PartyManager.cs | 33 ++++++++------ .../Arrowgene.Ddon.Rpc.Web.csproj | 2 +- Arrowgene.Ddon.Shared/ErrorRes.cs | 37 ++++++++++++++++ Arrowgene.Ddon.Shared/Model/ErrorCode.cs | 1 + .../Arrowgene.Ddon.WebServer.csproj | 2 +- 9 files changed, 113 insertions(+), 50 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs create mode 100644 Arrowgene.Ddon.Shared/ErrorRes.cs diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs index f7acc60fa..e7aa36b74 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs @@ -11,7 +11,6 @@ public class PartyPartyInviteCharacterHandler : GameStructurePacketHandler(typeof(PartyPartyInviteCharacterHandler)); - private static readonly ushort TimeoutSec = 30; // TODO: Move to config? public PartyPartyInviteCharacterHandler(DdonGameServer server) : base(server) { @@ -67,8 +66,7 @@ public override void Handle(GameClient client, StructurePacket packet) { + S2CPartyPartyInvitePrepareAcceptRes res = new S2CPartyPartyInvitePrepareAcceptRes(); - C2SPartyPartyInvitePrepareAcceptReq req = packet.Structure; + PartyInvitation invitation = Server.PartyManager.GetPartyInvitation(client); + if (invitation == null) + { + Logger.Error(client, "failed to find invitation"); + client.Send(res); + return; + } - IBuffer buf = packet.AsBuffer(); - Logger.Hex(packet.Data); - - // client == invited client - PartyGroup party = Server.PartyManager.GetInvitedParty(client); + PartyGroup party = invitation.Party; if (party == null) { Logger.Error(client, "failed to find invited party"); - // TODO error resp + client.Send(res); return; } - PlayerPartyMember partyMember = party.Accept(client); - if (partyMember == null) + ErrorRes partyMember = party.Accept(client); + if (partyMember.HasError) { Logger.Error(client, "failed to accept invite"); - // TODO error resp + res.Error = (uint)partyMember.ErrorCode; + client.Send(res); return; } - - Logger.Info(client, $"Accepted Invite for PartyId:{party.Id}"); - - client.Send(new S2CPartyPartyInvitePrepareAcceptRes()); + Logger.Info(client, $"Accepted Invite for PartyId:{party.Id}"); + client.Send(res); // The invited player doesn't move to the new party leader's server until this packet is sent @@ -56,18 +58,18 @@ public override void Handle(GameClient client, StructurePacket /// /// PlayerPartyMember on joining, or null on failure - public PlayerPartyMember Accept(GameClient client) + public ErrorRes Accept(GameClient client) { if (client == null) { - return null; + return ErrorRes.Fail; } lock (_lock) { - PartyGroup invitedPartyGroup = _partyManager.RemoveInvitedParty(client); - if (invitedPartyGroup == null) + PartyInvitation invitation = _partyManager.RemovePartyInvitation(client); + if (invitation == null) { Logger.Error(client, "client was not registered for party"); - return null; + return ErrorRes.Fail; } - if (invitedPartyGroup != this) + if (invitation.Party != this) { Logger.Error(client, "client was not invited to this party"); - return null; + return ErrorRes.Fail; + } + + TimeSpan invitationAge = DateTime.Now - invitation.Date; + if (invitationAge > TimeSpan.FromSeconds(PartyManager.InvitationTimeoutSec)) + { + Logger.Error(client, "invitation expired"); + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_INVITE_FAIL_REASON_TIMEOUT); } PlayerPartyMember partyMember = GetPlayerPartyMember(client); if (partyMember == null) { Logger.Error(client, "client has no slot in this party"); - return null; + return ErrorRes.Fail; } - return partyMember; + return ErrorRes.Success(partyMember); } } diff --git a/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs b/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs new file mode 100644 index 000000000..94550aeab --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs @@ -0,0 +1,10 @@ +using System; + +namespace Arrowgene.Ddon.GameServer.Party; + +public class PartyInvitation +{ + public GameClient Client { get; set; } + public PartyGroup Party { get; set; } + public DateTime Date { get; set; } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs index 93d289864..3d04bbea8 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs @@ -1,4 +1,5 @@ -using System.Collections.Concurrent; +using System; +using System.Collections.Concurrent; using Arrowgene.Ddon.Server; using Arrowgene.Logging; @@ -8,12 +9,14 @@ public class PartyManager { public const uint MaxNumParties = 100; public const uint InvalidPartyId = 0; + public const ushort InvitationTimeoutSec = 30; + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(PartyManager)); private readonly ConcurrentStack _idPool; private readonly ConcurrentDictionary _parties; - private readonly ConcurrentDictionary _invites; + private readonly ConcurrentDictionary _invites; public PartyManager() { @@ -24,12 +27,16 @@ public PartyManager() } _parties = new ConcurrentDictionary(); - _invites = new ConcurrentDictionary(); + _invites = new ConcurrentDictionary(); } - public bool AddInvitedParty(GameClient client, PartyGroup party) + public bool InviteParty(GameClient client, PartyGroup party) { - if (!_invites.TryAdd(client, party)) + PartyInvitation invitation = new PartyInvitation(); + invitation.Client = client; + invitation.Party = party; + invitation.Date = DateTime.Now; + if (!_invites.TryAdd(client, invitation)) { Logger.Error(client, $"Already has pending invite)"); return false; @@ -37,27 +44,27 @@ public bool AddInvitedParty(GameClient client, PartyGroup party) return true; } - - public PartyGroup GetInvitedParty(GameClient client) + + public PartyInvitation GetPartyInvitation(GameClient client) { - if (!_invites.TryGetValue(client, out PartyGroup party)) + if (!_invites.TryGetValue(client, out PartyInvitation partyInvitation)) { Logger.Error(client, $"invite not found, for get"); return null; } - return party; + return partyInvitation; } - - public PartyGroup RemoveInvitedParty(GameClient client) + + public PartyInvitation RemovePartyInvitation(GameClient client) { - if (!_invites.TryRemove(client, out PartyGroup party)) + if (!_invites.TryRemove(client, out PartyInvitation partyInvitation)) { Logger.Error(client, $"invite not found for remove"); return null; } - return party; + return partyInvitation; } public PartyGroup GetParty(uint partyId) diff --git a/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj b/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj index 22e9736a4..b066fcc45 100644 --- a/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj +++ b/Arrowgene.Ddon.Rpc.Web/Arrowgene.Ddon.Rpc.Web.csproj @@ -14,6 +14,6 @@ - + \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/ErrorRes.cs b/Arrowgene.Ddon.Shared/ErrorRes.cs new file mode 100644 index 000000000..68131dd9b --- /dev/null +++ b/Arrowgene.Ddon.Shared/ErrorRes.cs @@ -0,0 +1,37 @@ +using Arrowgene.Ddon.Shared.Model; + +namespace Arrowgene.Ddon.Shared; + +public struct ErrorRes +{ + public static readonly ErrorRes Fail = new(); + + public static ErrorRes Error(ErrorCode errorCode) + { + return new ErrorRes(errorCode); + } + + public static ErrorRes Success(T value) + { + return new ErrorRes(value); + } + + private ErrorRes(ErrorCode errorCode = ErrorCode.ERROR_CODE_FAIL) + { + Value = default; + HasValue = false; + ErrorCode = errorCode; + } + + private ErrorRes(T value, ErrorCode errorCode = ErrorCode.ERROR_CODE_SUCCESS) + { + Value = value; + HasValue = true; + ErrorCode = errorCode; + } + + public bool HasError => ErrorCode != ErrorCode.ERROR_CODE_SUCCESS; + public bool HasValue { get; } + public ErrorCode ErrorCode { get; } + public T Value { get; } +} diff --git a/Arrowgene.Ddon.Shared/Model/ErrorCode.cs b/Arrowgene.Ddon.Shared/Model/ErrorCode.cs index fc6ae5431..0d4b598bf 100644 --- a/Arrowgene.Ddon.Shared/Model/ErrorCode.cs +++ b/Arrowgene.Ddon.Shared/Model/ErrorCode.cs @@ -3,6 +3,7 @@ public enum ErrorCode : uint { ERROR_CODE_SUCCESS = 0x0, + ERROR_CODE_FAIL = 0x1, // TODO Custom Error Code, find real one ERROR_CODE_DB_DUPLICATE_ENTRY = 0x3E8, ERROR_CODE_DB_DEAD_LOCK = 0x3E9, ERROR_CODE_SYSTEM_NOT_DEBUG = 0x7D0, diff --git a/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj b/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj index 47c9ea812..65e3af7e2 100644 --- a/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj +++ b/Arrowgene.Ddon.WebServer/Arrowgene.Ddon.WebServer.csproj @@ -11,7 +11,7 @@ - + From 102a8bed6ee0e15fb9a77bc8cfdedde1a8ae10b7 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 5 Oct 2022 18:01:25 +0800 Subject: [PATCH 61/72] update --- .../Handler/PartyPartyCreateHandler.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index 18b56f19d..067570d54 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -1,5 +1,6 @@ using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -16,6 +17,8 @@ public PartyPartyCreateHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { + S2CPartyPartyCreateRes partyCreateRes = new S2CPartyPartyCreateRes(); + PartyGroup party = Server.PartyManager.NewParty(); if (party == null) { @@ -32,11 +35,12 @@ public override void Handle(GameClient client, StructurePacket memberRes = party.Accept(client); + if (memberRes.HasError) { Logger.Error(client, "Failed to accept new party"); - // TODO return error + partyCreateRes.Error = (uint)memberRes.ErrorCode; + client.Send(partyCreateRes); return; } @@ -56,7 +60,7 @@ public override void Handle(GameClient client, StructurePacket Date: Wed, 5 Oct 2022 18:48:34 +0800 Subject: [PATCH 62/72] change party leader --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 1 + .../Handler/PartyPartyChangeLeaderHandler.cs | 52 +++++++++++++++ Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 64 +++++++++++++++++++ .../Entity/EntitySerializer.cs | 45 ++++++++++--- .../C2SPartyPartyChangeLeaderReq.cs | 32 ++++++++++ .../S2CPartyPartyChangeLeaderNtc.cs | 32 ++++++++++ .../S2CPartyPartyChangeLeaderRes.cs | 25 ++++++++ .../PacketStructure/S2CPartyPartyCreateRes.cs | 4 +- Arrowgene.Ddon.Shared/Network/PacketId.cs | 6 +- README.md | 2 +- 10 files changed, 248 insertions(+), 15 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/PartyPartyChangeLeaderHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyChangeLeaderReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderRes.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 15bca002b..dcfba33c0 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -246,6 +246,7 @@ private void LoadPacketHandler() AddHandler(new PartnerPawnPawnLikabilityReleasedRewardListGetHandler(this)); AddHandler(new PartnerPawnPawnLikabilityRewardListGetHandler(this)); + AddHandler(new PartyPartyChangeLeaderHandler(this)); AddHandler(new PartyPartyCreateHandler(this)); AddHandler(new PartyPartyInviteCharacterHandler(this)); AddHandler(new PartyPartyInviteEntryHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyChangeLeaderHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyChangeLeaderHandler.cs new file mode 100644 index 000000000..ce954ad1e --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyChangeLeaderHandler.cs @@ -0,0 +1,52 @@ +using Arrowgene.Ddon.GameServer.Party; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class PartyPartyChangeLeaderHandler : GameStructurePacketHandler + { + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyChangeLeaderHandler)); + + public PartyPartyChangeLeaderHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + S2CPartyPartyChangeLeaderRes res = new S2CPartyPartyChangeLeaderRes(); + uint newLeaderCharacterId = packet.Structure.CharacterId; + + PartyGroup party = client.Party; + if (party == null) + { + Logger.Error(client, "Could not leave party, does not exist"); + // todo return error + return; + } + + PlayerPartyMember currentLeader = party.Leader; + ErrorRes newLeader = party.ChangeLeader(client, newLeaderCharacterId); + if (newLeader.HasError) + { + Logger.Info(client, $"error during new leader"); + res.Error = (uint)newLeader.ErrorCode; + client.Send(res); + return; + } + + S2CPartyPartyChangeLeaderNtc ntc = new S2CPartyPartyChangeLeaderNtc(); + ntc.CharacterId = newLeaderCharacterId; + party.SendToAll(ntc); + + client.Send(res); + + Logger.Info(client, + $"changed party leader from {currentLeader.Character.Id} to {newLeader.Value.Character.Id} for PartyId:{party.Id}"); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs index 5be572717..5ff04e712 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs @@ -297,6 +297,45 @@ public PartyMember Kick(byte memberIndex) } } + /// + /// Changes to a new leader, returns new leader as value + /// + /// + /// + /// + public ErrorRes ChangeLeader(GameClient client, uint leaderCharacterId) + { + if (client == null) + { + return ErrorRes.Fail; + } + + lock (_lock) + { + PlayerPartyMember currentLeader = GetPlayerPartyMember(client); + if (currentLeader == null) + { + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); + } + + if (!currentLeader.IsLeader) + { + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); + } + + PlayerPartyMember newLeader = GetByCharacterId(leaderCharacterId); + if (newLeader == null) + { + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); + } + + currentLeader.IsLeader = false; + newLeader.IsLeader = true; + _leader = newLeader; + return ErrorRes.Success(newLeader); + } + } + /// /// Returns PlayerPartyMember for a given GameClient /// @@ -349,6 +388,31 @@ public int MemberCount() } } + private PlayerPartyMember GetByCharacterId(uint characterId) + { + lock (_lock) + { + for (int i = 0; i < MaxSlots; i++) + { + if (_slots[i] is PlayerPartyMember member) + { + Character character = member.Character; + if (character == null) + { + continue; + } + + if (character.Id == characterId) + { + return member; + } + } + } + } + + return null; + } + private int TakeSlot(PartyMember partyMember) { if (partyMember == null) diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 47a22d0ad..6731b826d 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -155,6 +155,7 @@ static EntitySerializer() Create(new C2LGetErrorMessageListReq.Serializer()); Create(new C2LLoginReq.Serializer()); Create(new C2SActionSetPlayerActionHistoryReq.Serializer()); + Create(new C2SCharacterCharacterGoldenReviveReq.Serializer()); Create(new C2SCharacterCharacterPenaltyReviveReq.Serializer()); Create(new C2SCharacterCharacterPointReviveReq.Serializer()); @@ -162,21 +163,26 @@ static EntitySerializer() Create(new C2SCharacterPawnGoldenReviveReq.Serializer()); Create(new C2SCharacterPawnPointReviveReq.Serializer()); Create(new C2SCharacterSetOnlineStatusReq.Serializer()); + Create(new C2SClanClanBaseGetInfoReq.Serializer()); Create(new C2SClanClanConciergeGetListReq.Serializer()); Create(new C2SClanClanConciergeUpdateReq.Serializer()); Create(new C2SClanClanPartnerPawnDataGetReq.Serializer()); Create(new C2SClanGetFurnitureReq.Serializer()); Create(new C2SClanSetFurnitureReq.Serializer()); + Create(new C2SConnectionLoginReq.Serializer()); Create(new C2SConnectionMoveInServerReq.Serializer()); Create(new C2SConnectionMoveOutServerReq.Serializer()); + Create(new C2SContextGetSetContextReq.Serializer()); Create(new C2SContextSetContextNtc.Serializer()); + Create(new C2SEquipGetCharacterEquipListReq.Serializer()); Create(new C2SGpGetValidChatComGroupReq.Serializer()); Create(new C2SInnGetStayPriceReq.Serializer()); Create(new C2SInnStayInnReq.Serializer()); + Create(new C2SInstanceEnemyGroupEntryNtc.Serializer()); Create(new C2SInstanceEnemyGroupLeaveNtc.Serializer()); Create(new C2SInstanceEnemyKillReq.Serializer()); @@ -188,6 +194,7 @@ static EntitySerializer() Create(new C2SInstanceSetOmInstantKeyValueReq.Serializer()); Create(new C2SInstanceTreasurePointGetCategoryListReq.Serializer()); Create(new C2SInstanceTreasurePointGetListReq.Serializer()); + Create(new C2SItemUseBagItemReq.Serializer()); Create(new C2SJobChangeJobReq.Serializer()); Create(new C2SJobGetJobChangeListReq.Serializer()); @@ -200,6 +207,8 @@ static EntitySerializer() Create(new C2SMyRoomMyRoomBgmUpdateReq.Serializer()); Create(new C2SMyRoomUpdatePlanetariumReq.Serializer()); Create(new C2SPartnerPawnPawnLikabilityRewardListGetReq.Serializer()); + + Create(new C2SPartyPartyChangeLeaderReq.Serializer()); Create(new C2SPartyPartyCreateReq.Serializer()); Create(new C2SPartyPartyInviteCharacterReq.Serializer()); Create(new C2SPartyPartyInviteEntryReq.Serializer()); @@ -209,6 +218,7 @@ static EntitySerializer() Create(new C2SPartyPartyMemberKickReq.Serializer()); Create(new C2SPartySendBinaryMsgAllNtc.Serializer()); Create(new C2SPartySendBinaryMsgNtc.Serializer()); + Create(new C2SPawnGetLostPawnListReq.Serializer()); Create(new C2SPawnGetMypawnDataReq.Serializer()); Create(new C2SPawnGetMypawnListReq.Serializer()); @@ -216,6 +226,7 @@ static EntitySerializer() Create(new C2SPawnGetRegisteredPawnDataReq.Serializer()); Create(new C2SPawnJoinPartyMypawnReq.Serializer()); Create(new C2SPawnTrainingGetPreparetionInfoToAdviceReq.Serializer()); + Create(new C2SQuestGetLotQuestListReq.Serializer()); Create(new C2SQuestGetTutorialQuestListRes.Serializer()); Create(new C2SQuestSendLeaderQuestOrderConditionInfoReq.Serializer()); @@ -262,8 +273,10 @@ static EntitySerializer() Create(new L2CLoginRes.Serializer()); Create(new L2CLoginWaitNumNtc.Serializer()); Create(new L2CNextConnectionServerNtc.Serializer()); + Create(new S2CActionSetPlayerActionHistoryRes.Serializer()); Create(new S2CChangeCharacterEquipLobbyNotice.Serializer()); + Create(new S2CCharacterCharacterGoldenReviveRes.Serializer()); Create(new S2CCharacterCharacterPenaltyReviveRes.Serializer()); Create(new S2CCharacterCharacterPointReviveRes.Serializer()); @@ -275,6 +288,7 @@ static EntitySerializer() Create(new S2CCharacterPawnGoldenReviveRes.Serializer()); Create(new S2CCharacterPawnPointReviveRes.Serializer()); Create(new S2CCharacterSetOnlineStatusRes.Serializer()); + Create(new S2CClanClanBaseGetInfoRes.Serializer()); Create(new S2CClanClanConciergeGetListRes.Serializer()); Create(new S2CClanClanConciergeUpdateRes.Serializer()); @@ -330,7 +344,10 @@ static EntitySerializer() Create(new S2CMyRoomMyRoomBgmUpdateRes.Serializer()); Create(new S2CMyRoomUpdatePlanetariumRes.Serializer()); Create(new S2CPartnerPawnPawnLikabilityRewardListGetRes.Serializer()); - Create(new S2CPartyPartyCreateRes.Serailizer()); + + Create(new S2CPartyPartyChangeLeaderNtc.Serializer()); + Create(new S2CPartyPartyChangeLeaderRes.Serializer()); + Create(new S2CPartyPartyCreateRes.Serializer()); Create(new S2CPartyPartyInviteAcceptNtc.Serializer()); Create(new S2CPartyPartyInviteCharacterRes.Serializer()); Create(new S2CPartyPartyInviteEntryNtc.Serializer()); @@ -349,6 +366,7 @@ static EntitySerializer() Create(new S2CPartyPartyMemberSessionStatusNtc.Serializer()); Create(new S2CPartyRecvBinaryMsgAllNtc.Serializer()); Create(new S2CPartyRecvBinaryMsgNtc.Serializer()); + Create(new S2CPawnJoinPartyPawnNtc.Serializer()); Create(new S2CPawnGetLostPawnListRes.Serializer()); Create(new S2CPawnGetMypawnDataRes.Serializer()); @@ -608,7 +626,8 @@ protected double ReadDouble(IBuffer buffer) protected void WriteUInt64Array(IBuffer buffer, ulong[] values) { - for(int i=0; i ReadMtArray(IBuffer buffer, Func(IBuffer buffer, List entities) where TEntity : class, new() { - WriteUInt32(buffer, (uint) entities.Count); + WriteUInt32(buffer, (uint)entities.Count); for (int i = 0; i < entities.Count; i++) { WriteEntity(buffer, entities[i]); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyChangeLeaderReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyChangeLeaderReq.cs new file mode 100644 index 000000000..d958e1999 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyChangeLeaderReq.cs @@ -0,0 +1,32 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SPartyPartyChangeLeaderReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_PARTY_PARTY_CHANGE_LEADER_REQ; + + public C2SPartyPartyChangeLeaderReq() + { + CharacterId = 0; + } + + public uint CharacterId { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SPartyPartyChangeLeaderReq obj) + { + WriteUInt32(buffer, obj.CharacterId); + } + + public override C2SPartyPartyChangeLeaderReq Read(IBuffer buffer) + { + C2SPartyPartyChangeLeaderReq obj = new C2SPartyPartyChangeLeaderReq(); + obj.CharacterId = ReadUInt32(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderNtc.cs new file mode 100644 index 000000000..456599390 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderNtc.cs @@ -0,0 +1,32 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyChangeLeaderNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_PARTY_PARTY_CHANGE_LEADER_NTC; + + public S2CPartyPartyChangeLeaderNtc() + { + CharacterId = 0; + } + + public uint CharacterId { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyChangeLeaderNtc obj) + { + WriteUInt32(buffer, obj.CharacterId); + } + + public override S2CPartyPartyChangeLeaderNtc Read(IBuffer buffer) + { + S2CPartyPartyChangeLeaderNtc obj = new S2CPartyPartyChangeLeaderNtc(); + obj.CharacterId = ReadUInt32(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderRes.cs new file mode 100644 index 000000000..9defaa49d --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyChangeLeaderRes.cs @@ -0,0 +1,25 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyChangeLeaderRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_PARTY_PARTY_CHANGE_LEADER_RES; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyChangeLeaderRes obj) + { + WriteServerResponse(buffer, obj); + } + + public override S2CPartyPartyChangeLeaderRes Read(IBuffer buffer) + { + S2CPartyPartyChangeLeaderRes obj = new S2CPartyPartyChangeLeaderRes(); + ReadServerResponse(buffer, obj); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyCreateRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyCreateRes.cs index fff9c667f..d07a37ba9 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyCreateRes.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyCreateRes.cs @@ -10,7 +10,7 @@ public class S2CPartyPartyCreateRes : ServerResponse public uint PartyId { get; set; } public ulong ContentNumber { get; set; } - public class Serailizer : PacketEntitySerializer + public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, S2CPartyPartyCreateRes obj) { @@ -29,4 +29,4 @@ public override S2CPartyPartyCreateRes Read(IBuffer buffer) } } } -} \ No newline at end of file +} diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index e044b59d5..eda0b81db 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -388,13 +388,13 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_PARTY_PARTY_LEAVE_NTC = new PacketId(6, 10, 16, "S2C_PARTY_PARTY_LEAVE_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_10_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_MEMBER_KICK_REQ = new PacketId(6, 11, 1, "C2S_PARTY_PARTY_MEMBER_KICK_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_MEMBER_KICK_RES = new PacketId(6, 11, 2, "S2C_PARTY_PARTY_MEMBER_KICK_RES", ServerType.Game, PacketSource.Server); // パーティメンバーキックに - public static readonly PacketId S2C_PARTY_PARTY_MEMBER_KICK_NTC = new PacketId(6, 11, 16, "S2C_PARTY_6_11_16_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_11_16_NTC"); + public static readonly PacketId S2C_PARTY_PARTY_MEMBER_KICK_NTC = new PacketId(6, 11, 16, "S2C_PARTY_PARTY_MEMBER_KICK_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_11_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_BREAKUP_REQ = new PacketId(6, 12, 1, "C2S_PARTY_PARTY_BREAKUP_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_BREAKUP_RES = new PacketId(6, 12, 2, "S2C_PARTY_PARTY_BREAKUP_RES", ServerType.Game, PacketSource.Server); // パーティ解散に public static readonly PacketId S2C_PARTY_6_12_16_NTC = new PacketId(6, 12, 16, "S2C_PARTY_6_12_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_PARTY_PARTY_CHANGE_LEADER_REQ = new PacketId(6, 13, 1, "C2S_PARTY_PARTY_CHANGE_LEADER_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_CHANGE_LEADER_RES = new PacketId(6, 13, 2, "S2C_PARTY_PARTY_CHANGE_LEADER_RES", ServerType.Game, PacketSource.Server); // パーティリーダー変更に - public static readonly PacketId S2C_PARTY_6_13_16_NTC = new PacketId(6, 13, 16, "S2C_PARTY_6_13_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_PARTY_PARTY_CHANGE_LEADER_NTC = new PacketId(6, 13, 16, "S2C_PARTY_PARTY_CHANGE_LEADER_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_13_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_SEARCH_REQ = new PacketId(6, 14, 1, "C2S_PARTY_PARTY_SEARCH_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_SEARCH_RES = new PacketId(6, 14, 2, "S2C_PARTY_PARTY_SEARCH_RES", ServerType.Game, PacketSource.Server); // パーティ検索に public static readonly PacketId C2S_PARTY_PARTY_MEMBER_SET_VALUE_REQ = new PacketId(6, 15, 1, "C2S_PARTY_PARTY_MEMBER_SET_VALUE_REQ", ServerType.Game, PacketSource.Client); @@ -2298,7 +2298,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_PARTY_6_12_16_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_CHANGE_LEADER_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_CHANGE_LEADER_RES); - AddPacketIdEntry(packetIds, S2C_PARTY_6_13_16_NTC); + AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_CHANGE_LEADER_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_SEARCH_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_SEARCH_RES); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_MEMBER_SET_VALUE_REQ); diff --git a/README.md b/README.md index 7fc581d19..6517b369e 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Launch the client with the following args: - [ ] Send Tell - [ ] Send Friend Request - [ ] View Status and Equipment - - [ ] Promote to Party Leader + - [x] Promote to Party Leader - [x] Kick from Party - [ ] Invite to Group Chat - [ ] Disband Party From 670b1d348af315c05851f1adc98cf3b30e740698 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Wed, 5 Oct 2022 21:33:24 +0800 Subject: [PATCH 63/72] disband / breakup party --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 1 + .../Handler/PartyPartyBreakupHandler.cs | 54 +++++++++++++++++ Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 59 ++++++++++++++++--- .../Entity/EntitySerializer.cs | 13 ++-- .../C2SPartyPartyBreakupReq.cs | 22 +++++++ .../S2CPartyPartyBreakupNtc.cs | 32 ++++++++++ .../S2CPartyPartyBreakupRes.cs | 25 ++++++++ Arrowgene.Ddon.Shared/Network/PacketId.cs | 4 +- README.md | 5 +- 9 files changed, 199 insertions(+), 16 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/PartyPartyBreakupHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyBreakupReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupRes.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index dcfba33c0..85124bd19 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -246,6 +246,7 @@ private void LoadPacketHandler() AddHandler(new PartnerPawnPawnLikabilityReleasedRewardListGetHandler(this)); AddHandler(new PartnerPawnPawnLikabilityRewardListGetHandler(this)); + AddHandler(new PartyPartyBreakupHandler(this)); AddHandler(new PartyPartyChangeLeaderHandler(this)); AddHandler(new PartyPartyCreateHandler(this)); AddHandler(new PartyPartyInviteCharacterHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyBreakupHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyBreakupHandler.cs new file mode 100644 index 000000000..e5c5cb870 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyBreakupHandler.cs @@ -0,0 +1,54 @@ +using System.Collections.Generic; +using Arrowgene.Ddon.GameServer.Party; +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class PartyPartyBreakupHandler : GameStructurePacketHandler + { + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyChangeLeaderHandler)); + + public PartyPartyBreakupHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + S2CPartyPartyBreakupRes res = new S2CPartyPartyBreakupRes(); + + PartyGroup party = client.Party; + if (party == null) + { + Logger.Error(client, "Could not breakup party, does not exist"); + // todo return error + return; + } + + ErrorRes> members = party.Breakup(client); + if (members.HasError) + { + Logger.Info(client, $"error during breakup"); + res.Error = (uint)members.ErrorCode; + client.Send(res); + return; + } + + S2CPartyPartyBreakupNtc ntc = new S2CPartyPartyBreakupNtc(); + foreach (PartyMember member in members.Value) + { + if (member is PlayerPartyMember player) + { + player.Client.Send(ntc); + } + } + + client.Send(res); + Logger.Info(client, $"breakup PartyId:{party.Id}"); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs index 5ff04e712..74fe48182 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs @@ -23,6 +23,7 @@ public class PartyGroup private PlayerPartyMember _leader; private PlayerPartyMember _host; + private bool _isBreakup; public PartyGroup(uint id, PartyManager partyManager) { @@ -30,6 +31,7 @@ public PartyGroup(uint id, PartyManager partyManager) _lock = new object(); _slots = new PartyMember[MaxSlots]; _partyManager = partyManager; + _isBreakup = false; Id = id; @@ -238,11 +240,11 @@ public PawnPartyMember Join(Pawn pawn) } } - public PlayerPartyMember Leave(GameClient client) + public void Leave(GameClient client) { if (client == null) { - return null; + return; } Logger.Info(client, $"Leaving Party:{Id}"); @@ -251,23 +253,29 @@ public PlayerPartyMember Leave(GameClient client) if (client.Party != this) { Logger.Error(client, "client not part of this party"); - return null; + return; + } + + if (_isBreakup) + { + return; } PlayerPartyMember partyMember = GetPlayerPartyMember(client); if (partyMember == null) { Logger.Error(client, "client has no slot in this party"); - return null; + return; } FreeSlot(partyMember.MemberIndex); + if (Clients.Count <= 0) { Logger.Info(client, $"last person of party:{Id} left, disband party"); _partyManager.DisbandParty(Id); - return partyMember; + return; } if (partyMember.IsLeader) @@ -275,8 +283,6 @@ public PlayerPartyMember Leave(GameClient client) Logger.Info(client, $"was leader of party:{Id}, leader left"); // TODO designate new leader } - - return partyMember; } } @@ -336,6 +342,45 @@ public ErrorRes ChangeLeader(GameClient client, uint leaderCh } } + public ErrorRes> Breakup(GameClient client) + { + if (client == null) + { + return ErrorRes>.Fail; + } + + lock (_lock) + { + PlayerPartyMember currentLeader = GetPlayerPartyMember(client); + if (currentLeader == null) + { + return ErrorRes>.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); + } + + if (!currentLeader.IsLeader) + { + return ErrorRes>.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); + } + + if (!_partyManager.DisbandParty(Id)) + { + return ErrorRes>.Error(ErrorCode.ERROR_CODE_FAIL); + } + + List members = Members; + for (int i = 0; i < MaxSlots; i++) + { + FreeSlot(i); + } + + _leader = null; + _host = null; + _isBreakup = true; + + return ErrorRes>.Success(members); + } + } + /// /// Returns PlayerPartyMember for a given GameClient /// diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 6731b826d..33e16f806 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -208,6 +208,7 @@ static EntitySerializer() Create(new C2SMyRoomUpdatePlanetariumReq.Serializer()); Create(new C2SPartnerPawnPawnLikabilityRewardListGetReq.Serializer()); + Create(new C2SPartyPartyBreakupReq.Serializer()); Create(new C2SPartyPartyChangeLeaderReq.Serializer()); Create(new C2SPartyPartyCreateReq.Serializer()); Create(new C2SPartyPartyInviteCharacterReq.Serializer()); @@ -273,10 +274,10 @@ static EntitySerializer() Create(new L2CLoginRes.Serializer()); Create(new L2CLoginWaitNumNtc.Serializer()); Create(new L2CNextConnectionServerNtc.Serializer()); - + Create(new S2CActionSetPlayerActionHistoryRes.Serializer()); Create(new S2CChangeCharacterEquipLobbyNotice.Serializer()); - + Create(new S2CCharacterCharacterGoldenReviveRes.Serializer()); Create(new S2CCharacterCharacterPenaltyReviveRes.Serializer()); Create(new S2CCharacterCharacterPointReviveRes.Serializer()); @@ -288,7 +289,7 @@ static EntitySerializer() Create(new S2CCharacterPawnGoldenReviveRes.Serializer()); Create(new S2CCharacterPawnPointReviveRes.Serializer()); Create(new S2CCharacterSetOnlineStatusRes.Serializer()); - + Create(new S2CClanClanBaseGetInfoRes.Serializer()); Create(new S2CClanClanConciergeGetListRes.Serializer()); Create(new S2CClanClanConciergeUpdateRes.Serializer()); @@ -344,7 +345,9 @@ static EntitySerializer() Create(new S2CMyRoomMyRoomBgmUpdateRes.Serializer()); Create(new S2CMyRoomUpdatePlanetariumRes.Serializer()); Create(new S2CPartnerPawnPawnLikabilityRewardListGetRes.Serializer()); - + + Create(new S2CPartyPartyBreakupNtc.Serializer()); + Create(new S2CPartyPartyBreakupRes.Serializer()); Create(new S2CPartyPartyChangeLeaderNtc.Serializer()); Create(new S2CPartyPartyChangeLeaderRes.Serializer()); Create(new S2CPartyPartyCreateRes.Serializer()); @@ -366,7 +369,7 @@ static EntitySerializer() Create(new S2CPartyPartyMemberSessionStatusNtc.Serializer()); Create(new S2CPartyRecvBinaryMsgAllNtc.Serializer()); Create(new S2CPartyRecvBinaryMsgNtc.Serializer()); - + Create(new S2CPawnJoinPartyPawnNtc.Serializer()); Create(new S2CPawnGetLostPawnListRes.Serializer()); Create(new S2CPawnGetMypawnDataRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyBreakupReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyBreakupReq.cs new file mode 100644 index 000000000..c351ef6d7 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyBreakupReq.cs @@ -0,0 +1,22 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SPartyPartyBreakupReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_PARTY_PARTY_BREAKUP_REQ; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SPartyPartyBreakupReq obj) + { + } + + public override C2SPartyPartyBreakupReq Read(IBuffer buffer) + { + return new C2SPartyPartyBreakupReq(); + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupNtc.cs new file mode 100644 index 000000000..70e680a9e --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupNtc.cs @@ -0,0 +1,32 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyBreakupNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_PARTY_PARTY_BREAKUP_NTC; + + public S2CPartyPartyBreakupNtc() + { + CharacterId = 0; + } + + public uint CharacterId { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyBreakupNtc obj) + { + WriteUInt32(buffer, obj.CharacterId); + } + + public override S2CPartyPartyBreakupNtc Read(IBuffer buffer) + { + S2CPartyPartyBreakupNtc obj = new S2CPartyPartyBreakupNtc(); + obj.CharacterId = ReadUInt32(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupRes.cs new file mode 100644 index 000000000..a374511d0 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyBreakupRes.cs @@ -0,0 +1,25 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyBreakupRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_PARTY_PARTY_BREAKUP_RES; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyBreakupRes obj) + { + WriteServerResponse(buffer, obj); + } + + public override S2CPartyPartyBreakupRes Read(IBuffer buffer) + { + S2CPartyPartyBreakupRes obj = new S2CPartyPartyBreakupRes(); + ReadServerResponse(buffer, obj); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index eda0b81db..eb873b793 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -391,7 +391,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_PARTY_PARTY_MEMBER_KICK_NTC = new PacketId(6, 11, 16, "S2C_PARTY_PARTY_MEMBER_KICK_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_11_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_BREAKUP_REQ = new PacketId(6, 12, 1, "C2S_PARTY_PARTY_BREAKUP_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_BREAKUP_RES = new PacketId(6, 12, 2, "S2C_PARTY_PARTY_BREAKUP_RES", ServerType.Game, PacketSource.Server); // パーティ解散に - public static readonly PacketId S2C_PARTY_6_12_16_NTC = new PacketId(6, 12, 16, "S2C_PARTY_6_12_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_PARTY_PARTY_BREAKUP_NTC = new PacketId(6, 12, 16, "S2C_PARTY_6_12_16_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_12_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_CHANGE_LEADER_REQ = new PacketId(6, 13, 1, "C2S_PARTY_PARTY_CHANGE_LEADER_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_CHANGE_LEADER_RES = new PacketId(6, 13, 2, "S2C_PARTY_PARTY_CHANGE_LEADER_RES", ServerType.Game, PacketSource.Server); // パーティリーダー変更に public static readonly PacketId S2C_PARTY_PARTY_CHANGE_LEADER_NTC = new PacketId(6, 13, 16, "S2C_PARTY_PARTY_CHANGE_LEADER_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_13_16_NTC"); @@ -2295,7 +2295,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_MEMBER_KICK_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_BREAKUP_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_BREAKUP_RES); - AddPacketIdEntry(packetIds, S2C_PARTY_6_12_16_NTC); + AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_BREAKUP_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_CHANGE_LEADER_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_CHANGE_LEADER_RES); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_CHANGE_LEADER_NTC); diff --git a/README.md b/README.md index 6517b369e..cbb69d214 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ Launch the client with the following args: - [x] Character Creation ## Game Server -### Party List +### Party Management (Party List) - [ ] Party Members - [ ] View Arisen Profile - [ ] Send Tell @@ -83,12 +83,13 @@ Launch the client with the following args: - [x] Promote to Party Leader - [x] Kick from Party - [ ] Invite to Group Chat - - [ ] Disband Party + - [x] Disband Party - [ ] Invite to Entryboard - [ ] Follow with Autorun - [ ] Cancel Party Invite - [ ] View Party List - [x] Leave + - [ ] Invite Directly to Clan - [ ] Main Pawns - [ ] View Pawn Profile - [x] Invite to Party From 6efe894efcd7a567d0c9d0ca621263864d9b35e6 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 6 Oct 2022 17:34:34 +0800 Subject: [PATCH 64/72] prepare refuse and cancel invitation --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 2 + .../Handler/PartyPartyCreateHandler.cs | 7 +-- .../Handler/PartyPartyInviteCancelHandler.cs | 43 ++++++++++++++ .../PartyPartyInviteCharacterHandler.cs | 2 +- .../Handler/PartyPartyInviteRefuseHandler.cs | 56 +++++++++++++++++++ Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 42 +++++++++++--- .../Party/PartyInvitation.cs | 3 +- .../Party/PartyManager.cs | 9 +-- .../Entity/EntitySerializer.cs | 8 ++- .../C2SPartyPartyInviteCancelReq.cs | 36 ++++++++++++ .../C2SPartyPartyInviteRefuseReq.cs | 22 ++++++++ .../S2CPartyPartyInviteCancelNtc.cs | 24 ++++++++ .../S2CPartyPartyInviteCancelRes.cs | 25 +++++++++ .../S2CPartyPartyInviteRefuseRes.cs | 25 +++++++++ Arrowgene.Ddon.Shared/Network/PacketId.cs | 4 +- README.md | 1 + 16 files changed, 288 insertions(+), 21 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCancelHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteRefuseHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteCancelReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteRefuseReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteRefuseRes.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 85124bd19..0a7c42228 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -249,9 +249,11 @@ private void LoadPacketHandler() AddHandler(new PartyPartyBreakupHandler(this)); AddHandler(new PartyPartyChangeLeaderHandler(this)); AddHandler(new PartyPartyCreateHandler(this)); + AddHandler(new PartyPartyInviteCancelHandler(this)); AddHandler(new PartyPartyInviteCharacterHandler(this)); AddHandler(new PartyPartyInviteEntryHandler(this)); AddHandler(new PartyPartyInvitePrepareAcceptHandler(this)); + AddHandler(new PartyPartyInviteRefuseHandler(this)); AddHandler(new PartyPartyJoinHandler(this)); AddHandler(new PartyPartyLeaveHandler(this)); AddHandler(new PartyPartyMemberKickHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index 067570d54..7fa6f14f1 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -27,7 +27,7 @@ public override void Handle(GameClient client, StructurePacket + { + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyChangeLeaderHandler)); + + public PartyPartyInviteCancelHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + S2CPartyPartyInviteCancelRes res = new S2CPartyPartyInviteCancelRes(); + + PartyGroup party = client.Party; + if (party == null) + { + Logger.Error(client, + $"can not cancel invite, no party assigned"); + // TODO error response + return; + } + + //Server.PartyManager.GetPartyInvitation() + + S2CPartyPartyInviteCancelNtc ntc = new S2CPartyPartyInviteCancelNtc(); + party.SendToAll(ntc); + + //party.CancelInvite(); + + + client.Send(res); + Logger.Info(client, $"cancel invite for PartyId:{party.Id}"); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs index e7aa36b74..358174e43 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs @@ -54,7 +54,7 @@ public override void Handle(GameClient client, StructurePacket + { + private static readonly ServerLogger Logger = + LogProvider.Logger(typeof(PartyPartyChangeLeaderHandler)); + + public PartyPartyInviteRefuseHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + S2CPartyPartyInviteRefuseRes res = new S2CPartyPartyInviteRefuseRes(); + + PartyInvitation invitation = Server.PartyManager.GetPartyInvitation(client); + if (invitation == null) + { + Logger.Error(client, "failed to find invitation"); + client.Send(res); + return; + } + + GameClient host = invitation.Host; + if (host == null) + { + Logger.Error(client, "host does not exist"); + client.Send(res); + return; + } + + + + PartyGroup party = invitation.Party; + if (party == null) + { + Logger.Error(client, "failed to find invited party"); + client.Send(res); + return; + } + + party.RefuseInvite(client); + + // TODO update others about refuse + + client.Send(res); + Logger.Info(client, $"refuse invite for PartyId:{invitation.Party.Id}"); + } + } +} diff --git a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs index 74fe48182..787b18f0f 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs @@ -110,28 +110,27 @@ public List Members /// Player has been invited and will be holding a slot for them. /// However they are not assigned to this party until joined. /// - /// /// PlayerPartyMember if a slot could be secured, or null on failure - public PlayerPartyMember Invite(GameClient client) + public PlayerPartyMember Invite(GameClient invitee, GameClient host) { - if (client == null) + if (invitee == null) { return null; } - PlayerPartyMember partyMember = CreatePartyMember(client); + PlayerPartyMember partyMember = CreatePartyMember(invitee); lock (_lock) { - if (!_partyManager.InviteParty(client, this)) + if (!_partyManager.InviteParty(invitee, host, this)) { - Logger.Error(client, "could not register client for invitation"); + Logger.Error(invitee, "could not register client for invitation"); return null; } int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { - Logger.Error(client, "No free slot available for client"); + Logger.Error(invitee, "No free slot available for client"); return null; } @@ -140,6 +139,35 @@ public PlayerPartyMember Invite(GameClient client) } } + public ErrorRes RefuseInvite(GameClient client) + { + if (client == null) + { + return ErrorRes.Fail; + } + + lock (_lock) + { + PartyInvitation invitation = _partyManager.RemovePartyInvitation(client); + if (invitation == null) + { + Logger.Error(client, "client was not registered for party"); + return ErrorRes.Fail; + } + + PlayerPartyMember partyMember = GetPlayerPartyMember(client); + if (partyMember == null) + { + Logger.Error(client, "client has no slot in this party"); + return ErrorRes.Fail; + } + + FreeSlot(partyMember.MemberIndex); + return ErrorRes.Success(invitation); + } + } + + /// /// Player has accepted the invitation and will progress to joining the party. /// diff --git a/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs b/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs index 94550aeab..bd660784a 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyInvitation.cs @@ -4,7 +4,8 @@ namespace Arrowgene.Ddon.GameServer.Party; public class PartyInvitation { - public GameClient Client { get; set; } + public GameClient Host { get; set; } + public GameClient Invitee { get; set; } public PartyGroup Party { get; set; } public DateTime Date { get; set; } } diff --git a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs index 3d04bbea8..56e97b635 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyManager.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyManager.cs @@ -30,15 +30,16 @@ public PartyManager() _invites = new ConcurrentDictionary(); } - public bool InviteParty(GameClient client, PartyGroup party) + public bool InviteParty(GameClient invitee, GameClient host, PartyGroup party) { PartyInvitation invitation = new PartyInvitation(); - invitation.Client = client; + invitation.Invitee = invitee; + invitation.Host = host; invitation.Party = party; invitation.Date = DateTime.Now; - if (!_invites.TryAdd(client, invitation)) + if (!_invites.TryAdd(invitee, invitation)) { - Logger.Error(client, $"Already has pending invite)"); + Logger.Error(invitee, $"Already has pending invite)"); return false; } diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 33e16f806..94fcb7e50 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -29,8 +29,7 @@ static EntitySerializer() // Data structure serializers Create( - new C2SActionSetPlayerActionHistoryReqElement. - Serializer()); // TODO naming convention C2S -> not a packet + new C2SActionSetPlayerActionHistoryReqElement.Serializer()); // TODO naming convention C2S -> not a packet Create(new CData_772E80.Serializer()); Create(new CDataSpSkill.Serializer()); Create(new CDataAbilityLevelParam.Serializer()); @@ -211,9 +210,11 @@ static EntitySerializer() Create(new C2SPartyPartyBreakupReq.Serializer()); Create(new C2SPartyPartyChangeLeaderReq.Serializer()); Create(new C2SPartyPartyCreateReq.Serializer()); + Create(new C2SPartyPartyInviteCancelReq.Serializer()); Create(new C2SPartyPartyInviteCharacterReq.Serializer()); Create(new C2SPartyPartyInviteEntryReq.Serializer()); Create(new C2SPartyPartyInvitePrepareAcceptReq.Serializer()); + Create(new C2SPartyPartyInviteRefuseReq.Serializer()); Create(new C2SPartyPartyJoinReq.Serializer()); Create(new C2SPartyPartyLeaveReq.Serializer()); Create(new C2SPartyPartyMemberKickReq.Serializer()); @@ -352,6 +353,8 @@ static EntitySerializer() Create(new S2CPartyPartyChangeLeaderRes.Serializer()); Create(new S2CPartyPartyCreateRes.Serializer()); Create(new S2CPartyPartyInviteAcceptNtc.Serializer()); + Create(new S2CPartyPartyInviteCancelNtc.Serializer()); + Create(new S2CPartyPartyInviteCancelRes.Serializer()); Create(new S2CPartyPartyInviteCharacterRes.Serializer()); Create(new S2CPartyPartyInviteEntryNtc.Serializer()); Create(new S2CPartyPartyInviteEntryRes.Serializer()); @@ -359,6 +362,7 @@ static EntitySerializer() Create(new S2CPartyPartyInviteNtc.Serializer()); Create(new S2CPartyPartyInvitePrepareAcceptNtc.Serializer()); Create(new S2CPartyPartyInvitePrepareAcceptRes.Serializer()); + Create(new S2CPartyPartyInviteRefuseRes.Serializer()); Create(new S2CPartyPartyInviteSuccessNtc.Serializer()); Create(new S2CPartyPartyJoinNtc.Serializer()); Create(new S2CPartyPartyJoinRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteCancelReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteCancelReq.cs new file mode 100644 index 000000000..0356b511e --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteCancelReq.cs @@ -0,0 +1,36 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SPartyPartyInviteCancelReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_PARTY_PARTY_INVITE_CANCEL_REQ; + + public C2SPartyPartyInviteCancelReq() + { + ServerId = 0; + PartyId = 0; + } + + public ushort ServerId { get; set; } + public uint PartyId { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SPartyPartyInviteCancelReq obj) + { + WriteUInt16(buffer, obj.ServerId); + WriteUInt32(buffer, obj.PartyId); + } + + public override C2SPartyPartyInviteCancelReq Read(IBuffer buffer) + { + C2SPartyPartyInviteCancelReq obj = new C2SPartyPartyInviteCancelReq(); + obj.ServerId = ReadUInt16(buffer); + obj.PartyId = ReadUInt32(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteRefuseReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteRefuseReq.cs new file mode 100644 index 000000000..9fe1368b3 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SPartyPartyInviteRefuseReq.cs @@ -0,0 +1,22 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SPartyPartyInviteRefuseReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_PARTY_PARTY_INVITE_REFUSE_REQ; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SPartyPartyInviteRefuseReq obj) + { + } + + public override C2SPartyPartyInviteRefuseReq Read(IBuffer buffer) + { + return new C2SPartyPartyInviteRefuseReq(); + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs new file mode 100644 index 000000000..483e719c5 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs @@ -0,0 +1,24 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyInviteCancelNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_PARTY_PARTY_INVITE_CANCEL_NTC; + + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyInviteCancelNtc obj) + { + } + + public override S2CPartyPartyInviteCancelNtc Read(IBuffer buffer) + { + S2CPartyPartyInviteCancelNtc obj = new S2CPartyPartyInviteCancelNtc(); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelRes.cs new file mode 100644 index 000000000..1cf0a3674 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelRes.cs @@ -0,0 +1,25 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyInviteCancelRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_PARTY_PARTY_INVITE_CANCEL_RES; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyInviteCancelRes obj) + { + WriteServerResponse(buffer, obj); + } + + public override S2CPartyPartyInviteCancelRes Read(IBuffer buffer) + { + S2CPartyPartyInviteCancelRes obj = new S2CPartyPartyInviteCancelRes(); + ReadServerResponse(buffer, obj); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteRefuseRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteRefuseRes.cs new file mode 100644 index 000000000..ada3f381f --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteRefuseRes.cs @@ -0,0 +1,25 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CPartyPartyInviteRefuseRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_PARTY_PARTY_INVITE_REFUSE_RES; + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CPartyPartyInviteRefuseRes obj) + { + WriteServerResponse(buffer, obj); + } + + public override S2CPartyPartyInviteRefuseRes Read(IBuffer buffer) + { + S2CPartyPartyInviteRefuseRes obj = new S2CPartyPartyInviteRefuseRes(); + ReadServerResponse(buffer, obj); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index eb873b793..3bcc9f80b 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -366,7 +366,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_PARTY_PARTY_INVITE_CHARACTER_RES = new PacketId(6, 2, 2, "S2C_PARTY_PARTY_INVITE_CHARACTER_RES", ServerType.Game, PacketSource.Server); // パーティ要請(キャラ)(要請側)に public static readonly PacketId C2S_PARTY_PARTY_INVITE_CANCEL_REQ = new PacketId(6, 3, 1, "C2S_PARTY_PARTY_INVITE_CANCEL_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_INVITE_CANCEL_RES = new PacketId(6, 3, 2, "S2C_PARTY_PARTY_INVITE_CANCEL_RES", ServerType.Game, PacketSource.Server); // パーティ要請キャンセル(要請側)に - public static readonly PacketId S2C_PARTY_6_3_16_NTC = new PacketId(6, 3, 16, "S2C_PARTY_6_3_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_PARTY_PARTY_INVITE_CANCEL_NTC = new PacketId(6, 3, 16, "S2C_PARTY_PARTY_INVITE_CANCEL_NTC", ServerType.Game, PacketSource.Server, "S2C_PARTY_6_3_16_NTC"); public static readonly PacketId C2S_PARTY_PARTY_INVITE_REFUSE_REQ = new PacketId(6, 4, 1, "C2S_PARTY_PARTY_INVITE_REFUSE_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_PARTY_PARTY_INVITE_REFUSE_RES = new PacketId(6, 4, 2, "S2C_PARTY_PARTY_INVITE_REFUSE_RES", ServerType.Game, PacketSource.Server); // パーティ要請拒否(要請受ける側)に public static readonly PacketId C2S_PARTY_PARTY_INVITE_PREPARE_ACCEPT_REQ = new PacketId(6, 5, 1, "C2S_PARTY_PARTY_INVITE_PREPARE_ACCEPT_REQ", ServerType.Game, PacketSource.Client); @@ -2270,7 +2270,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_INVITE_CHARACTER_RES); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_INVITE_CANCEL_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_INVITE_CANCEL_RES); - AddPacketIdEntry(packetIds, S2C_PARTY_6_3_16_NTC); + AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_INVITE_CANCEL_NTC); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_INVITE_REFUSE_REQ); AddPacketIdEntry(packetIds, S2C_PARTY_PARTY_INVITE_REFUSE_RES); AddPacketIdEntry(packetIds, C2S_PARTY_PARTY_INVITE_PREPARE_ACCEPT_REQ); diff --git a/README.md b/README.md index cbb69d214..b85124fdb 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ Launch the client with the following args: - [ ] Invite to Entryboard - [ ] Follow with Autorun - [ ] Cancel Party Invite + - [ ] Decline Party Invite - [ ] View Party List - [x] Leave - [ ] Invite Directly to Clan From c4a7c954a28e9bc2b663b34d052219a0c8f4282a Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Thu, 6 Oct 2022 21:17:06 +0800 Subject: [PATCH 65/72] add 'research' - reversing documents --- research/DDOORBIS_2016.elf.h | 19295 +++ research/DDO_EXE_HTTP.txt | 190 + research/GamePackets.md | 2129 + ...ddon_game_packet_handler_dump_notated.json | 13054 ++ research/dti/cresource_info.txt | 424 + research/dti/dti_data.py | 6343 + research/dti/dti_dump_log.txt | 481 + research/dti/dti_prop_dump.h | 107336 +++++++++++++++ 8 files changed, 149252 insertions(+) create mode 100644 research/DDOORBIS_2016.elf.h create mode 100644 research/DDO_EXE_HTTP.txt create mode 100644 research/GamePackets.md create mode 100644 research/ddon_game_packet_handler_dump_notated.json create mode 100644 research/dti/cresource_info.txt create mode 100644 research/dti/dti_data.py create mode 100644 research/dti/dti_dump_log.txt create mode 100644 research/dti/dti_prop_dump.h diff --git a/research/DDOORBIS_2016.elf.h b/research/DDOORBIS_2016.elf.h new file mode 100644 index 000000000..d202fad4c --- /dev/null +++ b/research/DDOORBIS_2016.elf.h @@ -0,0 +1,19295 @@ +/* + This file has been generated by IDA. + It contains local type definitions from + the type library 'DDOORBIS_2016.elf' +*/ + +#define __int8 char +#define __int16 short +#define __int32 int +#define __int64 long long + +struct MtString::STRING; +struct MtAllocator; + +/* 135 */ +struct MtObject +{ + int (**_vptr$MtObject)(void); +}; + +/* 354 */ +struct __cppobj CPacketDataBase : MtObject +{ +}; + +/* 169 */ +typedef unsigned __int16 u16; + +/* 142 */ +typedef int s32; + +/* 137 */ +typedef unsigned int u32; + +/* 277 */ +struct __cppobj MtArray : MtObject +{ + u32 mLength; + u32 mBufsiz; + bool mAutoDelete; + MtObject **mpArray; +}; + +/* 3122 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3121 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SERVER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ServerList; + bool m_bIsReceived; +}; + +/* 173 */ +typedef unsigned __int8 u8; + +/* 1753 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 2663 */ +typedef bool b8; + +/* 3126 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3127 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 310 */ +struct MtString +{ + MtString::STRING *value; +}; + +/* 3128 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 2605 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3125 */ +struct __cppobj __attribute__((aligned(8))) CDataGameSetting : CPacketDataBase +{ + u32 m_unMainPawnMax; + u32 m_unSupportPawnMax; + u32 m_unJobLevelMax; + u32 m_unCraftLevelMax; + u32 m_unCraftSkillLevelMax; + u32 m_unUserListMax; + u32 m_unClanLvMax; + u32 m_unClanMemberMax; + u32 m_unClanLeaveIntervalTime; + u8 m_ucCharacterNumMax; + MtTypedArray m_GlobalItemSlotNumMaxList; + u32 m_unPawnCreateItemID; + u8 m_ucPawnCreateItemNum; + b8 m_bEnableVisualEquip; + u8 m_ucEquipColorChangeGrade; + u32 m_unFriendListMax; + u32 m_unRecentPlayerMax; + u32 m_unBlackListMax; + u32 m_unHistoryListMax; + u32 m_unCharacterReviveGP; + u32 m_unPawnReviveGP; + u32 m_unLostPawnReviveGP; + MtTypedArray m_UrlInfoList; + MtTypedArray m_PartyMemberMaxNumList; + u32 m_unGroupChatMemberMax; + u32 m_unEventCodeInputLockFailNum; + u32 m_unEventCodeLockTime; + MtString m_wstrCapLinkServerVerion; + MtString m_wstrCapLinkApiVerion; + u32 m_unPawnPresentItemID; + u8 m_ucPawnPresentItemNum; + MtTypedArray m_JewelryEquipLimitList; + u32 m_unJobPointMax; + u32 m_unPlayPointMax; + u32 m_unPlayPointLevelMin; + u32 m_unBazaarSerchTime; + u32 m_unBazaarSerchCautionTime; + u32 m_unBazaarSerchCautionCount; + MtTypedArray m_ClanBaseStageList; + u32 m_unMailCacheExpireTime; +}; + +/* 3124 */ +typedef CDataGameSetting CGameSetting; + +/* 3123 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_GAME_SETTING_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CGameSetting m_GameSetting; + bool m_bIsReceived; +}; + +/* 311 */ +struct __attribute__((aligned(4))) MtString::STRING +{ + s32 ref; + u32 length; + u8 str[1]; +}; + +/* 3130 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3129 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCycleContentsScheduleId; + MtTypedArray m_BorderRewardRecordList; + bool m_bIsReceived; +}; + +/* 3132 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3131 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCycleContentsScheduleId; + MtTypedArray m_RankingRewardRecordList; + bool m_bIsReceived; +}; + +/* 3134 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3133 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_REWARD_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCycleContentsScheduleId; + MtTypedArray m_CycleContentsRewardList; + b8 m_bIsAddRewardBox; + bool m_bIsReceived; +}; + +/* 3138 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3137 */ +struct __cppobj CDataPawnDungeonReward : CPacketDataBase +{ + u32 m_unGold; + u32 m_unExp; + u32 m_unRim; + u32 m_unDorb; + MtTypedArray m_RewardItemList; +}; + +/* 3136 */ +typedef CDataPawnDungeonReward CPawnDungeonReward; + +/* 3135 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_DUNGEON_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CPawnDungeonReward m_PawnDungeonRewardList1; + CPawnDungeonReward m_PawnDungeonRewardList2; + bool m_bIsReceived; +}; + +/* 3140 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3139 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_JOIN_MEMBER_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_MemberMinimum; + bool m_bIsReceived; +}; + +/* 3144 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3143 */ +struct __cppobj CDataPawnTotalScore : CPacketDataBase +{ + u32 m_unRentalCount; + u32 m_unBattleCount; + u32 m_unCraftCount; + MtTypedArray m_AveragePawnFeedbackList; +}; + +/* 3142 */ +typedef CDataPawnTotalScore CPawnTotalScore; + +/* 3141 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_TOTAL_SCORE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CPawnTotalScore m_PawnTotalScore; + bool m_bIsReceived; +}; + +/* 3146 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3145 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_FREE_RENTAL_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_FreeRentalPawnList; + bool m_bIsReceived; +}; + +/* 3148 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3147 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LIGHT_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unBaseID; + MtTypedArray m_LightQuestList; + u8 m_ucNotCompleteQuestNum; + u8 m_ucGpCompletePriceGp; + b8 m_bGpCompleteEnable; + bool m_bIsReceived; +}; + +/* 3150 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3149 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LIGHT_QUEST_GP_COMPLETE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unBaseID; + MtTypedArray m_CompleteQuestList; + bool m_bIsReceived; +}; + +/* 3152 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3151 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SET_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unDistributeID; + MtTypedArray m_SetQuestList; + bool m_bIsReceived; +}; + +/* 3154 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3153 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MAIN_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MainQuestList; + bool m_bIsReceived; +}; + +/* 3156 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3155 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_TUTORIAL_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageNo; + MtTypedArray m_TutorialQuestList; + bool m_bIsReceived; +}; + +/* 3158 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3157 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_TIME_LIMITED_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_TimeLimitedQuestList; + bool m_bIsReceived; +}; + +/* 3160 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3159 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_WORLD_MANAGE_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_WorldManageQuestList; + bool m_bIsReceived; +}; + +/* 3162 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3161 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LOT_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unLotQuestType; + MtTypedArray m_LotQuestList; + bool m_bIsReceived; +}; + +/* 3164 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3163 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_SET_QUEST_INFO_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unDistributeID; + MtTypedArray m_SetQuestInfoList; + u16 m_usAreaBaseMinLevel; + u16 m_usAreaBaseMaxLevel; + bool m_bIsReceived; +}; + +/* 3166 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3165 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RECOMMENDED_QUEST_INFO_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RecommendedQuestInfoList; + bool m_bIsReceived; +}; + +/* 3168 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3167 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_NEWS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CycleContentsNewsList; + bool m_bIsReceived; +}; + +/* 3170 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3169 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_INFO_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AreaInfoList; + bool m_bIsReceived; +}; + +/* 3172 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3171 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_BONUS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AreaBonusList; + bool m_bIsReceived; +}; + +/* 3174 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 101 */ +typedef unsigned __int64 __uint64_t; + +/* 140 */ +typedef __uint64_t u64; + +/* 3173 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_QUEST_PARTY_BONUS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_QuestPartyBonusInfoList; + u64 m_ullNextReloadTime; + bool m_bIsReceived; +}; + +/* 3178 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3177 */ +struct __cppobj CDataEndContentsGroup : CPacketDataBase +{ + MtTypedArray m_TimeGainQuestList; +}; + +/* 3176 */ +typedef CDataEndContentsGroup CEndContentsGroup; + +/* 3175 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_END_CONTENTS_GROUP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unGroupID; + u32 m_unEndContentsType; + CEndContentsGroup m_EndContentsGroup; + bool m_bIsReceived; +}; + +/* 3179 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_QUEST_SCHEDULE_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestId; + bool m_bIsReceived; +}; + +/* 3181 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3180 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_ORDER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_QuestProcessStateList; + bool m_bIsReceived; +}; + +/* 3182 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_PROGRESS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucQuestProgressResult; + u32 m_unQuestScheduleId; + MtTypedArray m_QuestProcessStateList; + bool m_bIsReceived; +}; + +/* 3184 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3183 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_END_DISTRIBUTION_QUEST_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ExpiredQuestList; + bool m_bIsReceived; +}; + +/* 3188 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3189 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3190 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3187 */ +struct __cppobj CDataPartyQuestProgressInfo : CPacketDataBase +{ + MtTypedArray m_QuestOrderList; + MtTypedArray m_SoloQuestOrderList; + MtTypedArray m_DeliveredItemRecordList; + MtTypedArray m_QuestKeyItemPointRecordList; +}; + +/* 3186 */ +typedef CDataPartyQuestProgressInfo CPartyQuestProgressInfo; + +/* 3185 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_QUEST_PROGRESS_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CPartyQuestProgressInfo m_PartyQuestProgressInfo; + bool m_bIsReceived; +}; + +/* 3192 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3191 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_QUEST_COMPLETE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucQuestType; + MtTypedArray m_QuestIdList; + bool m_bIsReceived; +}; + +/* 3194 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3193 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SET_QUEST_OPEN_DATE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SetQuestOpenDateList; + bool m_bIsReceived; +}; + +/* 3196 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3195 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REWARD_BOX_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardBoxRecordList; + bool m_bIsReceived; +}; + +/* 3197 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REWARD_BOX_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3199 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3198 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardBoxRecordList; + MtTypedArray m_CycleContentsRewardRecordList; + bool m_bIsReceived; +}; + +/* 3201 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3200 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CycleContentsExtraRewardList; + bool m_bIsReceived; +}; + +/* 3203 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3202 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PRIORITY_QUEST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PriorityQuestSettingList; + bool m_bIsReceived; +}; + +/* 3204 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_SET_PRIORITY_QUEST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 3205 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CANCEL_PRIORITY_QUEST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 3209 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3208 */ +struct __cppobj CDataQuestPointDetail : CPacketDataBase +{ + MtTypedArray m_QuestPointList; + MtTypedArray m_QuestEnemyPointList; + MtTypedArray m_QuestRegionBreakPointList; + MtTypedArray m_QuestDeliveryPointList; +}; + +/* 3207 */ +typedef CDataQuestPointDetail CQuestPointDetail; + +/* 3206 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unCycleContentsScheduleId; + CQuestPointDetail m_QuestPointDetail; + bool m_bIsReceived; +}; + +/* 3210 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_NOW_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unCycleContentsScheduleId; + CQuestPointDetail m_QuestPointDetail; + bool m_bIsReceived; +}; + +/* 3211 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RAID_BOSS_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + CQuestPointDetail m_QuestPointDetail; + bool m_bIsReceived; +}; + +/* 3213 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3212 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CAP_TO_GP_CHANGE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_List; + bool m_bIsReceived; +}; + +/* 3214 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CHANGE_CAP_TO_GP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unChangeListID; + u32 m_unGP; + u32 m_unCAP; + bool m_bIsReceived; +}; + +/* 3216 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3215 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_COURSE_LINEUP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 3218 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3217 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_COURSE_GET_AVAILABLE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 3220 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3219 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_COURSE_GET_VALID_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 3222 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3221 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_BUY_HISTORY_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 3224 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3223 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_GP_DETAIL_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_GPList; + bool m_bIsReceived; +}; + +/* 3226 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3225 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_GP_PERIOD_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_GPPeriodList; + bool m_bIsReceived; +}; + +/* 3228 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3227 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_DISPLAY_GET_TYPE_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 3230 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3229 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_DISPLAY_GET_LINEUP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 3231 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_DISPLAY_BUY_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unLineupId; + MtTypedArray m_CommonIdList; + u32 m_unBalance; + MtString m_wstrLineupName; + bool m_bIsReceived; +}; + +/* 3233 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3232 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_GET_QUEST_LAYOUT_FLAG_RES : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_QuestLayoutFlagList; + bool m_bIsReceived; +}; + +/* 3235 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3234 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_GET_QUEST_FLAG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_QuestFlagList; + bool m_bIsReceived; +}; + +/* 3237 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3238 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3236 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_PROGRESS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CraftProgressList; + MtTypedArray m_CraftMyPawnList; + MtTypedArray m_CreatedReicpeList; + bool m_bIsReceived; +}; + +/* 3241 */ +struct __cppobj __attribute__((aligned(4))) CDataCraftProductInfo : CPacketDataBase +{ + u32 m_unItemID; + u32 m_unItemNum; + u8 m_ucPlusValue; + u32 m_unExp; + u32 m_unExtraBonus; + b8 m_bIsGreatSuccess; +}; + +/* 3240 */ +typedef CDataCraftProductInfo CCraftProductInfo; + +/* 3239 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_PRODUCT_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CCraftProductInfo m_CraftProductInfo; + bool m_bIsReceived; +}; + +/* 3244 */ +struct __cppobj __attribute__((aligned(8))) CDataCraftProduct : CPacketDataBase +{ + u32 m_unItemID; + u32 m_unItemNum; + u8 m_ucPlusValue; +}; + +/* 3243 */ +typedef CDataCraftProduct CCraftProduct; + +/* 3245 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3242 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_PRODUCT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CCraftProduct m_CraftProduct; + MtTypedArray m_UpdateItemList; + bool m_bIsReceived; +}; + +/* 3247 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3246 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_SETTING_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ColorRegulateItemList; + MtTypedArray m_TimeSaveCostList; + u32 m_unReasonableCraftLv; + u32 m_unCraftItemLv; + u8 m_ucCreateCountMax; + bool m_bIsReceived; +}; + +/* 3249 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3248 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CRAFT_SKILL_ANALYZE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AnalyzeResultList; + bool m_bIsReceived; +}; + +/* 3251 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3250 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_LOCKED_ELEMENT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_LockedElementList; + bool m_bIsReceived; +}; + +/* 3254 */ +struct __cppobj __attribute__((aligned(8))) CDataStageLayoutID : CPacketDataBase +{ + u32 m_unStageID; + u8 m_ucLayerNo; + u32 m_unGroupID; +}; + +/* 3253 */ +typedef CDataStageLayoutID CStageLayoutID; + +/* 3255 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3252 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_DROP_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + u32 m_unId; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 3257 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3256 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_TRANING_ROOM_GET_ENEMY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_InfoList; + u32 m_unMaxLv; + bool m_bIsReceived; +}; + +/* 3259 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3258 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_WARP_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_WarpPointList; + bool m_bIsReceived; +}; + +/* 3261 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3260 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_FAVORITE_WARP_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_FavoriteWarpPointList; + u32 m_unSlotIDMax; + bool m_bIsReceived; +}; + +/* 3263 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3262 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_WARP_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AreaWarpPointList; + bool m_bIsReceived; +}; + +/* 3265 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3264 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_SEARCH_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CharacterList; + bool m_bIsReceived; +}; + +/* 3268 */ +struct __cppobj __attribute__((aligned(8))) CDataMatchingProfile : CPacketDataBase +{ + u8 m_ucEntryJob; + u32 m_unEntryJobLevel; + u8 m_ucCurrentJob; + u32 m_unCurrentJobLevel; + u32 m_unObjectiveType1; + u32 m_unObjectiveType2; + u32 m_unPlayStyle; + MtString m_wstrComment; + b8 m_bIsJoinParty; +}; + +/* 3267 */ +typedef CDataMatchingProfile CMatchingProfile; + +/* 3266 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MATCHING_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CMatchingProfile m_MatchingProfile; + u8 m_ucJob; + u32 m_unLevel; + bool m_bIsReceived; +}; + +/* 3270 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3269 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_MEMBER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MemberList; + bool m_bIsReceived; +}; + +/* 3272 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3271 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SEARCH_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ClanList; + bool m_bIsReceived; +}; + +/* 3274 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3273 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_JOIN_REQUESTED_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_JoinReqList; + bool m_bIsReceived; +}; + +/* 3275 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_MY_JOIN_REQUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_JoinReqList; + bool m_bIsReceived; +}; + +/* 3277 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3276 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_SEARCH_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SearchResult; + bool m_bIsReceived; +}; + +/* 3279 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3278 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_InviteInfo; + bool m_bIsReceived; +}; + +/* 3280 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_InviteInfo; + bool m_bIsReceived; +}; + +/* 3283 */ +struct __cppobj CDataClanFunctionInfo : CPacketDataBase +{ + MtTypedArray m_ReleaseIdList; +}; + +/* 3282 */ +typedef CDataClanFunctionInfo CClanFunctionInfo; + +/* 3285 */ +struct __cppobj CDataClanDungeonInfo : CPacketDataBase +{ + MtTypedArray m_ReleaseIdList; +}; + +/* 3284 */ +typedef CDataClanDungeonInfo CClanDungeonInfo; + +/* 3287 */ +struct __cppobj __attribute__((aligned(8))) CDataPawnExpeditionInformation : CPacketDataBase +{ + u8 m_ucSallyStatus; + u8 m_ucGoldenSallyPrice; + u8 m_ucChargeSallyPrice; +}; + +/* 3286 */ +typedef CDataPawnExpeditionInformation CPawnExpeditionInformation; + +/* 3289 */ +struct __cppobj CDataClanPartnerPawnInfo : CPacketDataBase +{ + MtTypedArray m_MyPartnerPawnList; + MtTypedArray m_MemberPartnerPawnList; +}; + +/* 3288 */ +typedef CDataClanPartnerPawnInfo CClanPartnerPawnInfo; + +/* 3292 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3291 */ +struct __cppobj CDataClanConciergeInfo : CPacketDataBase +{ + u32 m_unNpcId; + MtTypedArray m_ClanConciergeNpcList; +}; + +/* 3290 */ +typedef CDataClanConciergeInfo CClanConciergeInfo; + +/* 3293 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3294 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3281 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_BASE_GET_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CClanFunctionInfo m_FunctionInfo; + CClanDungeonInfo m_DungeonInfo; + CPawnExpeditionInformation m_PawnExpeditionInfo; + CClanPartnerPawnInfo m_PartnerPawnInfo; + CClanConciergeInfo m_ConciergeInfo; + MtTypedArray m_ShopLineupNameList; + MtTypedArray m_ClanValueInfoList; + bool m_bIsReceived; +}; + +/* 3296 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3295 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_CONCIERGE_GET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ConciergeItemList; + u32 m_unClanPoint; + bool m_bIsReceived; +}; + +/* 3298 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3300 */ +struct __cppobj CDataClanShopInfo : CPacketDataBase +{ + u32 m_unClanPoint; + MtTypedArray m_CurrentFunctionList; + MtTypedArray m_CurrentBuffList; +}; + +/* 3299 */ +typedef CDataClanShopInfo CClanShopInfo; + +/* 3297 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_FunctionItemList; + u32 m_unClanPoint; + CClanShopInfo m_ShopInfo; + bool m_bIsReceived; +}; + +/* 3302 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3301 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SHOP_GET_BUFF_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_BuffItemList; + u32 m_unClanPoint; + CClanShopInfo m_ShopInfo; + bool m_bIsReceived; +}; + +/* 3304 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3303 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_HISTORY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ClanHistoryList; + bool m_bIsReceived; +}; + +/* 3306 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3305 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ACQUIRABLE_NORMAL_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_NormalSkillParamList; + bool m_bIsReceived; +}; + +/* 3308 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3307 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ACQUIRABLE_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SkillParamList; + bool m_bIsReceived; +}; + +/* 3310 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3309 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ACQUIRABLE_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AbilityParamList; + bool m_bIsReceived; +}; + +/* 3311 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LEARNED_NORMAL_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_NormalSkillParamList; + bool m_bIsReceived; +}; + +/* 3313 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3312 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LEARNED_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_LearnedAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3314 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LEARNED_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_LearnedAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3315 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_NormalSkillParamList; + bool m_bIsReceived; +}; + +/* 3316 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_LEARNED_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_LearnedAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3317 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_LEARNED_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_LearnedAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3319 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3318 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SET_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3320 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3321 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_SET_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3322 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_SET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3324 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3323 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RELEASE_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ReleaseAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3325 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RELEASE_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ReleaseAcquirementParamList; + bool m_bIsReceived; +}; + +/* 3327 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3326 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PRESET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PresetAbilityParamList; + bool m_bIsReceived; +}; + +/* 3328 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_ABILITY_COST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCostMax; + bool m_bIsReceived; +}; + +/* 3329 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_ABILITY_COST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u32 m_unCostMax; + bool m_bIsReceived; +}; + +/* 3331 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3330 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SHOP_GOODS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_GoodsParamList; + bool m_bIsReceived; +}; + +/* 3332 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_STAY_PRICE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPointType; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 3333 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PENALTY_HEAL_STAY_PRICE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPointType; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 3335 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3336 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3334 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_MASTER_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unAreaId; + u32 m_unRank; + u32 m_unPoint; + u32 m_unWeekPoint; + u32 m_unLastWeekPoint; + u32 m_unToNextPoint; + MtTypedArray m_ReleaseList; + b8 m_bCanReciveSupply; + b8 m_bCanRankUp; + MtTypedArray m_SupplyItemInfoList; + MtTypedArray m_AreaRankUpQuestInfoList; + bool m_bIsReceived; +}; + +/* 3337 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_AREA_RANK_UP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unAreaId; + u32 m_unAreaRank; + u32 m_unAreaPoint; + u32 m_unNextAreaPoint; + MtTypedArray m_ReleaseList; + MtTypedArray m_ReleaseWarpList; + bool m_bIsReceived; +}; + +/* 3339 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3338 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LEADER_AREA_RELEASE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ReleaseAreaInfoSetList; + bool m_bIsReceived; +}; + +/* 3341 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3340 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_SUPPLY_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucSupplyGrade; + MtTypedArray m_RewardItemInfoList; + bool m_bIsReceived; +}; + +/* 3343 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3342 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_QUEST_HINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AreaQuestHintList; + bool m_bIsReceived; +}; + +/* 3345 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3344 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SPOT_INFO_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SpotInfoList; + bool m_bIsReceived; +}; + +/* 3347 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3346 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REPORT_JOB_ORDER_PROGRESS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJobID; + MtTypedArray m_ReleaseElementList; + MtTypedArray m_NewOrderIdList; + bool m_bIsReceived; +}; + +/* 3349 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3348 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RELEASE_ORB_ELEMENT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_OrbElementList; + bool m_bIsReceived; +}; + +/* 3350 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_OrbElementList; + bool m_bIsReceived; +}; + +/* 3352 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3351 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ALL_JOB_ORB_ELEMENT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ElementList; + bool m_bIsReceived; +}; + +/* 3354 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3355 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3356 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3353 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_JOB_CHANGE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_JobChangeInfo; + MtTypedArray m_JobReleaseInfo; + MtTypedArray m_PawnJobChangeInfoList; + MtTypedArray m_PlayPointList; + bool m_bIsReceived; +}; + +/* 3359 */ +struct __cppobj __attribute__((aligned(8))) CDataCharacterJobData : CPacketDataBase +{ + u8 m_ucJob; + u32 m_unExp; + u32 m_unJobPoint; + u32 m_unLv; + u16 m_usAtk; + u16 m_usDef; + u16 m_usMAtk; + u16 m_usMDef; + u16 m_usStrength; + u16 m_usDownPower; + u16 m_usShakePower; + u16 m_usStunPower; + u16 m_usConstitution; + u16 m_usGuts; + u8 m_ucFireResist; + u8 m_ucIceResist; + u8 m_ucThunderResist; + u8 m_ucHolyResist; + u8 m_ucDarkResist; + u8 m_ucSpreadResist; + u8 m_ucFreezeResist; + u8 m_ucShockResist; + u8 m_ucAbsorbResist; + u8 m_ucDarkElmResist; + u8 m_ucPoisonResist; + u8 m_ucSlowResist; + u8 m_ucSleepResist; + u8 m_ucStunResist; + u8 m_ucWetResist; + u8 m_ucOilResist; + u8 m_ucSealResist; + u8 m_ucCurseResist; + u8 m_ucSoftResist; + u8 m_ucStoneResist; + u8 m_ucGoldResist; + u8 m_ucFireReduceResist; + u8 m_ucIceReduceResist; + u8 m_ucThunderReduceResist; + u8 m_ucHolyReduceResist; + u8 m_ucDarkReduceResist; + u8 m_ucAtkDownResist; + u8 m_ucDefDownResist; + u8 m_ucMAtkDownResist; + u8 m_ucMDefDownResist; +}; + +/* 3358 */ +typedef CDataCharacterJobData CCharacterJobData; + +/* 3360 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3361 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3362 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3363 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3365 */ +struct __cppobj CDataPlayPointData : CPacketDataBase +{ + u8 m_ucExpMode; + u32 m_unPlayPoint; +}; + +/* 3364 */ +typedef CDataPlayPointData CPlayPointData; + +/* 3357 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_JOB_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CCharacterJobData m_CharacterJobData; + MtTypedArray m_CharacterEquipList; + MtTypedArray m_AddItemList; + MtTypedArray m_BagItemList; + MtTypedArray m_StorageItemList; + MtTypedArray m_DifferentEquipList; + MtTypedArray m_SetAcquirementParamList; + MtTypedArray m_SetAbilityParamList; + MtTypedArray m_LearnNormalSkillParamList; + MtTypedArray m_EquipJobItemList; + CPlayPointData m_PlayPointData; + bool m_bIsReceived; +}; + +/* 3366 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_JOB_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CCharacterJobData m_CharacterJobData; + MtTypedArray m_CharacterEquipList; + MtTypedArray m_AddItemList; + MtTypedArray m_BagItemList; + MtTypedArray m_StorageItemList; + MtTypedArray m_DifferentEquipList; + MtTypedArray m_SetAcquirementParamList; + MtTypedArray m_SetAbilityParamList; + MtTypedArray m_LearnNormalSkillParamList; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 3368 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3367 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullID; + MtTypedArray m_EntryItemList; + bool m_bIsReceived; +}; + +/* 3369 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_RESERVE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unNowMember; + u32 m_unMaxMember; + bool m_bIsReceived; +}; + +/* 1701 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3374 */ +struct __cppobj CDataEntryItemParam : CPacketDataBase +{ + b8 m_bPasswordOn; + b8 m_bPawnOn; + s32 m_nBottomEntryJobLevel; + s32 m_nTopEntryJobLevel; + u16 m_usRequiredItemRank; + u8 m_ucItemRankType; + u32 m_unItemRankCheckRoleType; + u16 m_usMinEntryNum; + u16 m_usMaxEntryNum; + MtString m_wstrComment; + MtTypedArray m_EntryRecruitList; +}; + +/* 3373 */ +typedef CDataEntryItemParam CEntryItemParam; + +/* 1700 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3372 */ +struct __cppobj CDataEntryItem : CPacketDataBase +{ + u32 m_unID; + CEntryItemParam m_Param; + MtTypedArray m_EntryMemberList; + u16 m_usBoardRequiredAvgItemRank; + u16 m_usTimeOut; + u32 m_unLeaderPartyId; +}; + +/* 3371 */ +typedef CDataEntryItem CEntryItem; + +/* 3370 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBoardID; + CEntryItem m_EntryItemData; + bool m_bIsReceived; +}; + +/* 3375 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MAIL_GET_TEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullId; + MtString m_wstrMailText; + bool m_bIsReceived; +}; + +/* 3381 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3382 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3383 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3384 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3380 */ +struct __cppobj CDataMailAttachmentList : CPacketDataBase +{ + MtTypedArray m_ItemList; + MtTypedArray m_GPList; + MtTypedArray m_OptionCourseList; + MtTypedArray m_LegendPawnList; +}; + +/* 3379 */ +typedef CDataMailAttachmentList CMailAttachmentList; + +/* 3378 */ +struct __cppobj CDataMailTextInfo : CPacketDataBase +{ + MtString m_wstrText; + CMailAttachmentList m_MailAttachmentList; +}; + +/* 3377 */ +typedef CDataMailTextInfo CMailTextInfo; + +/* 3376 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_TEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullId; + CMailTextInfo m_MailTextInfo; + bool m_bIsReceived; +}; + +/* 3386 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3385 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RANKING_BOARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RankingBoardList; + bool m_bIsReceived; +}; + +/* 3388 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 70 */ +typedef __int64 __int64_t; + +/* 1163 */ +typedef __int64_t s64; + +/* 3387 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RANKING_DATA_RANK_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRank; + MtTypedArray m_RankingData; + s64 m_llModified; + bool m_bIsReceived; +}; + +/* 3389 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RANKING_DATA_RANK_BY_QUEST_SCHEDULE_ID_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRank; + MtTypedArray m_RankingData; + s64 m_llModified; + bool m_bIsReceived; +}; + +/* 3390 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RANKING_DATA_CHARACTER_ID_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RankingData; + s64 m_llModified; + bool m_bIsReceived; +}; + +/* 3391 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AVAILABLE_BACKGROUND_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_BackgroundIdList; + bool m_bIsReceived; +}; + +/* 3393 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3392 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_GET_PROGRESS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AchievementProgressList; + bool m_bIsReceived; +}; + +/* 3395 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3394 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_GET_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_BackgroundProgressList; + bool m_bIsReceived; +}; + +/* 3397 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3396 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 3399 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3398 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 3400 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_REWARD_RECEIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RecievedRewardList; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 3402 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3401 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GACHA_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_GachaList; + bool m_bIsReceived; +}; + +/* 3404 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3403 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GACHA_BUY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unId; + MtTypedArray m_GachaItemList; + bool m_bIsReceived; +}; + +/* 3406 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3405 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BOX_GACHA_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_BoxGachaList; + bool m_bIsReceived; +}; + +/* 3408 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3407 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BOX_GACHA_BUY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unId; + MtTypedArray m_BoxGachaItemList; + bool m_bIsReceived; +}; + +/* 3409 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_BOX_GACHA_RESET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unId; + bool m_bIsReceived; +}; + +/* 3410 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BOX_GACHA_DRAW_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unId; + MtTypedArray m_BoxGachaItemList; + bool m_bIsReceived; +}; + +/* 3413 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3412 */ +struct __cppobj CDataLoadingInfoSchedules : CPacketDataBase +{ + MtTypedArray m_LoadingInfoScheduleList; +}; + +/* 3411 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOADING_GET_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CDataLoadingInfoSchedules m_Info; + bool m_bIsReceived; +}; + +/* 3415 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3416 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3414 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_STAMP_BONUS_GET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usTotalStampNum; + MtTypedArray m_StampBonusDaily; + MtTypedArray m_StampBonusTotal; + bool m_bIsReceived; +}; + +/* 3417 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_STAMP_BONUS_CHECK_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usTotalStampNum; + u8 m_ucisRecieveBonusDaily; + u8 m_ucisRecieveBonusTotal; + bool m_bIsReceived; +}; + +/* 3432 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3431 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SUPPORT_POINT_GET_RATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SupportRate; + bool m_bIsReceived; +}; + +/* 3434 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3433 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SUPPORT_POINT_USE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_UsePoint; + bool m_bIsReceived; +}; + +/* 3436 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3435 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SCREEN_SHOT_CATEGORY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CategoryList; + bool m_bIsReceived; +}; + +/* 3438 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3437 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ITEM_STORAGE_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_GameItemStorageInfoList; + bool m_bIsReceived; +}; + +/* 3440 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3439 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_DISPEL_ITEM_SETTING_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_DispelCategoryInfo; + bool m_bIsReceived; +}; + +/* 3442 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3441 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_DISPEL_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_DispelBaseItemList; + bool m_bIsReceived; +}; + +/* 3444 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3443 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EXCHANGE_DISPEL_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_DispelItemResultList; + bool m_bIsReceived; +}; + +/* 3446 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3445 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_JOB_VALUE_SHOP_GET_LINEUP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJobId; + u8 m_ucJobValueType; + MtTypedArray m_JobValueShopItemList; + bool m_bIsReceived; +}; + +/* 3447 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_JOB_VALUE_SHOP_BUY_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unJobId; + u8 m_ucJobValueType; + u32 m_unValue; + bool m_bIsReceived; +}; + +/* 3449 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3450 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3448 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_SALLY_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucSallyCount; + MtTypedArray m_AreaIdList; + MtTypedArray m_HotSpotInfoList; + MtTypedArray m_ActiveBuffLineupList; + MtTypedArray m_ClanSallySpotInfoList; + bool m_bIsReceived; +}; + +/* 3453 */ +struct __cppobj CDataAreaSpotSet : CPacketDataBase +{ + u32 m_unAreaId; + u32 m_unSpotId; +}; + +/* 3452 */ +typedef CDataAreaSpotSet CAreaSpotSet; + +/* 3451 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_MY_SALLY_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CAreaSpotSet m_SallySpotInfo; + b8 m_bIsHotSpot; + u8 m_ucSallyType; + u8 m_ucSallyCount; + bool m_bIsReceived; +}; + +/* 3456 */ +struct __cppobj __attribute__((aligned(8))) CDataBattleResultInfo : CPacketDataBase +{ + u32 m_unEnemyId; + u32 m_unEnemyNum; + u32 m_unEnemyLevel; +}; + +/* 3455 */ +typedef CDataBattleResultInfo CBattleResultInfo; + +/* 3454 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_SALLY_REWARD_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CAreaSpotSet m_SallySpotInfo; + u8 m_ucSearchSpotType; + CBattleResultInfo m_BattleResult; + b8 m_bIsGoldenSally; + bool m_bIsReceived; +}; + +/* 3458 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3457 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_WEATHER_FORECAST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unIntervalGameHour; + u32 m_unGameDayToEarthMin; + MtTypedArray m_ForecastList; + bool m_bIsReceived; +}; + +/* 149 */ +typedef char MT_CHAR; + +/* 372 */ +typedef const MT_CHAR *MT_CTSTR; + +/* 420 */ +struct MtDTI +{ + int (**_vptr$MtDTI)(void); + MT_CTSTR mName; + MtDTI *mpNext; + MtDTI *mpChild; + MtDTI *mpParent; + MtDTI *mpLink; + unsigned __int32 mSize : 23; + unsigned __int32 mAllocatorIndex : 6; + unsigned __int32 mAttr : 3; + u32 mID; +}; + +/* 3658 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SERVER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3659 */ +struct __cppobj nUserSession::CPacket_S2C_GET_GAME_SETTING_RES::MyDTI : MtDTI +{ +}; + +/* 3660 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3661 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3662 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_REWARD_RES::MyDTI : MtDTI +{ +}; + +/* 3663 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_DUNGEON_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3664 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_JOIN_MEMBER_NTC::MyDTI : MtDTI +{ +}; + +/* 3665 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_TOTAL_SCORE_RES::MyDTI : MtDTI +{ +}; + +/* 3666 */ +struct __cppobj nUserSession::CPacket_S2C_GET_FREE_RENTAL_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3667 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LIGHT_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3668 */ +struct __cppobj nUserSession::CPacket_S2C_LIGHT_QUEST_GP_COMPLETE_RES::MyDTI : MtDTI +{ +}; + +/* 3669 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3670 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MAIN_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3671 */ +struct __cppobj nUserSession::CPacket_S2C_GET_TUTORIAL_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3672 */ +struct __cppobj nUserSession::CPacket_S2C_GET_TIME_LIMITED_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3673 */ +struct __cppobj nUserSession::CPacket_S2C_GET_WORLD_MANAGE_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3674 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LOT_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3675 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_QUEST_INFO_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3676 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RECOMMENDED_QUEST_INFO_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3677 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_NEWS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3678 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_INFO_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3679 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_BONUS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3680 */ +struct __cppobj nUserSession::CPacket_S2C_GET_QUEST_PARTY_BONUS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3681 */ +struct __cppobj nUserSession::CPacket_S2C_GET_END_CONTENTS_GROUP_RES::MyDTI : MtDTI +{ +}; + +/* 3682 */ +struct __cppobj nUserSession::CPacket_S2C_GET_QUEST_SCHEDULE_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3683 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_ORDER_RES::MyDTI : MtDTI +{ +}; + +/* 3684 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_PROGRESS_RES::MyDTI : MtDTI +{ +}; + +/* 3685 */ +struct __cppobj nUserSession::CPacket_S2C_END_DISTRIBUTION_QUEST_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 3686 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_QUEST_PROGRESS_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3687 */ +struct __cppobj nUserSession::CPacket_S2C_GET_QUEST_COMPLETE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3688 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_QUEST_OPEN_DATE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3689 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REWARD_BOX_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3690 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REWARD_BOX_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 3691 */ +struct __cppobj nUserSession::CPacket_S2C_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3692 */ +struct __cppobj nUserSession::CPacket_S2C_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 3693 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PRIORITY_QUEST_RES::MyDTI : MtDTI +{ +}; + +/* 3694 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PRIORITY_QUEST_RES::MyDTI : MtDTI +{ +}; + +/* 3695 */ +struct __cppobj nUserSession::CPacket_S2C_CANCEL_PRIORITY_QUEST_RES::MyDTI : MtDTI +{ +}; + +/* 3696 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3697 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_NOW_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3698 */ +struct __cppobj nUserSession::CPacket_S2C_RAID_BOSS_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3699 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CAP_TO_GP_CHANGE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3700 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CAP_TO_GP_RES::MyDTI : MtDTI +{ +}; + +/* 3701 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_COURSE_LINEUP_RES::MyDTI : MtDTI +{ +}; + +/* 3702 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_GET_AVAILABLE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3703 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_GET_VALID_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3704 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_BUY_HISTORY_RES::MyDTI : MtDTI +{ +}; + +/* 3705 */ +struct __cppobj nUserSession::CPacket_S2C_GET_GP_DETAIL_RES::MyDTI : MtDTI +{ +}; + +/* 3706 */ +struct __cppobj nUserSession::CPacket_S2C_GET_GP_PERIOD_RES::MyDTI : MtDTI +{ +}; + +/* 3707 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_DISPLAY_GET_TYPE_RES::MyDTI : MtDTI +{ +}; + +/* 3708 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_DISPLAY_GET_LINEUP_RES::MyDTI : MtDTI +{ +}; + +/* 3709 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_DISPLAY_BUY_RES::MyDTI : MtDTI +{ +}; + +/* 3710 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_GET_QUEST_LAYOUT_FLAG_RES::MyDTI : MtDTI +{ +}; + +/* 3711 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_GET_QUEST_FLAG_RES::MyDTI : MtDTI +{ +}; + +/* 3712 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_PROGRESS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3713 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_PRODUCT_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3714 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_PRODUCT_RES::MyDTI : MtDTI +{ +}; + +/* 3715 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_SETTING_RES::MyDTI : MtDTI +{ +}; + +/* 3716 */ +struct __cppobj nUserSession::CPacket_S2C_CRAFT_SKILL_ANALYZE_RES::MyDTI : MtDTI +{ +}; + +/* 3717 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_LOCKED_ELEMENT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3718 */ +struct __cppobj nUserSession::CPacket_S2C_GET_DROP_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3719 */ +struct __cppobj nUserSession::CPacket_S2C_TRANING_ROOM_GET_ENEMY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3720 */ +struct __cppobj nUserSession::CPacket_S2C_GET_WARP_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3721 */ +struct __cppobj nUserSession::CPacket_S2C_GET_FAVORITE_WARP_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3722 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_WARP_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3723 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_SEARCH_RES::MyDTI : MtDTI +{ +}; + +/* 3724 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MATCHING_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 3725 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_MEMBER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3726 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SEARCH_RES::MyDTI : MtDTI +{ +}; + +/* 3727 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_JOIN_REQUESTED_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3728 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_MY_JOIN_REQUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3729 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_SEARCH_RES::MyDTI : MtDTI +{ +}; + +/* 3730 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3731 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3732 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_BASE_GET_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3733 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_CONCIERGE_GET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3734 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3735 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SHOP_GET_BUFF_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3736 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_HISTORY_RES::MyDTI : MtDTI +{ +}; + +/* 3737 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ACQUIRABLE_NORMAL_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3738 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ACQUIRABLE_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3739 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ACQUIRABLE_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3740 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LEARNED_NORMAL_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3741 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LEARNED_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3742 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LEARNED_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3743 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3744 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_LEARNED_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3745 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_LEARNED_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3746 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3747 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3748 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_SET_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3749 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_SET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3750 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RELEASE_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3751 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RELEASE_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3752 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PRESET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3753 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ABILITY_COST_RES::MyDTI : MtDTI +{ +}; + +/* 3754 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_ABILITY_COST_RES::MyDTI : MtDTI +{ +}; + +/* 3755 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SHOP_GOODS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3756 */ +struct __cppobj nUserSession::CPacket_S2C_GET_STAY_PRICE_RES::MyDTI : MtDTI +{ +}; + +/* 3757 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PENALTY_HEAL_STAY_PRICE_RES::MyDTI : MtDTI +{ +}; + +/* 3758 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_MASTER_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3759 */ +struct __cppobj nUserSession::CPacket_S2C_AREA_RANK_UP_RES::MyDTI : MtDTI +{ +}; + +/* 3760 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LEADER_AREA_RELEASE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3761 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_SUPPLY_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3762 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_QUEST_HINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3763 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SPOT_INFO_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3764 */ +struct __cppobj nUserSession::CPacket_S2C_REPORT_JOB_ORDER_PROGRESS_RES::MyDTI : MtDTI +{ +}; + +/* 3765 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RELEASE_ORB_ELEMENT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3766 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3767 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ALL_JOB_ORB_ELEMENT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3768 */ +struct __cppobj nUserSession::CPacket_S2C_GET_JOB_CHANGE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3769 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_JOB_RES::MyDTI : MtDTI +{ +}; + +/* 3770 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_JOB_RES::MyDTI : MtDTI +{ +}; + +/* 3771 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3772 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_RESERVE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3773 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3774 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_GET_TEXT_RES::MyDTI : MtDTI +{ +}; + +/* 3775 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_TEXT_RES::MyDTI : MtDTI +{ +}; + +/* 3776 */ +struct __cppobj nUserSession::CPacket_S2C_RANKING_BOARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3777 */ +struct __cppobj nUserSession::CPacket_S2C_RANKING_DATA_RANK_RES::MyDTI : MtDTI +{ +}; + +/* 3778 */ +struct __cppobj nUserSession::CPacket_S2C_RANKING_DATA_RANK_BY_QUEST_SCHEDULE_ID_RES::MyDTI : MtDTI +{ +}; + +/* 3779 */ +struct __cppobj nUserSession::CPacket_S2C_RANKING_DATA_CHARACTER_ID_RES::MyDTI : MtDTI +{ +}; + +/* 3780 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AVAILABLE_BACKGROUND_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3781 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_GET_PROGRESS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3782 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_GET_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3783 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3784 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3785 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_REWARD_RECEIVE_RES::MyDTI : MtDTI +{ +}; + +/* 3786 */ +struct __cppobj nUserSession::CPacket_S2C_GACHA_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3787 */ +struct __cppobj nUserSession::CPacket_S2C_GACHA_BUY_RES::MyDTI : MtDTI +{ +}; + +/* 3788 */ +struct __cppobj nUserSession::CPacket_S2C_BOX_GACHA_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3789 */ +struct __cppobj nUserSession::CPacket_S2C_BOX_GACHA_BUY_RES::MyDTI : MtDTI +{ +}; + +/* 3790 */ +struct __cppobj nUserSession::CPacket_S2C_BOX_GACHA_RESET_RES::MyDTI : MtDTI +{ +}; + +/* 3791 */ +struct __cppobj nUserSession::CPacket_S2C_BOX_GACHA_DRAW_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3792 */ +struct __cppobj nUserSession::CPacket_S2C_LOADING_GET_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3793 */ +struct __cppobj nUserSession::CPacket_S2C_STAMP_BONUS_GET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3794 */ +struct __cppobj nUserSession::CPacket_S2C_STAMP_BONUS_CHECK_RES::MyDTI : MtDTI +{ +}; + +/* 3795 */ +struct __cppobj nUserSession::CPacket_S2C_SUPPORT_POINT_GET_RATE_RES::MyDTI : MtDTI +{ +}; + +/* 3796 */ +struct __cppobj nUserSession::CPacket_S2C_SUPPORT_POINT_USE_RES::MyDTI : MtDTI +{ +}; + +/* 3797 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SCREEN_SHOT_CATEGORY_RES::MyDTI : MtDTI +{ +}; + +/* 3798 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ITEM_STORAGE_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3799 */ +struct __cppobj nUserSession::CPacket_S2C_GET_DISPEL_ITEM_SETTING_RES::MyDTI : MtDTI +{ +}; + +/* 3800 */ +struct __cppobj nUserSession::CPacket_S2C_GET_DISPEL_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3801 */ +struct __cppobj nUserSession::CPacket_S2C_EXCHANGE_DISPEL_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 3802 */ +struct __cppobj nUserSession::CPacket_S2C_JOB_VALUE_SHOP_GET_LINEUP_RES::MyDTI : MtDTI +{ +}; + +/* 3803 */ +struct __cppobj nUserSession::CPacket_S2C_JOB_VALUE_SHOP_BUY_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 3804 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_SALLY_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3805 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_MY_SALLY_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3806 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_SALLY_REWARD_RES::MyDTI : MtDTI +{ +}; + +/* 3807 */ +struct __cppobj nUserSession::CPacket_S2C_WEATHER_FORECAST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 3470 */ +struct __cppobj __attribute__((aligned(8))) CDataEditInfo : CPacketDataBase +{ + u8 m_ucSex; + u8 m_ucVoice; + u16 m_usVoicePitch; + u8 m_ucPersonality; + u8 m_ucSpeechFreq; + u8 m_ucBodyType; + u8 m_ucHair; + u8 m_ucBeard; + u8 m_ucMakeup; + u8 m_ucScar; + u8 m_ucEyePresetNo; + u8 m_ucNosePresetNo; + u8 m_ucMouthPresetNo; + u8 m_ucEyebrowTexNo; + u8 m_ucColorSkin; + u8 m_ucColorHair; + u8 m_ucColorBeard; + u8 m_ucColorEyebrow; + u8 m_ucColorREye; + u8 m_ucColorLEye; + u8 m_ucColorMakeup; + u16 m_usSokutobu; + u16 m_usHitai; + u16 m_usMimiJyouge; + u16 m_usKannkaku; + u16 m_usMabisasiJyouge; + u16 m_usHanakuchiJyouge; + u16 m_usAgoSakiHaba; + u16 m_usAgoZengo; + u16 m_usAgoSakiJyouge; + u16 m_usHitomiOokisa; + u16 m_usMeOokisa; + u16 m_usMeKaiten; + u16 m_usMayuKaiten; + u16 m_usMimiOokisa; + u16 m_usMimiMuki; + u16 m_usElfMimi; + u16 m_usMikenTakasa; + u16 m_usMikenHaba; + u16 m_usHohoboneRyou; + u16 m_usHohoboneJyouge; + u16 m_usHohoniku; + u16 m_usErahoneJyouge; + u16 m_usErahoneHaba; + u16 m_usHanaJyouge; + u16 m_usHanaHaba; + u16 m_usHanaTakasa; + u16 m_usHanaKakudo; + u16 m_usKuchiHaba; + u16 m_usKuchiAtsusa; + u16 m_usEyebrowUVOffsetX; + u16 m_usEyebrowUVOffsetY; + u16 m_usWrinkle; + u16 m_usWrinkleAlbedoBlendRate; + u16 m_usWrinkleDetailNormalPower; + u16 m_usMuscleAlbedoBlendRate; + u16 m_usMuscleDetailNormalPower; + u16 m_usHeight; + u16 m_usHeadSize; + u16 m_usNeckOffset; + u16 m_usNeckScale; + u16 m_usUpperBodyScaleX; + u16 m_usBellySize; + u16 m_usTeatScale; + u16 m_usTekubiSize; + u16 m_usKoshiOffset; + u16 m_usKoshiSize; + u16 m_usAnkleOffset; + u16 m_usFat; + u16 m_usMuscle; + u16 m_usMotionFilter; +}; + +/* 3469 */ +typedef CDataEditInfo CEditInfo; + +/* 3473 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3474 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3503 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3812 */ +struct __cppobj CDataPawnCraftData : CPacketDataBase +{ + u32 m_unCraftExp; + u32 m_unCraftRank; + u32 m_unCraftRankLimit; + u32 m_unCraftPoint; + MtTypedArray m_PawnCraftSkillList; +}; + +/* 3811 */ +typedef CDataPawnCraftData CPawnCraftData; + +/* 3521 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3813 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3814 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3546 */ +struct __cppobj __attribute__((aligned(8))) CDataOrbGainExtendParam : CPacketDataBase +{ + u16 m_usHpMax; + u16 m_usStaminaMax; + u16 m_usAttack; + u16 m_usDefence; + u16 m_usMagicAttack; + u16 m_usMagicDefence; + u16 m_usAbilityCost; + u16 m_usJewerlySlot; + u16 m_usUseItemSlot; + u16 m_usMaterialItemSlot; + u16 m_usEquipItemSlot; + u16 m_usMainPawnSlot; + u16 m_usSupportPawnSlot; +}; + +/* 3545 */ +typedef CDataOrbGainExtendParam COrbGainExtendParam; + +/* 3810 */ +struct __cppobj CDataPawnInfo : CPacketDataBase +{ + u32 m_unVersion; + MtString m_wstrName; + CEditInfo m_EditInfo; + u8 m_ucState; + u32 m_unMaxHp; + u32 m_unMaxStamina; + u8 m_ucJob; + MtTypedArray m_CharacterJobDataList; + MtTypedArray m_CharacterEquipDataList; + MtTypedArray m_CharacterEquipViewDataList; + MtTypedArray m_CharacterEquipJobItemList; + u8 m_ucJewelrySlotNum; + CPawnCraftData m_CraftData; + MtTypedArray m_PawnReactionList; + b8 m_bHideEquipHead; + b8 m_bHideEquipLantern; + u8 m_ucAdventureCount; + u8 m_ucCraftCount; + u8 m_ucMaxAdventureCount; + u8 m_ucMaxCraftCount; + MtTypedArray m_ContextNormalSkillList; + MtTypedArray m_ContextSkillList; + MtTypedArray m_ContextAbilityList; + u32 m_unAbilityCostMax; + COrbGainExtendParam m_ExtendParam; + u8 m_ucPawnType; + u8 m_ucShareRange; + u32 m_unLikability; +}; + +/* 3809 */ +typedef CDataPawnInfo CPawnInfo; + +/* 3808 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MYPAWN_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 3815 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MYPAWN_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 3816 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REGISTERED_PAWN_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 3817 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REGISTERED_PAWN_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 3818 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RENTED_PAWN_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 3819 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RENTED_PAWN_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 3478 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3820 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SHORTCUT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ShortcutList; + bool m_bIsReceived; +}; + +/* 3821 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SHORTCUT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3479 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3822 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_COMMUNICATION_SHORTCUT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ShortcutList; + bool m_bIsReceived; +}; + +/* 3823 */ +struct __cppobj nUserSession::CPacket_S2C_GET_COMMUNICATION_SHORTCUT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3477 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3824 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MESSAGE_SET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MessageSetList; + bool m_bIsReceived; +}; + +/* 3825 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MESSAGE_SET_RES::MyDTI : MtDTI +{ +}; + +/* 3826 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_RENTAL_PAWN_ADVENTURE_COUNT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + MtString m_wstrPawnName; + u8 m_ucAdventureCount; + bool m_bIsReceived; +}; + +/* 3827 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_RENTAL_PAWN_ADVENTURE_COUNT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 1747 */ +struct __cppobj CDataCharacterName : CPacketDataBase +{ + MtString m_wstrFirstName; + MtString m_wstrLastName; +}; + +/* 1746 */ +typedef CDataCharacterName CCharacterName; + +/* 1745 */ +struct __cppobj CDataCommunityCharacterBaseInfo : CPacketDataBase +{ + u32 m_unCharacterID; + CCharacterName m_CharacterName; + MtString m_wstrClanName; +}; + +/* 1744 */ +typedef CDataCommunityCharacterBaseInfo CCommunityCharacterBaseInfo; + +/* 3558 */ +struct __cppobj __attribute__((aligned(8))) CDataJobBaseInfo : CPacketDataBase +{ + u8 m_ucJob; + u8 m_ucLv; +}; + +/* 3557 */ +typedef CDataJobBaseInfo CJobBaseInfo; + +/* 3556 */ +struct __cppobj CDataCharacterListElement : CPacketDataBase +{ + CCommunityCharacterBaseInfo m_BaseInfo; + u16 m_usServerID; + u8 m_ucOnlineStatus; + CJobBaseInfo m_CurrentJobInfo; + CJobBaseInfo m_EntryJobInfo; + MtString m_wstrMatchingPlofile; +}; + +/* 3555 */ +typedef CDataCharacterListElement CCharacterListElement; + +/* 3830 */ +struct __cppobj __attribute__((aligned(8))) CDataFriendInfo : CPacketDataBase +{ + CCharacterListElement m_CharacterListElement; + u8 m_ucPendingStatus; + u32 m_unFriendNo; + b8 m_bFavorite; +}; + +/* 3829 */ +typedef CDataFriendInfo CFriendInfo; + +/* 3828 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_APPLY_FRIEND_NOTICE : CPacketDataBase +{ + u16 m_usError; + CFriendInfo m_ApprovingFriendInfo; + bool m_bIsReceived; +}; + +/* 3831 */ +struct __cppobj nUserSession::CPacket_S2C_APPLY_FRIEND_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3832 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_APPROVE_FRIEND_NOTICE : CPacketDataBase +{ + u16 m_usError; + b8 m_bIsApproved; + CFriendInfo m_FriendInfo; + bool m_bIsReceived; +}; + +/* 3833 */ +struct __cppobj nUserSession::CPacket_S2C_APPROVE_FRIEND_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3834 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LEARN_NORMAL_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJob; + u32 m_unSkillID; + u32 m_unNewJobPoint; + bool m_bIsReceived; +}; + +/* 3835 */ +struct __cppobj nUserSession::CPacket_S2C_LEARN_NORMAL_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 3836 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LEARN_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJob; + u32 m_unNewJobPoint; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 3837 */ +struct __cppobj nUserSession::CPacket_S2C_LEARN_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 3838 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LEARN_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJob; + u32 m_unNewJobPoint; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 3839 */ +struct __cppobj nUserSession::CPacket_S2C_LEARN_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 3840 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LEARN_PAWN_NORMAL_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unSkillID; + u32 m_unNewJobPoint; + bool m_bIsReceived; +}; + +/* 3841 */ +struct __cppobj nUserSession::CPacket_S2C_LEARN_PAWN_NORMAL_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 3842 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LEARN_PAWN_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unNewJobPoint; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 3843 */ +struct __cppobj nUserSession::CPacket_S2C_LEARN_PAWN_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 3844 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LEARN_PAWN_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unNewJobPoint; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 3845 */ +struct __cppobj nUserSession::CPacket_S2C_LEARN_PAWN_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 3846 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJob; + u8 m_ucSlotNo; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 3847 */ +struct __cppobj nUserSession::CPacket_S2C_SET_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 3848 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucSlotNo; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 3849 */ +struct __cppobj nUserSession::CPacket_S2C_SET_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 3850 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_SET_PAWN_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucJob; + u8 m_ucSlotNo; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 3851 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PAWN_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 3852 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_SET_PAWN_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucSlotNo; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 3853 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PAWN_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 3854 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REGISTER_PRESET_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3855 */ +struct __cppobj nUserSession::CPacket_S2C_REGISTER_PRESET_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 3487 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3856 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOBBY_JOIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + MtTypedArray m_LobbyMemberInfoList; + bool m_bIsReceived; +}; + +/* 3857 */ +struct __cppobj nUserSession::CPacket_S2C_LOBBY_JOIN_RES::MyDTI : MtDTI +{ +}; + +/* 3858 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOBBY_LEAVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3859 */ +struct __cppobj nUserSession::CPacket_S2C_LOBBY_LEAVE_RES::MyDTI : MtDTI +{ +}; + +/* 3860 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_USER_LIST_LEAVE_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_CharacterList; + bool m_bIsReceived; +}; + +/* 3861 */ +struct __cppobj nUserSession::CPacket_S2C_USER_LIST_LEAVE_NTC::MyDTI : MtDTI +{ +}; + +/* 3862 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SESSION_STATUS_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucSessionStatus; + bool m_bIsReceived; +}; + +/* 3863 */ +struct __cppobj nUserSession::CPacket_S2C_SESSION_STATUS_NTC::MyDTI : MtDTI +{ +}; + +/* 3864 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_CREATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPartyId; + u64 m_ullContentNumber; + bool m_bIsReceived; +}; + +/* 3865 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_CREATE_RES::MyDTI : MtDTI +{ +}; + +/* 3867 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3866 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_SEARCH_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PartyList; + bool m_bIsReceived; +}; + +/* 3868 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_SEARCH_RES::MyDTI : MtDTI +{ +}; + +/* 3869 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usTimeoutSec; + u16 m_usServerId; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 3870 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_RES::MyDTI : MtDTI +{ +}; + +/* 3514 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3513 */ +struct __cppobj CDataPartyListInfo : CPacketDataBase +{ + u32 m_unServerId; + u32 m_unPartyId; + MtTypedArray m_MemberList; + u32 m_unSequence; + u64 m_ullContentNumber; +}; + +/* 3872 */ +typedef CDataPartyListInfo CPartyListInfo; + +/* 3871 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_CHARACTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usTimeoutSec; + CPartyListInfo m_PartyInfo; + bool m_bIsReceived; +}; + +/* 3873 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_CHARACTER_RES::MyDTI : MtDTI +{ +}; + +/* 3874 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_NTC : CPacketDataBase +{ + u16 m_usError; + CPartyListInfo m_PartyInfo; + u16 m_usTimeoutSec; + bool m_bIsReceived; +}; + +/* 3875 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_NTC::MyDTI : MtDTI +{ +}; + +/* 3876 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_CANCEL_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3877 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_CANCEL_NTC::MyDTI : MtDTI +{ +}; + +/* 3878 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_FAIL_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usServerId; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 3879 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_FAIL_NTC::MyDTI : MtDTI +{ +}; + +/* 3880 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_JOIN_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unLeaderCharacterID; + u32 m_unHostCharacterID; + MtTypedArray m_PartyMember; + bool m_bIsReceived; +}; + +/* 3881 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_JOIN_NTC::MyDTI : MtDTI +{ +}; + +/* 3882 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unNowMember; + u32 m_unMaxMember; + bool m_bIsReceived; +}; + +/* 3883 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_NTC::MyDTI : MtDTI +{ +}; + +/* 3884 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_CANCEL_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 3885 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_CANCEL_NTC::MyDTI : MtDTI +{ +}; + +/* 3886 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_LEAVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3887 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_LEAVE_RES::MyDTI : MtDTI +{ +}; + +/* 3888 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_LEAVE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 3889 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_LEAVE_NTC::MyDTI : MtDTI +{ +}; + +/* 3890 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_MEMBER_SESSION_STATUS_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucSessionStatus; + bool m_bIsReceived; +}; + +/* 3891 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_MEMBER_SESSION_STATUS_NTC::MyDTI : MtDTI +{ +}; + +/* 3892 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_MEMBER_KICK_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucMemberIndex; + bool m_bIsReceived; +}; + +/* 3893 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_MEMBER_KICK_NTC::MyDTI : MtDTI +{ +}; + +/* 3894 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_MEMBER_LOST_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucMemberIndex; + bool m_bIsReceived; +}; + +/* 3895 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_MEMBER_LOST_NTC::MyDTI : MtDTI +{ +}; + +/* 3896 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_BREAKUP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3897 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_BREAKUP_RES::MyDTI : MtDTI +{ +}; + +/* 3898 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_BREAKUP_NTC : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 3899 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_BREAKUP_NTC::MyDTI : MtDTI +{ +}; + +/* 3900 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_CHANGE_LEADER_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 3901 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_CHANGE_LEADER_NTC::MyDTI : MtDTI +{ +}; + +/* 3902 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_CHANGE_HOST_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 3903 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_CHANGE_HOST_NTC::MyDTI : MtDTI +{ +}; + +/* 3904 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_ENTRY_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 3905 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_ENTRY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3906 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_ENTRY_CANCEL_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 3907 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_ENTRY_CANCEL_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3913 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3914 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3912 */ +struct __cppobj CDataContentsPlayStartData : CPacketDataBase +{ + u32 m_unKeyId; + u32 m_unQuestScheduleId; + u32 m_unQuestId; + u32 m_unBaseLevel; + u8 m_ucStartPos; + MtTypedArray m_QuestProcessStateList; + MtTypedArray m_QuestEnemyInfoList; + MtTypedArray m_QuestLayoutFlagSetInfoList; + MtTypedArray m_QuestPhaseGroupIdList; +}; + +/* 3911 */ +typedef CDataContentsPlayStartData CContentsPlayStartData; + +/* 3910 */ +struct __cppobj CDataTimeGainQuestPlayStartData : CPacketDataBase +{ + CContentsPlayStartData m_Common; +}; + +/* 3909 */ +typedef CDataTimeGainQuestPlayStartData CTimeGainQuestPlayStartData; + +/* 3908 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_TIME_GAIN_QUEST_PLAY_START_NOTICE : CPacketDataBase +{ + u16 m_usError; + CTimeGainQuestPlayStartData m_TimeGainQuestPlayStartData; + bool m_bIsReceived; +}; + +/* 3915 */ +struct __cppobj nUserSession::CPacket_S2C_TIME_GAIN_QUEST_PLAY_START_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3917 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3919 */ +struct __cppobj __attribute__((aligned(8))) CDataPartnerPawnData : CPacketDataBase +{ + u32 m_unPawnId; + u32 m_unLikability; + u8 m_ucPersonality; +}; + +/* 3918 */ +typedef CDataPartnerPawnData CPartnerPawnData; + +/* 3916 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MYPAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PawnList; + CPartnerPawnData m_PartnerInfo; + bool m_bIsReceived; +}; + +/* 3920 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MYPAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3922 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3921 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REGISTERED_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RegisterdPawnList; + bool m_bIsReceived; +}; + +/* 3923 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REGISTERED_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3925 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3924 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RENTED_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RentedPawnList; + bool m_bIsReceived; +}; + +/* 3926 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RENTED_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3927 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_PAWN_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterId; + u32 m_unPawnId; + CPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 3928 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_PAWN_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 3483 */ +struct __cppobj CDataAchievementIdentifier : CPacketDataBase +{ + u32 m_unUid; + u32 m_unIndex; +}; + +/* 3482 */ +typedef CDataAchievementIdentifier CAchievementIdentifier; + +/* 3481 */ +struct __cppobj CDataArisenProfile : CPacketDataBase +{ + u8 m_ucBackgroundID; + CAchievementIdentifier m_Title; + u16 m_usMotionID; + u32 m_unMotionFrameNo; +}; + +/* 3480 */ +typedef CDataArisenProfile CArisenProfile; + +/* 3931 */ +struct __cppobj __attribute__((aligned(8))) CDataPawnProfile : CPacketDataBase +{ + CCommunityCharacterBaseInfo m_OwnerBaseInfo; + CArisenProfile m_ProfileInfo; + MtString m_wstrComment; + u32 m_unRentalCost; +}; + +/* 3930 */ +typedef CDataPawnProfile CPawnProfile; + +/* 3929 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_PROFILE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + CPawnProfile m_PawnProfile; + bool m_bIsReceived; +}; + +/* 3932 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_PROFILE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3935 */ +struct __cppobj __attribute__((aligned(8))) CDataPartyMember : CPacketDataBase +{ + CCharacterListElement m_CharacterListElement; + u8 m_ucMemberType; + s32 m_nMemberIndex; + u32 m_unPawnId; + b8 m_bIsLeader; + b8 m_bIsPawn; + b8 m_bIsPlayEntry; + u8 m_ucJoinState; + u8 m_ucAnyValueList[8]; + u8 m_ucSessionStatus; +}; + +/* 3934 */ +typedef CDataPartyMember CPartyMember; + +/* 3933 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_JOIN_PARTY_PAWN_NOTICE : CPacketDataBase +{ + u16 m_usError; + CPartyMember m_PartyMember; + bool m_bIsReceived; +}; + +/* 3936 */ +struct __cppobj nUserSession::CPacket_S2C_JOIN_PARTY_PAWN_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3937 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_FAVORITE_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_FavoritePawnList; + MtTypedArray m_FavoriteRentedPawnList; + bool m_bIsReceived; +}; + +/* 3938 */ +struct __cppobj nUserSession::CPacket_S2C_GET_FAVORITE_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3939 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_OFFICIAL_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_OfficialPawnList; + bool m_bIsReceived; +}; + +/* 3940 */ +struct __cppobj nUserSession::CPacket_S2C_GET_OFFICIAL_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3941 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LEGEND_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_LegendPawnList; + bool m_bIsReceived; +}; + +/* 3942 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LEGEND_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3943 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_NORA_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_NoraPawnList; + bool m_bIsReceived; +}; + +/* 3944 */ +struct __cppobj nUserSession::CPacket_S2C_GET_NORA_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3945 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_LOST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtString m_wstrPawnName; + b8 m_bIsLost; + bool m_bIsReceived; +}; + +/* 3946 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_LOST_RES::MyDTI : MtDTI +{ +}; + +/* 3948 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3947 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LOST_PAWN_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PawnList; + bool m_bIsReceived; +}; + +/* 3949 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LOST_PAWN_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3950 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_PAWN_REACTION_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_PawnReactionList; + bool m_bIsReceived; +}; + +/* 3951 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_PAWN_REACTION_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3952 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_PAWN_REACTION_LIST_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + MtTypedArray m_PawnReactionList; + bool m_bIsReceived; +}; + +/* 3953 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_PAWN_REACTION_LIST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3523 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3954 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_HISTORY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PawnHistoryList; + bool m_bIsReceived; +}; + +/* 3955 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_HISTORY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3956 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_USE_BAG_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unItemID; + u32 m_unItemNum; + bool m_bIsReceived; +}; + +/* 3957 */ +struct __cppobj nUserSession::CPacket_S2C_USE_BAG_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3958 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_STORAGE_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 3959 */ +struct __cppobj nUserSession::CPacket_S2C_GET_STORAGE_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3960 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_QUEST_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 3961 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 3962 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_COMPLETE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u8 m_ucRandomRewardNum; + u8 m_ucChargeRewardNum; + u8 m_ucProgressBonusNum; + u8 m_ucIsRepeatReward; + u8 m_ucIsUndiscoverReward; + u8 m_ucIsHelpReward; + u8 m_ucIsPartyBonus; + bool m_bIsReceived; +}; + +/* 3963 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_COMPLETE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3967 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3966 */ +struct __cppobj CDataDeliveredItemRecord : CPacketDataBase +{ + u32 m_unCharacterId; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + MtTypedArray m_DeliveredItemList; +}; + +/* 3965 */ +typedef CDataDeliveredItemRecord CDeliveredItemRecord; + +/* 3964 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DELIVER_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + CDeliveredItemRecord m_DeliveredItemRecord; + bool m_bIsReceived; +}; + +/* 3968 */ +struct __cppobj nUserSession::CPacket_S2C_DELIVER_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3969 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_DECIDE_DELIVERY_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u32 m_unProcessNo; + bool m_bIsReceived; +}; + +/* 3970 */ +struct __cppobj nUserSession::CPacket_S2C_DECIDE_DELIVERY_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3971 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_QUEST_COMPLETE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u8 m_ucRandomRewardNum; + u8 m_ucChargeRewardNum; + u8 m_ucProgressBonusNum; + u8 m_ucIsRepeatReward; + u8 m_ucIsUndiscoverReward; + u8 m_ucIsHelpReward; + u8 m_ucIsPartyBonus; + bool m_bIsReceived; +}; + +/* 3972 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_QUEST_COMPLETE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3973 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_QUEST_PROGRESS_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unProgressCharacterId; + CPartyQuestProgressInfo m_PartyQuestProgressInfo; + bool m_bIsReceived; +}; + +/* 3974 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_QUEST_PROGRESS_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3534 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3975 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_STATE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CycleContentsStateList; + bool m_bIsReceived; +}; + +/* 3976 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_STATE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3536 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3977 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCycleContentsScheduleId; + MtTypedArray m_QuestContentsSituationInfoList; + bool m_bIsReceived; +}; + +/* 3978 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3979 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FORT_DEFENSE_WAR_SITUATION_LEVEL_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + MtTypedArray m_QuestContentsSituationInfoList; + bool m_bIsReceived; +}; + +/* 3980 */ +struct __cppobj nUserSession::CPacket_S2C_FORT_DEFENSE_WAR_SITUATION_LEVEL_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3985 */ +struct __cppobj CDataCycleContentsPlayStartData : CPacketDataBase +{ + u32 m_unCycleContentsScheduleId; + u32 m_unKeyId; + u32 m_unQuestScheduleId; + u32 m_unQuestId; + u32 m_unBaseLevel; + u8 m_ucStartPos; + MtTypedArray m_QuestProcessStateList; + MtTypedArray m_QuestEnemyInfoList; + MtTypedArray m_QuestLayoutFlagSetInfoList; +}; + +/* 3984 */ +typedef CDataCycleContentsPlayStartData CCycleContentsPlayStartData; + +/* 3983 */ +struct __cppobj __attribute__((aligned(8))) CDataFortDefensePlayStartData : CPacketDataBase +{ + CCycleContentsPlayStartData m_Common; + u32 m_unWarSituationLevel; +}; + +/* 3982 */ +typedef CDataFortDefensePlayStartData CFortDefensePlayStartData; + +/* 3981 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FORT_DEFENSE_PLAY_START_NOTICE : CPacketDataBase +{ + u16 m_usError; + CFortDefensePlayStartData m_FortDefensePlayStartData; + bool m_bIsReceived; +}; + +/* 3986 */ +struct __cppobj nUserSession::CPacket_S2C_FORT_DEFENSE_PLAY_START_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3990 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3992 */ +struct __cppobj __attribute__((aligned(8))) CDataRaidBossEnemyParam : CPacketDataBase +{ + u32 m_unRaidBossId; + u32 m_unRateHp; + u16 m_usRateHpPart; + u16 m_usRateShrinkDef; + u16 m_usRateShrinkDefPart; + u16 m_usRateBlowDef; + u16 m_usRateBlowDefPart; + u16 m_usRateOcdDef; + u16 m_usRateOcdAtk; + u16 m_usRateShakeDef; + u16 m_usRateDownDef; + u16 m_usRateStr; + u16 m_usRatePhyAtkBase; + u16 m_usRateMagAtkBase; + u16 m_usRatePhyDefBase; + u16 m_usRateMagDefBase; +}; + +/* 3991 */ +typedef CDataRaidBossEnemyParam CRaidBossEnemyParam; + +/* 3993 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3989 */ +struct __cppobj CDataRaidBossPlayStartData : CPacketDataBase +{ + CCycleContentsPlayStartData m_Common; + MtTypedArray m_ClearTimePointBonusList; + CRaidBossEnemyParam m_RaidBossEnemyParam; + MtTypedArray m_HasRegionBreakRewardList; +}; + +/* 3988 */ +typedef CDataRaidBossPlayStartData CRaidBossPlayStartData; + +/* 3987 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RAID_BOSS_PLAY_START_NOTICE : CPacketDataBase +{ + u16 m_usError; + CRaidBossPlayStartData m_RaidBossPlayStartData; + bool m_bIsReceived; +}; + +/* 3994 */ +struct __cppobj nUserSession::CPacket_S2C_RAID_BOSS_PLAY_START_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3995 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_QUEST_LAYOUT_FLAG_RES : CPacketDataBase +{ + u16 m_usError; + b8 m_bValue; + bool m_bIsReceived; +}; + +/* 3996 */ +struct __cppobj nUserSession::CPacket_S2C_GET_QUEST_LAYOUT_FLAG_RES::MyDTI : MtDTI +{ +}; + +/* 3997 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PING_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 3998 */ +struct __cppobj nUserSession::CPacket_S2C_PING_RES::MyDTI : MtDTI +{ +}; + +/* 3541 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3540 */ +typedef MtTypedArray StageInfoVec; + +/* 3999 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_STAGE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u8 m_ucResult; + StageInfoVec m_StageInfoList; + bool m_bIsReceived; +}; + +/* 4000 */ +struct __cppobj nUserSession::CPacket_S2C_GET_STAGE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4001 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_AREA_CHANGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageNo; + b8 m_bIsBase; + MtTypedArray m_StageFeatureList; + bool m_bIsReceived; +}; + +/* 4002 */ +struct __cppobj nUserSession::CPacket_S2C_AREA_CHANGE_RES::MyDTI : MtDTI +{ +}; + +/* 4003 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_GATHERING_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + u32 m_unPosId; + MtString m_wstrGatheringItemUID; + b8 m_bIsGatheringItemBreak; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 4004 */ +struct __cppobj nUserSession::CPacket_S2C_GET_GATHERING_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3544 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4005 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_GATHERING_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + u32 m_unPosId; + MtTypedArray m_GatheringItemGetRequestList; + bool m_bIsReceived; +}; + +/* 4006 */ +struct __cppobj nUserSession::CPacket_S2C_GET_GATHERING_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 4008 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4007 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_EQUIP_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_CharacterEquipList; + MtTypedArray m_EquipJobItemList; + MtTypedArray m_PawnEquipItemList; + bool m_bIsReceived; +}; + +/* 4009 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_EQUIP_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4010 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_EQUIP_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unPawnID; + MtTypedArray m_CharacterEquipList; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 4011 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_EQUIP_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4012 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_CharacterEquipList; + bool m_bIsReceived; +}; + +/* 4013 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_RES::MyDTI : MtDTI +{ +}; + +/* 4014 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_CHARACTER_STORAGE_EQUIP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_CharacterEquipList; + bool m_bIsReceived; +}; + +/* 4015 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CHARACTER_STORAGE_EQUIP_RES::MyDTI : MtDTI +{ +}; + +/* 4016 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unPawnID; + MtTypedArray m_CharacterEquipList; + bool m_bIsReceived; +}; + +/* 4017 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_RES::MyDTI : MtDTI +{ +}; + +/* 4018 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_STORAGE_EQUIP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unPawnID; + MtTypedArray m_CharacterEquipList; + bool m_bIsReceived; +}; + +/* 4019 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_STORAGE_EQUIP_RES::MyDTI : MtDTI +{ +}; + +/* 4020 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_JOB_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 4021 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_JOB_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 4022 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_JOB_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unPawnID; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 4023 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_JOB_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 4024 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_CRAFT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 4025 */ +struct __cppobj nUserSession::CPacket_S2C_START_CRAFT_RES::MyDTI : MtDTI +{ +}; + +/* 4026 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FINISH_CRAFT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 4027 */ +struct __cppobj nUserSession::CPacket_S2C_FINISH_CRAFT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4028 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CANCEL_CRAFT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 4029 */ +struct __cppobj nUserSession::CPacket_S2C_CANCEL_CRAFT_RES::MyDTI : MtDTI +{ +}; + +/* 4034 */ +struct __cppobj __attribute__((aligned(8))) CDataEquipSlot : CPacketDataBase +{ + u32 m_unCharacterId; + u32 m_unPawnId; + u8 m_ucEquipType; + u8 m_ucEquipSlotNo; +}; + +/* 4033 */ +typedef CDataEquipSlot CEquipSlot; + +/* 4032 */ +struct __cppobj CDataCurrentEquipInfo : CPacketDataBase +{ + MtString m_wstrItemUID; + CEquipSlot m_EquipSlot; +}; + +/* 4031 */ +typedef CDataCurrentEquipInfo CCurrentEquipInfo; + +/* 4030 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_START_EQUIP_GRADE_UP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrGradeUpItemUID; + u32 m_unGradeUpItemID; + MtTypedArray m_GradeUpItemIDList; + u32 m_unAddEquipPoint; + u32 m_unTotalEquipPoint; + u32 m_unEquipGrade; + u32 m_unGold; + b8 m_bIsGreatSuccess; + CCurrentEquipInfo m_CurrentEquip; + u32 m_unBeforeItemID; + bool m_bIsReceived; +}; + +/* 4035 */ +struct __cppobj nUserSession::CPacket_S2C_START_EQUIP_GRADE_UP_RES::MyDTI : MtDTI +{ +}; + +/* 4036 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CRAFT_EXP_UP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + u32 m_unAddExp; + u32 m_unExtraBonusExp; + u32 m_unTotalExp; + u32 m_unCraftRankLimit; + bool m_bIsReceived; +}; + +/* 4037 */ +struct __cppobj nUserSession::CPacket_S2C_CRAFT_EXP_UP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4038 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CRAFT_RANK_UP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + u32 m_unCraftRank; + u32 m_unAddCraftPoint; + u32 m_unTotalCraftPoint; + bool m_bIsReceived; +}; + +/* 4039 */ +struct __cppobj nUserSession::CPacket_S2C_CRAFT_RANK_UP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4041 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4040 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_IR_COLLECTION_VALUE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SkillRateList; + bool m_bIsReceived; +}; + +/* 4042 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_IR_COLLECTION_VALUE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 3550 */ +struct __cppobj CDataClanUserParam : CPacketDataBase +{ + MtString m_wstrName; + MtString m_wstrShortName; + u8 m_ucEmblemMarkType; + u8 m_ucEmblemBaseType; + u8 m_ucEmblemBaseMainColor; + u8 m_ucEmblemBaseSubColor; + u32 m_unMotto; + u32 m_unActiveDays; + u32 m_unActiveTime; + u32 m_unCharacteristic; + b8 m_bIsPublish; + MtString m_wstrComment; + MtString m_wstrBoardMessage; + s64 m_llCreated; +}; + +/* 3549 */ +typedef CDataClanUserParam CClanUserParam; + +/* 3554 */ +struct __cppobj CDataClanMemberInfo : CPacketDataBase +{ + u32 m_unRank; + s64 m_llCreated; + s64 m_llLastLoginTime; + s64 m_llLeaveTime; + u32 m_unPermission; + CCharacterListElement m_CharacterListElement; +}; + +/* 3553 */ +typedef CDataClanMemberInfo CClanMemberInfo; + +/* 3552 */ +struct __cppobj CDataClanServerParam : CPacketDataBase +{ + u32 m_unID; + u16 m_usLv; + u16 m_usMemberNum; + CClanMemberInfo m_MasterInfo; + b8 m_bIsSystemRestriction; + b8 m_bIsClanBaseRelease; + b8 m_bCanClanBaseRelease; + u32 m_unTotalClanPoint; + u32 m_unMoneyClanPoint; + u32 m_unNextClanPoint; +}; + +/* 3551 */ +typedef CDataClanServerParam CClanServerParam; + +/* 3548 */ +struct __cppobj CDataClanParam : CPacketDataBase +{ + CClanUserParam m_ClanUserParam; + CClanServerParam m_ClanServerParam; +}; + +/* 3547 */ +typedef CDataClanParam CClanParam; + +/* 4043 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CClanParam m_CreateParam; + bool m_bIsReceived; +}; + +/* 4044 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 4045 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_MY_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CClanParam m_CreateParam; + s64 m_llLeaveTime; + bool m_bIsReceived; +}; + +/* 4046 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_MY_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 3562 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3568 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4047 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_FRIEND_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_FriendInfoList; + MtTypedArray m_ApplyingCharacterList; + MtTypedArray m_ApprovingCharacterList; + bool m_bIsReceived; +}; + +/* 4048 */ +struct __cppobj nUserSession::CPacket_S2C_GET_FRIEND_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4049 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_STAY_INN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPointType; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 4050 */ +struct __cppobj nUserSession::CPacket_S2C_STAY_INN_RES::MyDTI : MtDTI +{ +}; + +/* 4051 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_STAY_PENALTY_HEAL_INN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPointType; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 4052 */ +struct __cppobj nUserSession::CPacket_S2C_STAY_PENALTY_HEAL_INN_RES::MyDTI : MtDTI +{ +}; + +/* 4054 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4053 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RANDOM_STAGE_GET_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageID; + MtTypedArray m_Infos; + bool m_bIsReceived; +}; + +/* 4055 */ +struct __cppobj nUserSession::CPacket_S2C_RANDOM_STAGE_GET_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 4056 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_RANDOM_STAGE_CLEAR_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageID; + bool m_bIsReceived; +}; + +/* 4057 */ +struct __cppobj nUserSession::CPacket_S2C_RANDOM_STAGE_CLEAR_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 4058 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_LEAVE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unLeaveType; + bool m_bIsReceived; +}; + +/* 4059 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_LEAVE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4062 */ +struct __cppobj CDataEntryMemberData : CPacketDataBase +{ + u16 m_usID; + b8 m_bIsReady; + CCharacterListElement m_CharacterListElement; +}; + +/* 4061 */ +typedef CDataEntryMemberData CEntryMemberData; + +/* 4060 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_CHANGE_MEMBER_NOTICE : CPacketDataBase +{ + u16 m_usError; + b8 m_bEntryFlag; + CEntryMemberData m_MemberData; + bool m_bIsReceived; +}; + +/* 4063 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_CHANGE_MEMBER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4064 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_READY_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unMaxMember; + u16 m_usTimeOut; + bool m_bIsReceived; +}; + +/* 4065 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_READY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4066 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_UNREADY_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4067 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_UNREADY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4068 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usTimeOut; + bool m_bIsReceived; +}; + +/* 4069 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_RES::MyDTI : MtDTI +{ +}; + +/* 4070 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_TIMEOUT_TIMER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u16 m_usTimeOut; + bool m_bIsReceived; +}; + +/* 4071 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_TIMEOUT_TIMER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3566 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4072 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MAIL_GET_LIST_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MailInfo; + bool m_bIsReceived; +}; + +/* 4073 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_GET_LIST_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 4074 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MAIL_DELETE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 4075 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_DELETE_RES::MyDTI : MtDTI +{ +}; + +/* 4078 */ +struct __cppobj CDataMailInfo : CPacketDataBase +{ + u64 m_ullId; + u8 m_ucState; + u8 m_ucItemState; + CCommunityCharacterBaseInfo m_BaseInfo; + MtString m_wstrSenderName; + MtString m_wstrMailText; + s64 m_llSenderDate; +}; + +/* 4077 */ +typedef CDataMailInfo CMailInfo; + +/* 4076 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MAIL_SEND_NTC : CPacketDataBase +{ + u16 m_usError; + CMailInfo m_MailInfo; + bool m_bIsReceived; +}; + +/* 4079 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_SEND_NTC::MyDTI : MtDTI +{ +}; + +/* 4080 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_LIST_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MailInfo; + bool m_bIsReceived; +}; + +/* 4081 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_LIST_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 4083 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4082 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullId; + MtTypedArray m_AttachmentList; + bool m_bIsReceived; +}; + +/* 4084 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 4085 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_ALL_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullId; + CMailAttachmentList m_AttachmentList; + bool m_bIsReceived; +}; + +/* 4086 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_ALL_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 4087 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_DELETE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 4088 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_DELETE_RES::MyDTI : MtDTI +{ +}; + +/* 4089 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_SEND_NTC : CPacketDataBase +{ + u16 m_usError; + CMailInfo m_MailInfo; + bool m_bIsReceived; +}; + +/* 4090 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_SEND_NTC::MyDTI : MtDTI +{ +}; + +/* 4091 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_GET_MEMBER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_GroupMemberList; + bool m_bIsReceived; +}; + +/* 4092 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_GET_MEMBER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4093 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_INVITE_CHARACTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 4094 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_INVITE_CHARACTER_RES::MyDTI : MtDTI +{ +}; + +/* 4095 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_LEAVE_CHARACTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 4096 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_LEAVE_CHARACTER_RES::MyDTI : MtDTI +{ +}; + +/* 4097 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_INVITE_CHARACTER_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullGroupID; + CCommunityCharacterBaseInfo m_InviterInfo; + CCharacterListElement m_VisitorInfo; + bool m_bIsReceived; +}; + +/* 4098 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_INVITE_CHARACTER_NTC::MyDTI : MtDTI +{ +}; + +/* 4099 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GROUP_CHAT_LEAVE_CHARACTER_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullGroupID; + u32 m_unLeaveCharacterID; + bool m_bIsReceived; +}; + +/* 4100 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_LEAVE_CHARACTER_NTC::MyDTI : MtDTI +{ +}; + +/* 4101 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_KICK_CHARACTER_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullGroupID; + u32 m_unKickerID; + u32 m_unKickedCharacterID; + bool m_bIsReceived; +}; + +/* 4102 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_KICK_CHARACTER_NTC::MyDTI : MtDTI +{ +}; + +/* 4103 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_BREAKUP_GROUP_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullGroupID; + bool m_bIsReceived; +}; + +/* 4104 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_BREAKUP_GROUP_NTC::MyDTI : MtDTI +{ +}; + +/* 4105 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SEND_TELL_MSG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CCommunityCharacterBaseInfo m_CharacterBaseInfo; + bool m_bIsReceived; +}; + +/* 4106 */ +struct __cppobj nUserSession::CPacket_S2C_SEND_TELL_MSG_RES::MyDTI : MtDTI +{ +}; + +/* 4107 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RECENT_CHARACTER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RecentCharacterList; + bool m_bIsReceived; +}; + +/* 4108 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RECENT_CHARACTER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4110 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4109 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_COMMUNITY_CHARACTER_STATUS_UPDATE_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_UpdateCharacterList; + MtTypedArray m_UpdateMatchinfProfileList; + bool m_bIsReceived; +}; + +/* 4111 */ +struct __cppobj nUserSession::CPacket_S2C_COMMUNITY_CHARACTER_STATUS_UPDATE_NTC::MyDTI : MtDTI +{ +}; + +/* 4112 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_BLACK_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_BlackList; + bool m_bIsReceived; +}; + +/* 4113 */ +struct __cppobj nUserSession::CPacket_S2C_GET_BLACK_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4114 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ADD_BLACK_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CCommunityCharacterBaseInfo m_CharacterBaseInfo; + bool m_bIsReceived; +}; + +/* 4115 */ +struct __cppobj nUserSession::CPacket_S2C_ADD_BLACK_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4116 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_REMOVE_BLACK_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRemoveCharacterID; + bool m_bIsReceived; +}; + +/* 4117 */ +struct __cppobj nUserSession::CPacket_S2C_REMOVE_BLACK_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4118 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_POST_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 4119 */ +struct __cppobj nUserSession::CPacket_S2C_GET_POST_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4121 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4120 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ITEM_SORTDATA_BIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SortData; + bool m_bIsReceived; +}; + +/* 4122 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ITEM_SORTDATA_BIN_RES::MyDTI : MtDTI +{ +}; + +/* 4123 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_ITEM_SORTDATA_BIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 4124 */ +struct __cppobj nUserSession::CPacket_S2C_SET_ITEM_SORTDATA_BIN_RES::MyDTI : MtDTI +{ +}; + +/* 4125 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RESET_JOBPOINT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 4126 */ +struct __cppobj nUserSession::CPacket_S2C_RESET_JOBPOINT_RES::MyDTI : MtDTI +{ +}; + +/* 4127 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_RESET_CRAFTPOINT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_CraftSkillList; + u32 m_unCraftPoint; + bool m_bIsReceived; +}; + +/* 4128 */ +struct __cppobj nUserSession::CPacket_S2C_RESET_CRAFTPOINT_RES::MyDTI : MtDTI +{ +}; + +/* 4129 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRemainSec; + b8 m_bIsMax; + bool m_bIsReceived; +}; + +/* 4130 */ +struct __cppobj nUserSession::CPacket_S2C_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_RES::MyDTI : MtDTI +{ +}; + +/* 4131 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PRESENT_FOR_PARTNER_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CPartnerPawnData m_PartnerInfo; + bool m_bIsReceived; +}; + +/* 4132 */ +struct __cppobj nUserSession::CPacket_S2C_PRESENT_FOR_PARTNER_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 4133 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTNER_PAWN_SET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CPartnerPawnData m_PartnerInfo; + bool m_bIsReceived; +}; + +/* 4134 */ +struct __cppobj nUserSession::CPacket_S2C_PARTNER_PAWN_SET_RES::MyDTI : MtDTI +{ +}; + +/* 4136 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4135 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_LIKABILITY_REWARD_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 4137 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_LIKABILITY_REWARD_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 4138 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ReleasedRewardList; + bool m_bIsReceived; +}; + +/* 4139 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 4926 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4927 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4925 */ +struct __cppobj __attribute__((aligned(4))) nLoginSession::CPacket_L2C_GP_COURSE_GET_INFO_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_CourseInfo; + MtTypedArray m_Effects; + u32 m_unVersion; + bool m_bIsReceived; +}; + +/* 4974 */ +struct __cppobj nLoginSession::CPacket_L2C_GP_COURSE_GET_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 6116 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 6117 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 6115 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_OPEN_UI_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unId; + u16 m_usType; + MtString m_wstrTitleJP; + MtString m_wstrTitleEN; + u32 m_unArgNum1; + MtTypedArray m_Commands; + MtTypedArray m_Elements; + bool m_bIsReceived; +}; + +/* 6118 */ +struct __cppobj nUserSession::CPacket_S2C_OPEN_UI_NTC::MyDTI : MtDTI +{ +}; + +/* 7560 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_GET_GAME_SERVER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_GameServerListInfo; + bool m_bIsReceived; +}; + +/* 7563 */ +struct __cppobj __attribute__((aligned(8))) CDataLoginSetting : CPacketDataBase +{ + u32 m_unJobLevelMax; + u32 m_unClanMemberMax; + u8 m_ucCharacterNumMax; + b8 m_bEnableVisualEquip; + u32 m_unFriendListMax; + MtTypedArray m_UrlInfoList; + u32 m_unNoOperationTimeOutTime; +}; + +/* 7562 */ +typedef CDataLoginSetting CLoginSetting; + +/* 7561 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_GET_LOGIN_SETTING_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CLoginSetting m_LoginSetting; + bool m_bIsReceived; +}; + +/* 7565 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 7564 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_GET_ERROR_MESSAGE_LIST_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_ErrorMessage; + bool m_bIsReceived; +}; + +/* 3466 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 7566 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_GET_CHARACTER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CharacterList; + bool m_bIsReceived; +}; + +/* 4140 */ +struct __cppobj __attribute__((aligned(8))) CDataGameServerListInfo : CPacketDataBase +{ + u16 m_usId; + MtString m_wstrName; + MtString m_wstrBrief; + MtString m_wstrTrafficName; + u32 m_unTrafficLevel; + u32 m_unMaxLoginNum; + u32 m_unLoginNum; + MtString m_wstrAddr; + u16 m_usPort; + b8 m_bIsHide; +}; + +/* 4763 */ +typedef CDataGameServerListInfo CGameServerListInfo; + +/* 7567 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_NEXT_CONNECT_SERVER_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CGameServerListInfo m_GameServer; + u8 m_ucCounter; + bool m_bIsReceived; +}; + +/* 7574 */ +struct __cppobj nLoginSession::CPacket_L2C_GET_GAME_SERVER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 7575 */ +struct __cppobj nLoginSession::CPacket_L2C_GET_LOGIN_SETTING_RES::MyDTI : MtDTI +{ +}; + +/* 7576 */ +struct __cppobj nLoginSession::CPacket_L2C_GET_ERROR_MESSAGE_LIST_NTC::MyDTI : MtDTI +{ +}; + +/* 7577 */ +struct __cppobj nLoginSession::CPacket_L2C_GET_CHARACTER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 7578 */ +struct __cppobj nLoginSession::CPacket_L2C_NEXT_CONNECT_SERVER_NTC::MyDTI : MtDTI +{ +}; + +/* 7579 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_PING_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 7580 */ +struct __cppobj nLoginSession::CPacket_L2C_PING_RES::MyDTI : MtDTI +{ +}; + +/* 8958 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 8967 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 10104 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FORT_DEFENSE_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_FortDefenseNoticeDataList; + MtTypedArray m_QuestContentsSituationInfoDetailList; + bool m_bIsReceived; +}; + +/* 10105 */ +struct __cppobj nUserSession::CPacket_S2C_FORT_DEFENSE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 8964 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 10122 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RAID_BOSS_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_RaidBossNoticeDataList; + MtTypedArray m_QuestContentsSituationInfoDetailList; + bool m_bIsReceived; +}; + +/* 10123 */ +struct __cppobj nUserSession::CPacket_S2C_RAID_BOSS_NOTICE::MyDTI : MtDTI +{ +}; + +/* 12838 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 12837 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_PHASE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unGroupId; + u32 m_unPhaseId; + MtTypedArray m_EventList; + bool m_bIsReceived; +}; + +/* 12839 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_PHASE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13472 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_PROGRESS_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unProgressCharacterId; + u32 m_unQuestScheduleId; + MtTypedArray m_QuestProcessStateList; + bool m_bIsReceived; +}; + +/* 13474 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_PROGRESS_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13475 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SET_QUEST_LIST_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unSelectCharacterId; + u32 m_unDistributeId; + MtTypedArray m_SetQuestList; + bool m_bIsReceived; +}; + +/* 13476 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_QUEST_LIST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13477 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_TIMER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u8 m_ucTimerNo; + bool m_bIsReceived; +}; + +/* 13478 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_TIMER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4201 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13479 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_PROGRESS_WORK_SAVE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + u16 m_usSequenceNo; + u16 m_usBlockNo; + MtTypedArray m_WorkList; + bool m_bIsReceived; +}; + +/* 13480 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_PROGRESS_WORK_SAVE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13483 */ +struct __cppobj __attribute__((aligned(8))) CDataCycleContentsPlayEnd : CPacketDataBase +{ + u32 m_unGold; + u32 m_unExp; + u32 m_unRim; + u32 m_unDorb; + u32 m_unJobPoint; + u32 m_unExtraExp; + u32 m_unExtraJobPoint; + MtTypedArray m_RewardItemList; + MtTypedArray m_RegionBreakRewardItemList; + CQuestPointDetail m_QuestPointDetail; + u32 m_unQuestPointGrandTotal; + u32 m_unQuestPointTotal; + u32 m_unExtraQuestPointTotal; + u16 m_usQuestPointChargeBonusRatio; + u16 m_usClearTimeBonusRatio; + u16 m_usPenaltyNum; + u8 m_ucPenaltyRatio; + u32 m_unQuestPointTechnical; + u32 m_unMaxQuestPointTechnical; + u32 m_unTimePoint; + b8 m_bHasRegionBreakReward; + b8 m_bIsUpdateTechnicalScore; + b8 m_bIsCreateRanking; +}; + +/* 13482 */ +typedef CDataCycleContentsPlayEnd CCycleContentsPlayEnd; + +/* 13481 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CYCLE_CONTENTS_PLAY_END_NOTICE : CPacketDataBase +{ + u16 m_usError; + CCycleContentsPlayEnd m_CycleContentsPlayEnd; + bool m_bIsReceived; +}; + +/* 13484 */ +struct __cppobj nUserSession::CPacket_S2C_CYCLE_CONTENTS_PLAY_END_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13485 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_START_TIMER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u64 m_ullPlayEndDateTime; + bool m_bIsReceived; +}; + +/* 13486 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_START_TIMER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13487 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_ADD_TIMER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u64 m_ullPlayEndDateTime; + bool m_bIsReceived; +}; + +/* 13488 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_ADD_TIMER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13489 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_TIMEUP_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 13490 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_TIMEUP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4258 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13493 */ +struct __cppobj CDataContentsPlayEnd : CPacketDataBase +{ + u32 m_unGold; + u32 m_unExp; + u32 m_unRim; + u32 m_unPlayTimeMillSec; + MtTypedArray m_RewardItemDetailList; +}; + +/* 13492 */ +typedef CDataContentsPlayEnd CContentsPlayEnd; + +/* 13491 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_END_NOTICE : CPacketDataBase +{ + u16 m_usError; + CContentsPlayEnd m_ContentsPlayEnd; + bool m_bIsReceived; +}; + +/* 13494 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_END_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13495 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LEADER_QUEST_PROGRESS_REQUEST_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unRequestCharacterId; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + u16 m_usSequenceNo; + u16 m_usBlockNo; + bool m_bIsReceived; +}; + +/* 13496 */ +struct __cppobj nUserSession::CPacket_S2C_LEADER_QUEST_PROGRESS_REQUEST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13497 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MAIN_QUEST_LIST_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_MainQuestList; + bool m_bIsReceived; +}; + +/* 13498 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MAIN_QUEST_LIST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13499 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_RESTART_TIMER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u64 m_ullPlayEndDateTime; + bool m_bIsReceived; +}; + +/* 13500 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_RESTART_TIMER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13501 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_STOP_TIMER_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 13502 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_STOP_TIMER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13503 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_WORLD_MANAGE_QUEST_LIST_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_WorldManageQuestList; + bool m_bIsReceived; +}; + +/* 13504 */ +struct __cppobj nUserSession::CPacket_S2C_GET_WORLD_MANAGE_QUEST_LIST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13505 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_QUEST_CANCEL_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u32 m_unQuestId; + bool m_bIsReceived; +}; + +/* 13506 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_CANCEL_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13507 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_QUEST_ORDER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u32 m_unQuestId; + bool m_bIsReceived; +}; + +/* 13508 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_ORDER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13509 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_ENABLE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + b8 m_bIsEnable; + bool m_bIsReceived; +}; + +/* 13510 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_ENABLE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13511 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CYCLE_CONTENTS_ENABLE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + b8 m_bIsEnable; + bool m_bIsReceived; +}; + +/* 13512 */ +struct __cppobj nUserSession::CPacket_S2C_CYCLE_CONTENTS_ENABLE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13444 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13514 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13409 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13515 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 12692 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13516 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13517 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4289 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13518 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13520 */ +struct __cppobj __attribute__((aligned(4))) CDataQuestDefine : CPacketDataBase +{ + u8 m_ucOrderMaxNum; + u8 m_ucChargeAddOrderNum; + u8 m_ucRewardBoxMaxNum; + u16 m_usCycleContentsPlaydataRemainDay; +}; + +/* 13519 */ +typedef CDataQuestDefine CQuestDefine; + +/* 13513 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_JOIN_LOBBY_QUEST_INFO_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_LightQuestOrderList; + MtTypedArray m_SetQuestOrderList; + MtTypedArray m_MainQuestOrderList; + MtTypedArray m_TutorialQuestOrderList; + MtTypedArray m_LotQuestOrderList; + MtTypedArray m_TimeLimitedQuestOrderList; + MtTypedArray m_WorldManageQuestOrderList; + MtTypedArray m_ExpiredQuestList; + MtTypedArray m_MainQuestIdList; + MtTypedArray m_TutorialQuestIdList; + MtTypedArray m_PriorityQuestList; + MtTypedArray m_AreaRankList; + CQuestDefine m_QuestDefine; + bool m_bIsReceived; +}; + +/* 13521 */ +struct __cppobj nUserSession::CPacket_S2C_JOIN_LOBBY_QUEST_INFO_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4607 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13522 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_OrderConditionInfoList; + bool m_bIsReceived; +}; + +/* 13523 */ +struct __cppobj nUserSession::CPacket_S2C_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13524 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SEND_LEADER_WAIT_ORDER_QUEST_LIST_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_QuestScheduleIdList; + bool m_bIsReceived; +}; + +/* 13525 */ +struct __cppobj nUserSession::CPacket_S2C_SEND_LEADER_WAIT_ORDER_QUEST_LIST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13526 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_QUEST_UNRELEASED_AREA_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_AreaIdList; + bool m_bIsReceived; +}; + +/* 13527 */ +struct __cppobj nUserSession::CPacket_S2C_SET_QUEST_UNRELEASED_AREA_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13528 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASE_SET_QUEST_AREA_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_AreaIdList; + bool m_bIsReceived; +}; + +/* 13529 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASE_SET_QUEST_AREA_NOTICE::MyDTI : MtDTI +{ +}; + +/* 13854 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 13853 */ +typedef MtTypedArray ActiveJobOrderVec; + +/* 13852 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_JOB_MASTER_ORDER_PROGRESS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJobID; + ActiveJobOrderVec m_ActiveJobOrderList; + bool m_bIsReceived; +}; + +/* 13855 */ +struct __cppobj nUserSession::CPacket_S2C_GET_JOB_MASTER_ORDER_PROGRESS_RES::MyDTI : MtDTI +{ +}; + +/* 15813 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOGIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + b8 m_bIsCogLogin; + MtString m_wstrOnetimeToken; + bool m_bIsReceived; +}; + +/* 15814 */ +struct __cppobj nUserSession::CPacket_S2C_LOGIN_RES::MyDTI : MtDTI +{ +}; + +/* 15815 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOGOUT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15816 */ +struct __cppobj nUserSession::CPacket_S2C_LOGOUT_RES::MyDTI : MtDTI +{ +}; + +/* 15817 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LOGIN_ANNOUNCEMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 15818 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LOGIN_ANNOUNCEMENT_RES::MyDTI : MtDTI +{ +}; + +/* 15819 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MOVE_IN_SERVER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15820 */ +struct __cppobj nUserSession::CPacket_S2C_MOVE_IN_SERVER_RES::MyDTI : MtDTI +{ +}; + +/* 15821 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MOVE_OUT_SERVER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrSessionKey; + bool m_bIsReceived; +}; + +/* 15822 */ +struct __cppobj nUserSession::CPacket_S2C_MOVE_OUT_SERVER_RES::MyDTI : MtDTI +{ +}; + +/* 15823 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CRITICAL_ERROR_NOTICE : CPacketDataBase +{ + u16 m_usError; + s32 m_nErrorNo; + bool m_bIsReceived; +}; + +/* 15824 */ +struct __cppobj nUserSession::CPacket_S2C_CRITICAL_ERROR_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3464 */ +struct __cppobj __attribute__((aligned(8))) CDataWorldInfo : CPacketDataBase +{ + u16 m_usId; + MtString m_wstrName; + MtString m_wstrBrief; + u8 m_ucDragonType; + u8 m_ucSetType; + u32 m_unTemp0; + u32 m_unTemp1; + u32 m_unTemp2; + u32 m_unTemp3; + MtString m_wstrTempStr0; + MtString m_wstrTempStr1; + MtString m_wstrTempStr2; + MtString m_wstrTempStr3; + u8 m_ucCycleContentsState; +}; + +/* 3463 */ +typedef CDataWorldInfo CWorldInfo; + +/* 15825 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_WORLD_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unWorldID; + CWorldInfo m_WorldInfo; + bool m_bIsReceived; +}; + +/* 15826 */ +struct __cppobj nUserSession::CPacket_S2C_GET_WORLD_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 15827 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REAL_TIME_RES : CPacketDataBase +{ + u16 m_usError; + u64 m_ullRealTime; + u16 m_usMilliseconds; + bool m_bIsReceived; +}; + +/* 15828 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REAL_TIME_RES::MyDTI : MtDTI +{ +}; + +/* 3472 */ +struct __cppobj CDataStatusInfo : CPacketDataBase +{ + u32 m_unHp; + u32 m_unStamina; + u8 m_ucRevivePoint; + u32 m_unMaxHp; + u32 m_unMaxStamina; + u32 m_unWhiteHp; + u32 m_unGainHp; + u32 m_unGainStamina; + u32 m_unGainAttack; + u32 m_unGainDefense; + u32 m_unGainMagicAttack; + u32 m_unGainMagicDefense; +}; + +/* 3471 */ +typedef CDataStatusInfo CStatusInfo; + +/* 3475 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3476 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3468 */ +struct __cppobj __attribute__((aligned(4))) CDataCharacterInfo : CPacketDataBase +{ + u32 m_unCharacterId; + u32 m_unUserId; + u32 m_unVersion; + MtString m_wstrFirstName; + MtString m_wstrLastName; + CEditInfo m_EditInfo; + CStatusInfo m_StatusInfo; + u8 m_ucJob; + MtTypedArray m_CharacterJobDataList; + MtTypedArray m_PlayPointList; + MtTypedArray m_CharacterEquipDataList; + MtTypedArray m_CharacterEquipViewDataList; + MtTypedArray m_CharacterEquipJobItemList; + u8 m_ucJewelrySlotNum; + MtTypedArray m_CharacterItemSlotInfoList; + MtTypedArray m_WalletPointList; + u8 m_ucMyPawnSlotNum; + u8 m_ucRentalPawnSlotNum; + MtTypedArray m_OrbStatusList; + MtTypedArray m_MsgSetList; + MtTypedArray m_ShortCutList; + MtTypedArray m_CommunicationShortCutList; + CMatchingProfile m_MatchingProfile; + CArisenProfile m_ArisenProfile; + b8 m_bHideEquipHead; + b8 m_bHideEquipLantern; + b8 m_bHideEquipHeadPawn; + b8 m_bHideEquipLanternPawn; + u8 m_ucArisenProfileShareRange; + u8 m_ucOnlineStatus; +}; + +/* 3467 */ +typedef CDataCharacterInfo CCharacterInfo; + +/* 15829 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DECIDE_CHARACTER_ID_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + CCharacterInfo m_CharacterInfo; + b8 m_bIsReturnPrepare; + u8 m_ucBin[1024]; + bool m_bIsReceived; +}; + +/* 15830 */ +struct __cppobj nUserSession::CPacket_S2C_DECIDE_CHARACTER_ID_RES::MyDTI : MtDTI +{ +}; + +/* 15831 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_USER_LIST_JOIN_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_LobbyMemberInfoList; + bool m_bIsReceived; +}; + +/* 15832 */ +struct __cppobj nUserSession::CPacket_S2C_USER_LIST_JOIN_NTC::MyDTI : MtDTI +{ +}; + +/* 15833 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOBBY_CHAT_MSG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15834 */ +struct __cppobj nUserSession::CPacket_S2C_LOBBY_CHAT_MSG_RES::MyDTI : MtDTI +{ +}; + +/* 15835 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOBBY_CHAT_MSG_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucType; + u32 m_unHandleId; + CCommunityCharacterBaseInfo m_CharacterBaseInfo; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 15836 */ +struct __cppobj nUserSession::CPacket_S2C_LOBBY_CHAT_MSG_NOTICE::MyDTI : MtDTI +{ +}; + +/* 413 */ +struct __cppobj MtStream : MtObject +{ +}; + +/* 2616 */ +struct __cppobj MtMemoryStream : MtStream +{ + u8 *mBuffer; + u32 mSeekPt; + u32 mLength; + u32 mMode; + unsigned __int32 mBufferOverflow : 1; + MtAllocator *mpAllocator; +}; + +/* 15837 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LOBBY_DATA_MSG_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucType; + u32 m_unCharacterID; + MtMemoryStream m_Data; + u8 m_ucOnlineStatus; + bool m_bIsReceived; +}; + +/* 74 */ +typedef unsigned __int64 _Sizet; + +/* 73 */ +typedef _Sizet size_t; + +/* 127 */ +typedef __uint64_t __uintptr_t; + +/* 194 */ +typedef __uintptr_t uintptr; + +/* 67 */ +struct pthread_mutex; + +/* 318 */ +typedef struct pthread_mutex *pthread_mutex_t; + +/* 317 */ +typedef pthread_mutex_t ScePthreadMutex; + +/* 316 */ +struct MtCriticalSection +{ + ScePthreadMutex mCSection; +}; + +/* 1164 */ +struct __cppobj __attribute__((aligned(8))) MtAllocator : MtObject +{ + size_t mUsedSize; + size_t mMaxUsedSize; + size_t mTotalSize; + MT_CHAR mNameStr[32]; + MT_CTSTR mName; + u16 mType; + u16 mAttr; + uintptr mOwner; + MtCriticalSection mCS; + u32 mAllocatorIndex; +}; + +/* 15838 */ +struct __cppobj nUserSession::CPacket_S2C_LOBBY_DATA_MSG_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15839 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_USER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_LobbyMemberInfoList; + bool m_bIsReceived; +}; + +/* 15840 */ +struct __cppobj nUserSession::CPacket_S2C_GET_USER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 15841 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_USER_LIST_MAX_NUM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unMaxNum; + bool m_bIsReceived; +}; + +/* 15842 */ +struct __cppobj nUserSession::CPacket_S2C_USER_LIST_MAX_NUM_RES::MyDTI : MtDTI +{ +}; + +/* 15843 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RESERVE_SERVER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usGameServerUniqueID; + MtTypedArray m_ReserveInfoList; + bool m_bIsReceived; +}; + +/* 15844 */ +struct __cppobj nUserSession::CPacket_S2C_RESERVE_SERVER_RES::MyDTI : MtDTI +{ +}; + +/* 15845 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_MEMBER_SET_VALUE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15846 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_MEMBER_SET_VALUE_RES::MyDTI : MtDTI +{ +}; + +/* 15847 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_MEMBER_SET_VALUE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u8 m_ucIndex; + u8 m_ucValue; + bool m_bIsReceived; +}; + +/* 15848 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_MEMBER_SET_VALUE_NTC::MyDTI : MtDTI +{ +}; + +/* 15849 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15850 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 15851 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_REFUSE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15852 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_REFUSE_RES::MyDTI : MtDTI +{ +}; + +/* 15853 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_PREPARE_ACCEPT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15854 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_PREPARE_ACCEPT_RES::MyDTI : MtDTI +{ +}; + +/* 15855 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_PREPARE_ACCEPT_NTC : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 15856 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_PREPARE_ACCEPT_NTC::MyDTI : MtDTI +{ +}; + +/* 15857 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15858 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_RES::MyDTI : MtDTI +{ +}; + +/* 15859 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15860 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_ENTRY_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 15861 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_ACCEPT_NTC : CPacketDataBase +{ + u16 m_usError; + u16 m_usServerId; + u32 m_unPartyId; + u32 m_unStageId; + u32 m_unPositionId; + u8 m_ucMemberIndex; + bool m_bIsReceived; +}; + +/* 15862 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_ACCEPT_NTC::MyDTI : MtDTI +{ +}; + +/* 15863 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_PARTY_JOIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucMemberIndex; + u64 m_ullContentNumber; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 15864 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_JOIN_RES::MyDTI : MtDTI +{ +}; + +/* 15865 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_GET_CONTENT_NUMBER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPartyId; + u64 m_ullContentNumber; + bool m_bIsReceived; +}; + +/* 15866 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_GET_CONTENT_NUMBER_RES::MyDTI : MtDTI +{ +}; + +/* 15867 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_MEMBER_KICK_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15868 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_MEMBER_KICK_RES::MyDTI : MtDTI +{ +}; + +/* 15869 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_CHANGE_LEADER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15870 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_CHANGE_LEADER_RES::MyDTI : MtDTI +{ +}; + +/* 15871 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_ENTRY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15872 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_ENTRY_RES::MyDTI : MtDTI +{ +}; + +/* 15873 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_ENTRY_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15874 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_ENTRY_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 15875 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_START_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15876 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_START_RES::MyDTI : MtDTI +{ +}; + +/* 15877 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_END_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + bool m_bIsReceived; +}; + +/* 15878 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_END_RES::MyDTI : MtDTI +{ +}; + +/* 15879 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RECV_BINARY_MSG_ALL_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtMemoryStream m_Data; + u8 m_ucOnlineStatus; + bool m_bIsReceived; +}; + +/* 15880 */ +struct __cppobj nUserSession::CPacket_S2C_RECV_BINARY_MSG_ALL_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15881 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RECV_BINARY_MSG_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtMemoryStream m_Data; + u8 m_ucOnlineStatus; + bool m_bIsReceived; +}; + +/* 15882 */ +struct __cppobj nUserSession::CPacket_S2C_RECV_BINARY_MSG_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15883 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15884 */ +struct __cppobj nUserSession::CPacket_S2C_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 15885 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SEND_LEADER_WAIT_ORDER_QUEST_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15886 */ +struct __cppobj nUserSession::CPacket_S2C_SEND_LEADER_WAIT_ORDER_QUEST_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 15887 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usTimeoutSec; + bool m_bIsReceived; +}; + +/* 15888 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_RES::MyDTI : MtDTI +{ +}; + +/* 15889 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_QUEST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 15890 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_QUEST_RES::MyDTI : MtDTI +{ +}; + +/* 15891 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_ENTRY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15892 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_ENTRY_RES::MyDTI : MtDTI +{ +}; + +/* 15893 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 15894 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_NTC::MyDTI : MtDTI +{ +}; + +/* 15895 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_QUEST_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 15896 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_REGISTER_QUEST_NTC::MyDTI : MtDTI +{ +}; + +/* 15897 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_CANCEL_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15898 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_CANCEL_NTC::MyDTI : MtDTI +{ +}; + +/* 15899 */ +struct __cppobj __attribute__((aligned(2))) nUserSession::CPacket_S2C_QUICK_PARTY_READY_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unMaxMember; + u32 m_unPawnNum; + u16 m_usTimeoutSec; + bool m_bIsReceived; +}; + +/* 15900 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_READY_NTC::MyDTI : MtDTI +{ +}; + +/* 15901 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_ENTRY_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 15902 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_ENTRY_NTC::MyDTI : MtDTI +{ +}; + +/* 15903 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUICK_PARTY_UNREADY_NTC : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 15904 */ +struct __cppobj nUserSession::CPacket_S2C_QUICK_PARTY_UNREADY_NTC::MyDTI : MtDTI +{ +}; + +/* 15905 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CREATE_MYPAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15906 */ +struct __cppobj nUserSession::CPacket_S2C_CREATE_MYPAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15907 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DELETE_MYPAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15908 */ +struct __cppobj nUserSession::CPacket_S2C_DELETE_MYPAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15909 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RegisterdPawnList; + bool m_bIsReceived; +}; + +/* 15910 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_RES::MyDTI : MtDTI +{ +}; + +/* 15913 */ +struct __cppobj CDataNoraPawnInfo : CPacketDataBase +{ + u32 m_unVersion; + MtString m_wstrName; + CEditInfo m_EditInfo; + u8 m_ucJob; + MtTypedArray m_CharacterEquipDataList; +}; + +/* 15912 */ +typedef CDataNoraPawnInfo CNoraPawnInfo; + +/* 15911 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_NORA_PAWN_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CNoraPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 15914 */ +struct __cppobj nUserSession::CPacket_S2C_GET_NORA_PAWN_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 15915 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_RENT_REGISTERED_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unTotalRim; + bool m_bIsReceived; +}; + +/* 15916 */ +struct __cppobj nUserSession::CPacket_S2C_RENT_REGISTERED_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15917 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RETURN_RENTED_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15918 */ +struct __cppobj nUserSession::CPacket_S2C_RETURN_RENTED_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15919 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_HISTORY_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + MtTypedArray m_PawnHistoryList; + bool m_bIsReceived; +}; + +/* 15920 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_HISTORY_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 15921 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_TOTAL_SCORE_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + CPawnTotalScore m_TotalScore; + bool m_bIsReceived; +}; + +/* 15922 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_TOTAL_SCORE_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 5542 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 15923 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_ORB_DEVOTE_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + MtTypedArray m_OrbStatusList; + MtTypedArray m_JobOrbStatusList; + bool m_bIsReceived; +}; + +/* 15924 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_ORB_DEVOTE_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 15925 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_FAVORITE_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15926 */ +struct __cppobj nUserSession::CPacket_S2C_SET_FAVORITE_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15927 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DELETE_FAVORITE_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15928 */ +struct __cppobj nUserSession::CPacket_S2C_DELETE_FAVORITE_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15929 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_JOIN_PARTY_MYPAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15930 */ +struct __cppobj nUserSession::CPacket_S2C_JOIN_PARTY_MYPAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15931 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_JOIN_PARTY_RENTED_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15932 */ +struct __cppobj nUserSession::CPacket_S2C_JOIN_PARTY_RENTED_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 15933 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_LOST_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + MtString m_wstrPawnName; + b8 m_bIsLost; + bool m_bIsReceived; +}; + +/* 15934 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_LOST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15935 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LOST_PAWN_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 15936 */ +struct __cppobj nUserSession::CPacket_S2C_LOST_PAWN_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 15937 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LOST_PAWN_POINT_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnId; + u8 m_ucRevivePoint; + bool m_bIsReceived; +}; + +/* 15938 */ +struct __cppobj nUserSession::CPacket_S2C_LOST_PAWN_POINT_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 15939 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LOST_PAWN_GOLDEN_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnId; + u8 m_ucGP; + bool m_bIsReceived; +}; + +/* 15940 */ +struct __cppobj nUserSession::CPacket_S2C_LOST_PAWN_GOLDEN_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 15941 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_LOST_PAWN_WALLET_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnId; + u8 m_ucType; + u32 m_unValue; + bool m_bIsReceived; +}; + +/* 15942 */ +struct __cppobj nUserSession::CPacket_S2C_LOST_PAWN_WALLET_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 15943 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RENTAL_PAWN_LOST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtString m_wstrPawnName; + u8 m_ucAdventureCount; + bool m_bIsReceived; +}; + +/* 15944 */ +struct __cppobj nUserSession::CPacket_S2C_RENTAL_PAWN_LOST_RES::MyDTI : MtDTI +{ +}; + +/* 15945 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RENTAL_PAWN_LOST_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + MtString m_wstrPawnName; + u8 m_ucAdventureCount; + bool m_bIsReceived; +}; + +/* 15946 */ +struct __cppobj nUserSession::CPacket_S2C_RENTAL_PAWN_LOST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15947 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_UPDATE_PAWN_SHARE_RANGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucShareRange; + bool m_bIsReceived; +}; + +/* 15948 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_PAWN_SHARE_RANGE_RES::MyDTI : MtDTI +{ +}; + +/* 15949 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_BIN_SAVEDATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucBin[1024]; + bool m_bIsReceived; +}; + +/* 15950 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_BIN_SAVEDATA_RES::MyDTI : MtDTI +{ +}; + +/* 15951 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_CHARACTER_BIN_SAVEDATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15952 */ +struct __cppobj nUserSession::CPacket_S2C_SET_CHARACTER_BIN_SAVEDATA_RES::MyDTI : MtDTI +{ +}; + +/* 15953 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_USE_BAG_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15954 */ +struct __cppobj nUserSession::CPacket_S2C_USE_BAG_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 15955 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_USE_JOB_ITEMS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15956 */ +struct __cppobj nUserSession::CPacket_S2C_USE_JOB_ITEMS_RES::MyDTI : MtDTI +{ +}; + +/* 15957 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CONSUME_STORAGE_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15958 */ +struct __cppobj nUserSession::CPacket_S2C_CONSUME_STORAGE_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 15959 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MOVE_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 15960 */ +struct __cppobj nUserSession::CPacket_S2C_MOVE_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 15964 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 15963 */ +struct __cppobj CDataWallet : CPacketDataBase +{ + MtTypedArray m_UpdateWalletPointList; +}; + +/* 15962 */ +typedef CDataWallet CWallet; + +/* 15961 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_CHARACTER_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u16 m_usUpdateType; + MtTypedArray m_UpdateItemList; + CWallet m_UpdateWallet; + bool m_bIsReceived; +}; + +/* 15965 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_CHARACTER_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4555 */ +struct __cppobj CDataWalletPoint : CPacketDataBase +{ + u8 m_ucType; + u32 m_unValue; +}; + +/* 15969 */ +typedef CDataWalletPoint CWalletPoint; + +/* 15968 */ +struct __cppobj CDataUpdateWalletPoint : CPacketDataBase +{ + CWalletPoint m_PointParam; + s32 m_nAddPoint; + u32 m_unExtraBonusPoint; +}; + +/* 15967 */ +typedef CDataUpdateWalletPoint CUpdateWalletPoint; + +/* 15966 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_ADD_WALLET_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + CUpdateWalletPoint m_UpdateWallet; + bool m_bIsReceived; +}; + +/* 15970 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_ADD_WALLET_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15971 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_SUB_WALLET_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + CUpdateWalletPoint m_UpdateWallet; + bool m_bIsReceived; +}; + +/* 15972 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_SUB_WALLET_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15974 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 15973 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_CONTENTS_RELEASE_ELEMENT_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_CharacterReleaseElementList; + bool m_bIsReceived; +}; + +/* 15975 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_CONTENTS_RELEASE_ELEMENT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15976 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_MASTER_DATA_RELOAD_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 15977 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_MASTER_DATA_RELOAD_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15978 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MAIN_QUEST_LIST_END_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 15979 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MAIN_QUEST_LIST_END_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15982 */ +struct __cppobj __attribute__((aligned(8))) CDataMainQuestCompleteInfo : CPacketDataBase +{ + MtTypedArray m_QuestIdList; + u32 m_unTotalNum; +}; + +/* 15981 */ +typedef CDataMainQuestCompleteInfo CMainQuestCompleteInfo; + +/* 15980 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MAIN_QUEST_COMPLETE_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CMainQuestCompleteInfo m_MainQuestCompleteInfo; + bool m_bIsReceived; +}; + +/* 15983 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MAIN_QUEST_COMPLETE_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 15984 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LEADER_QUEST_PROGRESS_REQUEST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucQuestProgressResult; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + bool m_bIsReceived; +}; + +/* 15985 */ +struct __cppobj nUserSession::CPacket_S2C_LEADER_QUEST_PROGRESS_REQUEST_RES::MyDTI : MtDTI +{ +}; + +/* 15986 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHECK_QUEST_DISTRIBUTION_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + b8 m_bIsDistribution; + bool m_bIsReceived; +}; + +/* 15987 */ +struct __cppobj nUserSession::CPacket_S2C_CHECK_QUEST_DISTRIBUTION_RES::MyDTI : MtDTI +{ +}; + +/* 15988 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_QUEST_COMPLETE_FLAG_CLEAR_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 15989 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_COMPLETE_FLAG_CLEAR_RES::MyDTI : MtDTI +{ +}; + +/* 15992 */ +struct __cppobj CDataQuestListDetail : CPacketDataBase +{ + u32 m_unAreaId; + u32 m_unDetailMsgId; + u32 m_unBaseAreaPoint; + u32 m_unBaseExp; + u32 m_unBaseGold; + u32 m_unBaseRim; + u16 m_usExpRatio; + u16 m_usGoldRatio; + u16 m_usRimRatio; + u16 m_usLeaderCompleteNum; + u16 m_usRepeatRewardType; + u8 m_ucRepeatRewardValue; + u8 m_ucRepeatRewardCompleteNum; + MtTypedArray m_FixedRewardSelectItemList; + MtTypedArray m_FixedRewardItemList; +}; + +/* 15991 */ +typedef CDataQuestListDetail CQuestListDetail; + +/* 15990 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_QUEST_DETAIL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CQuestListDetail m_QuestListDetail; + bool m_bIsReceived; +}; + +/* 15993 */ +struct __cppobj nUserSession::CPacket_S2C_GET_QUEST_DETAIL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4288 */ +struct __cppobj CDataPriorityQuestSetting : CPacketDataBase +{ + u32 m_unCharacterId; + MtTypedArray m_PriorityQuestList; +}; + +/* 9278 */ +typedef CDataPriorityQuestSetting CPriorityQuestSetting; + +/* 15994 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PRIORITY_QUEST_NOTICE : CPacketDataBase +{ + u16 m_usError; + CPriorityQuestSetting m_PriorityQuestSetting; + bool m_bIsReceived; +}; + +/* 15995 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PRIORITY_QUEST_NOTICE::MyDTI : MtDTI +{ +}; + +/* 15996 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REWARD_BOX_LIST_NUM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucListNum; + bool m_bIsReceived; +}; + +/* 15997 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REWARD_BOX_LIST_NUM_RES::MyDTI : MtDTI +{ +}; + +/* 15998 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REWARD_BOX_LIST_NUM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucListNum; + bool m_bIsReceived; +}; + +/* 15999 */ +struct __cppobj nUserSession::CPacket_S2C_REWARD_BOX_LIST_NUM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16000 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucListNum; + bool m_bIsReceived; +}; + +/* 16001 */ +struct __cppobj nUserSession::CPacket_S2C_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_RES::MyDTI : MtDTI +{ +}; + +/* 16002 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucListNum; + bool m_bIsReceived; +}; + +/* 16003 */ +struct __cppobj nUserSession::CPacket_S2C_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16004 */ +struct __cppobj __attribute__((aligned(2))) nUserSession::CPacket_S2C_DELIVER_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + bool m_bIsReceived; +}; + +/* 16005 */ +struct __cppobj nUserSession::CPacket_S2C_DELIVER_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 16006 */ +struct __cppobj __attribute__((aligned(2))) nUserSession::CPacket_S2C_DECIDE_DELIVERY_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + bool m_bIsReceived; +}; + +/* 16007 */ +struct __cppobj nUserSession::CPacket_S2C_DECIDE_DELIVERY_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 16008 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CYCLE_CONTENTS_PLAY_START_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16009 */ +struct __cppobj nUserSession::CPacket_S2C_CYCLE_CONTENTS_PLAY_START_RES::MyDTI : MtDTI +{ +}; + +/* 16010 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CYCLE_CONTENTS_END_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + u8 m_ucCategory; + bool m_bIsReceived; +}; + +/* 16011 */ +struct __cppobj nUserSession::CPacket_S2C_CYCLE_CONTENTS_END_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16012 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_START_TIMER_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + bool m_bIsReceived; +}; + +/* 16013 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_START_TIMER_RES::MyDTI : MtDTI +{ +}; + +/* 16014 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_INTERRUPT_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u8 m_ucDeadlineSec; + bool m_bIsReceived; +}; + +/* 16015 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_INTERRUPT_RES::MyDTI : MtDTI +{ +}; + +/* 16016 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_INTERRUPT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u8 m_ucDeadlineSec; + bool m_bIsReceived; +}; + +/* 16017 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_INTERRUPT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16018 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_INTERRUPT_ANSWER_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + bool m_bIsReceived; +}; + +/* 16019 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_INTERRUPT_ANSWER_RES::MyDTI : MtDTI +{ +}; + +/* 16020 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_INTERRUPT_RESULT_NOTICE : CPacketDataBase +{ + u16 m_usError; + b8 m_bIsInterrupt; + bool m_bIsReceived; +}; + +/* 16021 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_INTERRUPT_RESULT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16022 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PLAY_FORCE_INTERRUPT_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16023 */ +struct __cppobj nUserSession::CPacket_S2C_PLAY_FORCE_INTERRUPT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16024 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CYCLE_CONTENTS_PLAY_END_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + bool m_bIsReceived; +}; + +/* 16025 */ +struct __cppobj nUserSession::CPacket_S2C_CYCLE_CONTENTS_PLAY_END_RES::MyDTI : MtDTI +{ +}; + +/* 16026 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENEMY_BREAK_REGION_NTC : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unSetId; + u32 m_unRegionNo; + bool m_bIsReceived; +}; + +/* 16027 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_BREAK_REGION_NTC::MyDTI : MtDTI +{ +}; + +/* 4617 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4616 */ +typedef MtTypedArray RaidBossRegionInfoVec; + +/* 4615 */ +struct __cppobj CDataRaidBossUnitInfo : CPacketDataBase +{ + u32 m_unRaidBossID; + RaidBossRegionInfoVec m_RegionInfoList; +}; + +/* 4614 */ +typedef CDataRaidBossUnitInfo CRaidBossUnitInfo; + +/* 16028 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RAID_BOSS_INFO_NOTICE : CPacketDataBase +{ + u16 m_usError; + CRaidBossUnitInfo m_RaidBossInfo; + bool m_bIsReceived; +}; + +/* 16029 */ +struct __cppobj nUserSession::CPacket_S2C_RAID_BOSS_INFO_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16030 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_SET_RAID_BOSS_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRaidBossID; + bool m_bIsReceived; +}; + +/* 16031 */ +struct __cppobj nUserSession::CPacket_S2C_SET_RAID_BOSS_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 5468 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 5585 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16033 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16032 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ENEMY_SET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + u8 m_ucSubGroupId; + u32 m_unRandomSeed; + u32 m_unQuestId; + MtTypedArray m_EnemyList; + MtTypedArray m_DropItemSetList; + MtTypedArray m_NamedparamList; + bool m_bIsReceived; +}; + +/* 16034 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ENEMY_SET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16035 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENEMY_KILL_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unEnemyID; + u32 m_unKillNum; + bool m_bIsReceived; +}; + +/* 16036 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_KILL_RES::MyDTI : MtDTI +{ +}; + +/* 16037 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_ENEMY_DIE_NTC : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unSetId; + bool m_bIsReceived; +}; + +/* 16038 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_DIE_NTC::MyDTI : MtDTI +{ +}; + +/* 16039 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENEMY_GROUP_DESTROY_NTC : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + b8 m_bIsAreaBoss; + bool m_bIsReceived; +}; + +/* 16040 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_GROUP_DESTROY_NTC::MyDTI : MtDTI +{ +}; + +/* 16041 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENEMY_GROUP_RESET_NOTICE : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + bool m_bIsReceived; +}; + +/* 16042 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_GROUP_RESET_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16043 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENEMY_SUB_GROUP_APPEAR_NOTICE : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u8 m_ucSubGroupId; + bool m_bIsReceived; +}; + +/* 16044 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_SUB_GROUP_APPEAR_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16045 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GATHERING_ENEMY_APPEAR_NOTICE : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_GatheringLayoutId; + u32 m_unGatheringPosId; + CStageLayoutID m_EnemyLayoutId; + u32 m_unEnemyPosId; + bool m_bIsReceived; +}; + +/* 16046 */ +struct __cppobj nUserSession::CPacket_S2C_GATHERING_ENEMY_APPEAR_NOTICE::MyDTI : MtDTI +{ +}; + +/* 5472 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16047 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ITEM_SET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + MtTypedArray m_SetList; + bool m_bIsReceived; +}; + +/* 16048 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ITEM_SET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16049 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENEMY_STAGE_BOSS_ANNIHILATE_NTC : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + bool m_bIsReceived; +}; + +/* 16050 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_STAGE_BOSS_ANNIHILATE_NTC::MyDTI : MtDTI +{ +}; + +/* 16051 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_INSTANT_KEY_VALUE_UL_RES : CPacketDataBase +{ + u16 m_usError; + u8 m_ucResult; + bool m_bIsReceived; +}; + +/* 16052 */ +struct __cppobj nUserSession::CPacket_S2C_SET_INSTANT_KEY_VALUE_UL_RES::MyDTI : MtDTI +{ +}; + +/* 16053 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_INSTANT_KEY_VALUE_UL_RES : CPacketDataBase +{ + u16 m_usError; + u8 m_ucResult; + u32 m_unValue; + bool m_bIsReceived; +}; + +/* 16054 */ +struct __cppobj nUserSession::CPacket_S2C_GET_INSTANT_KEY_VALUE_UL_RES::MyDTI : MtDTI +{ +}; + +/* 16055 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_INSTANT_KEY_VALUE_STR_RES : CPacketDataBase +{ + u16 m_usError; + u8 m_ucResult; + bool m_bIsReceived; +}; + +/* 16056 */ +struct __cppobj nUserSession::CPacket_S2C_SET_INSTANT_KEY_VALUE_STR_RES::MyDTI : MtDTI +{ +}; + +/* 16057 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_INSTANT_KEY_VALUE_STR_RES : CPacketDataBase +{ + u16 m_usError; + u8 m_ucResult; + MtString m_wstrValue; + bool m_bIsReceived; +}; + +/* 16058 */ +struct __cppobj nUserSession::CPacket_S2C_GET_INSTANT_KEY_VALUE_STR_RES::MyDTI : MtDTI +{ +}; + +/* 16059 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_INSTANCE_AREA_RESET_NTC : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16060 */ +struct __cppobj nUserSession::CPacket_S2C_INSTANCE_AREA_RESET_NTC::MyDTI : MtDTI +{ +}; + +/* 16061 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_DROP_ITEM_SET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + MtTypedArray m_SetList; + bool m_bIsReceived; +}; + +/* 16062 */ +struct __cppobj nUserSession::CPacket_S2C_GET_DROP_ITEM_SET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16063 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_DROP_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CStageLayoutID m_LayoutId; + u32 m_unId; + MtTypedArray m_GatheringItemGetRequestList; + bool m_bIsReceived; +}; + +/* 16064 */ +struct __cppobj nUserSession::CPacket_S2C_GET_DROP_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 272 */ +typedef double f64; + +/* 139 */ +typedef float f32; + +/* 16065 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_POP_DROP_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unId; + u8 m_ucMdlType; + f64 m_dPosX; + f32 m_fPosY; + f64 m_dPosZ; + bool m_bIsReceived; +}; + +/* 16066 */ +struct __cppobj nUserSession::CPacket_S2C_POP_DROP_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 2662 */ +struct __cppobj __attribute__((aligned(4))) CDataStageLayoutEnemyPresetEnemyInfoClient : CPacketDataBase +{ + u32 m_unEnemyID; + u32 m_unNamedEnemyParamsId; + u32 m_unRaidBossID; + u16 m_usScale; + u16 m_usLv; + u16 m_usHmPresetNo; + u8 m_ucStartThinkTblNo; + u8 m_ucRepopNum; + u8 m_ucRepopCount; + u8 m_ucEnemyTargetTypesId; + u8 m_ucMontageFixNo; + u8 m_ucSetType; + u8 m_ucInfectionType; + b8 m_bIsBossGauge; + b8 m_bIsBossBGM; + b8 m_bIsManualSet; + b8 m_bIsAreaBoss; + b8 m_bIsBloodEnemy; +}; + +/* 5470 */ +typedef CDataStageLayoutEnemyPresetEnemyInfoClient CStageLayoutEnemyPresetEnemyInfoClient; + +/* 5469 */ +struct __cppobj CDataLayoutEnemyData : CPacketDataBase +{ + u8 m_ucPositionIndex; + CStageLayoutEnemyPresetEnemyInfoClient m_EnemyInfo; +}; + +/* 16068 */ +typedef CDataLayoutEnemyData CLayoutEnemyData; + +/* 16067 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_ENEMY_REPOP_NOTICE : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + CLayoutEnemyData m_EnemyData; + u32 m_unWaitSecond; + bool m_bIsReceived; +}; + +/* 16069 */ +struct __cppobj nUserSession::CPacket_S2C_ENEMY_REPOP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16072 */ +struct __cppobj __attribute__((aligned(8))) CDataEncounterPawnInfo : CPacketDataBase +{ + u32 m_ulLv; + u32 m_ulLvBand; + u32 m_ulThinkID; +}; + +/* 16071 */ +typedef CDataEncounterPawnInfo CEncounterPawnInfo; + +/* 16070 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENCOUNTER_PAWN_NOTICE : CPacketDataBase +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + CEncounterPawnInfo m_info; + bool m_bIsReceived; +}; + +/* 16073 */ +struct __cppobj nUserSession::CPacket_S2C_ENCOUNTER_PAWN_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16074 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_TRANING_ROOM_SET_ENEMY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16075 */ +struct __cppobj nUserSession::CPacket_S2C_TRANING_ROOM_SET_ENEMY_RES::MyDTI : MtDTI +{ +}; + +/* 16076 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_GP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unGP; + s64 m_llUseLimit; + u64 m_ullRealTime; + u16 m_usMilliseconds; + bool m_bIsReceived; +}; + +/* 16077 */ +struct __cppobj nUserSession::CPacket_S2C_GET_GP_RES::MyDTI : MtDTI +{ +}; + +/* 16078 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_CAP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unCAP; + bool m_bIsReceived; +}; + +/* 16079 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CAP_RES::MyDTI : MtDTI +{ +}; + +/* 16080 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_COG_GET_ID_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtString m_wstrCogId; + bool m_bIsReceived; +}; + +/* 16081 */ +struct __cppobj nUserSession::CPacket_S2C_COG_GET_ID_RES::MyDTI : MtDTI +{ +}; + +/* 16083 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16082 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_ITEM_LINEUP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 16084 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_ITEM_LINEUP_RES::MyDTI : MtDTI +{ +}; + +/* 16086 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16085 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_PAWN_LINEUP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 16087 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_PAWN_LINEUP_RES::MyDTI : MtDTI +{ +}; + +/* 16088 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_COURSE_USE_FROM_AVAILABLE_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u64 m_ullFinishDateTime; + bool m_bIsReceived; +}; + +/* 16089 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_USE_FROM_AVAILABLE_RES::MyDTI : MtDTI +{ +}; + +/* 16090 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_CAP_CHARGE_URL_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtString m_wstrUrl; + bool m_bIsReceived; +}; + +/* 16091 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_CAP_CHARGE_URL_RES::MyDTI : MtDTI +{ +}; + +/* 16092 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GP_COURSE_START_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCourseID; + u64 m_ullFinishDateTime; + u32 m_unannounceType; + bool m_bIsReceived; +}; + +/* 16093 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_START_NTC::MyDTI : MtDTI +{ +}; + +/* 16094 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_COURSE_EXTEND_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCourseID; + u64 m_ullFinishDateTime; + bool m_bIsReceived; +}; + +/* 16095 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_EXTEND_NTC::MyDTI : MtDTI +{ +}; + +/* 16096 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GP_COURSE_END_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCourseID; + u32 m_unannounceType; + bool m_bIsReceived; +}; + +/* 16097 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_END_NTC::MyDTI : MtDTI +{ +}; + +/* 16098 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GP_COURSE_GET_VERSION_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unVersion; + bool m_bIsReceived; +}; + +/* 16099 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_GET_VERSION_RES::MyDTI : MtDTI +{ +}; + +/* 16100 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_COURSE_START_PARTY_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucMemberIndex; + u32 m_unCourseID; + u32 m_unannounceType; + u64 m_ullFinishDateTime; + bool m_bIsReceived; +}; + +/* 16101 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_START_PARTY_NTC::MyDTI : MtDTI +{ +}; + +/* 16102 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_COURSE_END_PARTY_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucMemberIndex; + u32 m_unCourseID; + bool m_bIsReceived; +}; + +/* 16103 */ +struct __cppobj nUserSession::CPacket_S2C_GP_COURSE_END_PARTY_NTC::MyDTI : MtDTI +{ +}; + +/* 16105 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16104 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_EDIT_VOICE_GET_BUY_HISTORY_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 16106 */ +struct __cppobj nUserSession::CPacket_S2C_GP_EDIT_VOICE_GET_BUY_HISTORY_RES::MyDTI : MtDTI +{ +}; + +/* 16108 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16107 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_EDIT_GET_VOICE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_VoiceList; + bool m_bIsReceived; +}; + +/* 16109 */ +struct __cppobj nUserSession::CPacket_S2C_GP_EDIT_GET_VOICE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16110 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GP_EDIT_GET_GP_PRICE_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16111 */ +struct __cppobj nUserSession::CPacket_S2C_GP_EDIT_GET_GP_PRICE_RES::MyDTI : MtDTI +{ +}; + +/* 16112 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_CAN_BUY_PAWN_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + b8 m_bCanBuy; + u32 m_unLineupId; + bool m_bIsReceived; +}; + +/* 16113 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_CAN_BUY_PAWN_RES::MyDTI : MtDTI +{ +}; + +/* 16114 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_CAN_BUY_PAWN_VOICE_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + b8 m_bCanBuy; + u32 m_unLineupId; + bool m_bIsReceived; +}; + +/* 16115 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_CAN_BUY_PAWN_VOICE_RES::MyDTI : MtDTI +{ +}; + +/* 16116 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_MAIN_QUEST_JUMP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16117 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_MAIN_QUEST_JUMP_RES::MyDTI : MtDTI +{ +}; + +/* 16118 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_QUEST_RESET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16119 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_QUEST_RESET_RES::MyDTI : MtDTI +{ +}; + +/* 16120 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_QUEST_RESET_ALL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucQuestType; + bool m_bIsReceived; +}; + +/* 16121 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_QUEST_RESET_ALL_RES::MyDTI : MtDTI +{ +}; + +/* 16122 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16123 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_RES::MyDTI : MtDTI +{ +}; + +/* 16124 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_JOB_EXP_UP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unAddExp; + u32 m_unExtraBonusExp; + u32 m_unTotalExp; + u8 m_ucType; + bool m_bIsReceived; +}; + +/* 16125 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_JOB_EXP_UP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 5540 */ +struct __cppobj __attribute__((aligned(8))) CDataCharacterLevelParam : CPacketDataBase +{ + u16 m_usAttack; + u16 m_usMagAttack; + u16 m_usDefence; + u16 m_usMagDefence; + u16 m_usStrength; + u16 m_usDownPower; + u16 m_usShakePower; + u16 m_usStunPower; + u16 m_usConstitution; + u16 m_usGuts; +}; + +/* 16127 */ +typedef CDataCharacterLevelParam CCharacterLevelParam; + +/* 16126 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_JOB_LEVEL_UP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unLevel; + u32 m_unAddJobPoint; + u32 m_unTotalJobPoint; + CCharacterLevelParam m_CharacterLevelParam; + bool m_bIsReceived; +}; + +/* 16128 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_JOB_LEVEL_UP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16129 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_JOB_LEVEL_UP_MEMBER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucJob; + u32 m_unLevel; + CCharacterLevelParam m_CharacterLevelParam; + bool m_bIsReceived; +}; + +/* 16130 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_JOB_LEVEL_UP_MEMBER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16131 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_JOB_LEVEL_UP_OTHER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucJob; + u32 m_unLevel; + bool m_bIsReceived; +}; + +/* 16132 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_JOB_LEVEL_UP_OTHER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16133 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_JOB_EXP_UP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unAddExp; + u32 m_unExtraBonusExp; + u32 m_unTotalExp; + u8 m_ucType; + bool m_bIsReceived; +}; + +/* 16134 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_JOB_EXP_UP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16135 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_JOB_LEVEL_UP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unLevel; + u32 m_unAddJobPoint; + u32 m_unTotalJobPoint; + CCharacterLevelParam m_CharacterLevelParam; + bool m_bIsReceived; +}; + +/* 16136 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_JOB_LEVEL_UP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16137 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_JOB_LEVEL_UP_MEMBER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unLevel; + CCharacterLevelParam m_CharacterLevelParam; + bool m_bIsReceived; +}; + +/* 16138 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_JOB_LEVEL_UP_MEMBER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16139 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_CHARACTER_JOB_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unAddJobPoint; + u32 m_unExtraBonusPoint; + u32 m_unTotalJobPoint; + bool m_bIsReceived; +}; + +/* 16140 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_CHARACTER_JOB_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16141 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_PAWN_JOB_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unAddJobPoint; + u32 m_unExtraBonusPoint; + u32 m_unTotalJobPoint; + bool m_bIsReceived; +}; + +/* 16142 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_PAWN_JOB_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16143 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_PLAY_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unUpdatePoint; + u32 m_unExtraBonusPoint; + u32 m_unTotalPoint; + u8 m_ucType; + bool m_bIsReceived; +}; + +/* 16144 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_PLAY_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4443 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16145 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtTypedArray m_EquipItemList; + MtTypedArray m_VisualEquipItemList; + bool m_bIsReceived; +}; + +/* 16146 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16147 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unPawnID; + MtTypedArray m_EquipItemList; + MtTypedArray m_VisualEquipItemList; + bool m_bIsReceived; +}; + +/* 16148 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16149 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_JOB_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 16150 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_JOB_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16151 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_JOB_ITEM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unPawnID; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 16152 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_EQUIP_JOB_ITEM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16153 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_LOBBY_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucJob; + MtTypedArray m_EquipItemList; + MtTypedArray m_VisualEquipItemList; + bool m_bIsReceived; +}; + +/* 16154 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_CHARACTER_EQUIP_LOBBY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16155 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 16156 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_RES::MyDTI : MtDTI +{ +}; + +/* 16157 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_HIDE_CHARACTER_LANTERN_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 16158 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_HIDE_CHARACTER_LANTERN_RES::MyDTI : MtDTI +{ +}; + +/* 16159 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_HIDE_PAWN_HEAD_ARMOR_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 16160 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_HIDE_PAWN_HEAD_ARMOR_RES::MyDTI : MtDTI +{ +}; + +/* 16161 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_HIDE_PAWN_LANTERN_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 16162 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_HIDE_PAWN_LANTERN_RES::MyDTI : MtDTI +{ +}; + +/* 16163 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_UPDATE_EQUIP_HIDE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + b8 m_bHideHead; + b8 m_bHideLantern; + b8 m_bHidePawnHead; + b8 m_bHidePawnLantern; + bool m_bIsReceived; +}; + +/* 16164 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_HIDE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16165 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_UPDATE_EQUIP_GRADE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + u8 m_ucEquipType; + u8 m_ucEquipSlot; + u32 m_unItemID; + bool m_bIsReceived; +}; + +/* 16166 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_GRADE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4330 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16167 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_EQUIP_ELEMENT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + u8 m_ucEquipType; + u8 m_ucEquipSlot; + MtTypedArray m_EquipElementParamList; + bool m_bIsReceived; +}; + +/* 16168 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_ELEMENT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16169 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_COLOR_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + u8 m_ucEquipType; + u8 m_ucEquipSlot; + u8 m_ucColor; + bool m_bIsReceived; +}; + +/* 16170 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_COLOR_NOTICE::MyDTI : MtDTI +{ +}; + +/* 6327 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16171 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_EQUIP_PRESET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_EquipPresetList; + bool m_bIsReceived; +}; + +/* 16172 */ +struct __cppobj nUserSession::CPacket_S2C_GET_EQUIP_PRESET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 6329 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 6328 */ +struct __cppobj CDataEquipPreset : CPacketDataBase +{ + u32 m_unPresetNo; + MtString m_wstrPresetName; + u8 m_ucJob; + MtTypedArray m_PresetEquipInfoList; + MtTypedArray m_PresetJobItemList; +}; + +/* 6333 */ +typedef CDataEquipPreset CEquipPreset; + +/* 16173 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_EQUIP_PRESET_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + CEquipPreset m_EquipPreset; + bool m_bIsReceived; +}; + +/* 16174 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_PRESET_RES::MyDTI : MtDTI +{ +}; + +/* 16175 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_EQUIP_PRESET_NAME_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + bool m_bIsReceived; +}; + +/* 16176 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EQUIP_PRESET_NAME_RES::MyDTI : MtDTI +{ +}; + +/* 16177 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_ENEMY_SET_PRESET_FIX_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16178 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_ENEMY_SET_PRESET_FIX_RES::MyDTI : MtDTI +{ +}; + +/* 16179 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_ATTACH_ELEMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unGold; + MtTypedArray m_EquipElementParamList; + CCurrentEquipInfo m_CurrentEquip; + bool m_bIsReceived; +}; + +/* 16180 */ +struct __cppobj nUserSession::CPacket_S2C_START_ATTACH_ELEMENT_RES::MyDTI : MtDTI +{ +}; + +/* 16181 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_DETACH_ELEMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unGold; + MtTypedArray m_EquipElementParamList; + CCurrentEquipInfo m_CurrentEquip; + bool m_bIsReceived; +}; + +/* 16182 */ +struct __cppobj nUserSession::CPacket_S2C_START_DETACH_ELEMENT_RES::MyDTI : MtDTI +{ +}; + +/* 16183 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_EQUIP_COLOR_CHANGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucColorNo; + CCurrentEquipInfo m_CurrentEquip; + bool m_bIsReceived; +}; + +/* 16184 */ +struct __cppobj nUserSession::CPacket_S2C_START_EQUIP_COLOR_CHANGE_RES::MyDTI : MtDTI +{ +}; + +/* 16185 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CRAFT_SKILL_UP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u32 m_unSkillType; + u32 m_unSkillLevel; + u32 m_unUseCraftPoint; + u32 m_unRemainCraftPoint; + bool m_bIsReceived; +}; + +/* 16186 */ +struct __cppobj nUserSession::CPacket_S2C_CRAFT_SKILL_UP_RES::MyDTI : MtDTI +{ +}; + +/* 4623 */ +struct __cppobj CDataOmData : CPacketDataBase +{ + u32 m_ulKey; + u32 m_ulValue; +}; + +/* 4622 */ +typedef CDataOmData COmData; + +/* 16187 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_OM_INSTANT_KEY_VALUE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageId; + COmData m_Value; + bool m_bIsReceived; +}; + +/* 16188 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OM_INSTANT_KEY_VALUE_RES::MyDTI : MtDTI +{ +}; + +/* 16189 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_OM_INSTANT_KEY_VALUE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unStageId; + COmData m_Value; + bool m_bIsReceived; +}; + +/* 16190 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OM_INSTANT_KEY_VALUE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16191 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_OM_INSTANT_KEY_VALUE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageId; + COmData m_Value; + bool m_bIsReceived; +}; + +/* 16192 */ +struct __cppobj nUserSession::CPacket_S2C_GET_OM_INSTANT_KEY_VALUE_RES::MyDTI : MtDTI +{ +}; + +/* 7186 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16193 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_Get_OM_INSTANT_KEY_VALUE_ALL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageId; + MtTypedArray m_Values; + bool m_bIsReceived; +}; + +/* 16194 */ +struct __cppobj nUserSession::CPacket_S2C_Get_OM_INSTANT_KEY_VALUE_ALL_RES::MyDTI : MtDTI +{ +}; + +/* 16195 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_EXCHANGE_OM_INSTANT_KEY_VALUE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unStageId; + COmData m_Value; + u32 m_ulValueOld; + bool m_bIsReceived; +}; + +/* 16196 */ +struct __cppobj nUserSession::CPacket_S2C_EXCHANGE_OM_INSTANT_KEY_VALUE_RES::MyDTI : MtDTI +{ +}; + +/* 16197 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_RELEASE_WARP_POINT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unWarpPointID; + bool m_bIsReceived; +}; + +/* 16198 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASE_WARP_POINT_RES::MyDTI : MtDTI +{ +}; + +/* 16199 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RELEASE_WARP_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_WarpPointReleaseList; + bool m_bIsReceived; +}; + +/* 16200 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RELEASE_WARP_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16201 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_WARP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unWarpPointID; + u32 m_unrim; + bool m_bIsReceived; +}; + +/* 16202 */ +struct __cppobj nUserSession::CPacket_S2C_WARP_RES::MyDTI : MtDTI +{ +}; + +/* 16203 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FAVORITE_WARP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unWarpPointID; + u32 m_unrim; + bool m_bIsReceived; +}; + +/* 16204 */ +struct __cppobj nUserSession::CPacket_S2C_FAVORITE_WARP_RES::MyDTI : MtDTI +{ +}; + +/* 16205 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REGISTER_FAVORITE_WARP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unSlotNo; + u32 m_unWarpPointID; + bool m_bIsReceived; +}; + +/* 16206 */ +struct __cppobj nUserSession::CPacket_S2C_REGISTER_FAVORITE_WARP_RES::MyDTI : MtDTI +{ +}; + +/* 16207 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_LEADER_WARP_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unDestPointID; + u32 m_unRestSecond; + bool m_bIsReceived; +}; + +/* 16208 */ +struct __cppobj nUserSession::CPacket_S2C_LEADER_WARP_NTC::MyDTI : MtDTI +{ +}; + +/* 16209 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_WARP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16210 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_WARP_RES::MyDTI : MtDTI +{ +}; + +/* 16211 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_AREA_WARP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unWarpPointID; + u32 m_unRim; + bool m_bIsReceived; +}; + +/* 16212 */ +struct __cppobj nUserSession::CPacket_S2C_AREA_WARP_RES::MyDTI : MtDTI +{ +}; + +/* 16213 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_ONLINE_STATUS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucStatusID; + bool m_bIsReceived; +}; + +/* 16214 */ +struct __cppobj nUserSession::CPacket_S2C_SET_ONLINE_STATUS_RES::MyDTI : MtDTI +{ +}; + +/* 16215 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_APPLY_FRIEND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CFriendInfo m_ApplingFriendInfo; + bool m_bIsReceived; +}; + +/* 16216 */ +struct __cppobj nUserSession::CPacket_S2C_APPLY_FRIEND_RES::MyDTI : MtDTI +{ +}; + +/* 16217 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_APPROVE_FRIEND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CFriendInfo m_FriendInfo; + bool m_bIsReceived; +}; + +/* 16218 */ +struct __cppobj nUserSession::CPacket_S2C_APPROVE_FRIEND_RES::MyDTI : MtDTI +{ +}; + +/* 16219 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REMOVE_FRIEND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16220 */ +struct __cppobj nUserSession::CPacket_S2C_REMOVE_FRIEND_RES::MyDTI : MtDTI +{ +}; + +/* 16221 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REGISTER_FAVORITE_FRIEND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16222 */ +struct __cppobj nUserSession::CPacket_S2C_REGISTER_FAVORITE_FRIEND_RES::MyDTI : MtDTI +{ +}; + +/* 16223 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CANCEL_FRIEND_APPLICATION_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16224 */ +struct __cppobj nUserSession::CPacket_S2C_CANCEL_FRIEND_APPLICATION_RES::MyDTI : MtDTI +{ +}; + +/* 16225 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REMOVE_FRIEND_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 16226 */ +struct __cppobj nUserSession::CPacket_S2C_REMOVE_FRIEND_NTC::MyDTI : MtDTI +{ +}; + +/* 16227 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_OFF_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJob; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16228 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OFF_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 16229 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_OFF_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16230 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OFF_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 16231 */ +struct __cppobj __attribute__((aligned(2))) nUserSession::CPacket_S2C_SET_OFF_PAWN_SKILL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucJob; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16232 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OFF_PAWN_SKILL_RES::MyDTI : MtDTI +{ +}; + +/* 16233 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_SET_OFF_PAWN_ABILITY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16234 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OFF_PAWN_ABILITY_RES::MyDTI : MtDTI +{ +}; + +/* 16235 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CURRENT_SET_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_NormalSkillList; + MtTypedArray m_SetCustomSkillList; + MtTypedArray m_SetAbilityList; + bool m_bIsReceived; +}; + +/* 16236 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CURRENT_SET_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16237 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CURRENT_SET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 16238 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CURRENT_SET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16239 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PRESET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 16240 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PRESET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16241 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PRESET_ABILITY_NAME_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16242 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PRESET_ABILITY_NAME_RES::MyDTI : MtDTI +{ +}; + +/* 16243 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PAWN_PRESET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + u8 m_ucResult; + u32 m_unPawnID; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 16244 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PAWN_PRESET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16246 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16247 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16245 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACQUIREMENT_LEARN_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_SkillParamList; + MtTypedArray m_AbilityParamList; + bool m_bIsReceived; +}; + +/* 16248 */ +struct __cppobj nUserSession::CPacket_S2C_ACQUIREMENT_LEARN_NTC::MyDTI : MtDTI +{ +}; + +/* 4596 */ +struct __cppobj __attribute__((aligned(8))) CDataContextNormalSkillData : CPacketDataBase +{ + u8 m_ucSkillNo; +}; + +/* 16250 */ +typedef CDataContextNormalSkillData CContextNormalSkillData; + +/* 16249 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_NORMAL_SKILL_LEARN_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + CContextNormalSkillData m_NormalSkillData; + bool m_bIsReceived; +}; + +/* 16251 */ +struct __cppobj nUserSession::CPacket_S2C_NORMAL_SKILL_LEARN_NTC::MyDTI : MtDTI +{ +}; + +/* 4598 */ +struct __cppobj __attribute__((aligned(8))) CDataContextAcquirementData : CPacketDataBase +{ + u8 m_ucSlotNo; + u32 m_unAcquirementNo; + u8 m_ucAcquirementLv; +}; + +/* 16253 */ +typedef CDataContextAcquirementData CContextAcquirementData; + +/* 16252 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CUSTOM_SKILL_SET_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + CContextAcquirementData m_CustomSkillData; + bool m_bIsReceived; +}; + +/* 16254 */ +struct __cppobj nUserSession::CPacket_S2C_CUSTOM_SKILL_SET_NTC::MyDTI : MtDTI +{ +}; + +/* 16255 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ABILITY_SET_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + CContextAcquirementData m_AbilityData; + bool m_bIsReceived; +}; + +/* 16256 */ +struct __cppobj nUserSession::CPacket_S2C_ABILITY_SET_NTC::MyDTI : MtDTI +{ +}; + +/* 16257 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_NORMAL_SKILL_LEARN_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + CContextNormalSkillData m_NormalSkillData; + bool m_bIsReceived; +}; + +/* 16258 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_NORMAL_SKILL_LEARN_NTC::MyDTI : MtDTI +{ +}; + +/* 16259 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_CUSTOM_SKILL_SET_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + CContextAcquirementData m_CustomSkillData; + bool m_bIsReceived; +}; + +/* 16260 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_CUSTOM_SKILL_SET_NTC::MyDTI : MtDTI +{ +}; + +/* 16261 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_ABILITY_SET_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + CContextAcquirementData m_AbilityData; + bool m_bIsReceived; +}; + +/* 16262 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_ABILITY_SET_NTC::MyDTI : MtDTI +{ +}; + +/* 16263 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PRESET_ABILITY_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + MtTypedArray m_AbilityDataList; + bool m_bIsReceived; +}; + +/* 16264 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PRESET_ABILITY_NTC::MyDTI : MtDTI +{ +}; + +/* 16265 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PRESET_PAWN_ABILITY_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + MtTypedArray m_AbilityDataList; + bool m_bIsReceived; +}; + +/* 16266 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PRESET_PAWN_ABILITY_NTC::MyDTI : MtDTI +{ +}; + +/* 16267 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BUY_SHOP_GOODS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPointType; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 16268 */ +struct __cppobj nUserSession::CPacket_S2C_BUY_SHOP_GOODS_RES::MyDTI : MtDTI +{ +}; + +/* 16269 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SELL_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPointType; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 16270 */ +struct __cppobj nUserSession::CPacket_S2C_SELL_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 16271 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_SUPPLY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16272 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_SUPPLY_RES::MyDTI : MtDTI +{ +}; + +/* 16273 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_POINT_DEBUG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16274 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_POINT_DEBUG_RES::MyDTI : MtDTI +{ +}; + +/* 16275 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_RELEASE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ReleaseAreaInfoSetList; + bool m_bIsReceived; +}; + +/* 16276 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_RELEASE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16277 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_BUY_AREA_QUEST_HINT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unUpdateGold; + bool m_bIsReceived; +}; + +/* 16278 */ +struct __cppobj nUserSession::CPacket_S2C_BUY_AREA_QUEST_HINT_RES::MyDTI : MtDTI +{ +}; + +/* 6242 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16279 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_BASE_INFO_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_AreaBaseInfoList; + bool m_bIsReceived; +}; + +/* 16280 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_BASE_INFO_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16281 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_AREA_POINT_UP_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unAreaID; + u32 m_unAddPoint; + u32 m_unAddPointByCharge; + u32 m_unTotalPoint; + u32 m_unWeekPoint; + b8 m_bCanRankUp; + bool m_bIsReceived; +}; + +/* 16282 */ +struct __cppobj nUserSession::CPacket_S2C_AREA_POINT_UP_NTC::MyDTI : MtDTI +{ +}; + +/* 16283 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_AREA_RANK_UP_READY_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_AreaRankList; + bool m_bIsReceived; +}; + +/* 16284 */ +struct __cppobj nUserSession::CPacket_S2C_AREA_RANK_UP_READY_NTC::MyDTI : MtDTI +{ +}; + +/* 16285 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACTIVATE_JOB_ORDER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJobID; + u8 m_ucRewardType; + u32 m_unRewardNo; + u8 m_ucRewardLv; + bool m_bIsReceived; +}; + +/* 16286 */ +struct __cppobj nUserSession::CPacket_S2C_ACTIVATE_JOB_ORDER_RES::MyDTI : MtDTI +{ +}; + +/* 16287 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_JOB_ORDER_COMPLETE_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucJobID; + u8 m_ucRewardType; + u32 m_unRewardNo; + u8 m_ucRewardLv; + bool m_bIsReceived; +}; + +/* 16288 */ +struct __cppobj nUserSession::CPacket_S2C_JOB_ORDER_COMPLETE_NTC::MyDTI : MtDTI +{ +}; + +/* 16290 */ +struct __cppobj CDataOrbElement : CPacketDataBase +{ + u32 m_unElementID; + u32 m_unParamType; + u32 m_unParamID; + u32 m_unParamValue; + u32 m_unRequireOrb; + u32 m_unIconNo; +}; + +/* 16292 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16291 */ +typedef MtTypedArray OrbElementVec; + +/* 16294 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16293 */ +typedef MtTypedArray OrbElementGroupVec; + +/* 16289 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ALL_ORB_ELEMENT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CDataOrbElement m_LastElement; + OrbElementVec m_TrunkElementList; + OrbElementGroupVec m_ElementGroupList; + bool m_bIsReceived; +}; + +/* 16295 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ALL_ORB_ELEMENT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16296 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_RELEASE_ORB_ELEMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRestOrb; + u8 m_ucGainParamType; + u32 m_unGainParamValue; + bool m_bIsReceived; +}; + +/* 16297 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASE_ORB_ELEMENT_RES::MyDTI : MtDTI +{ +}; + +/* 16298 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASE_PAWN_ORB_ELEMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u32 m_unRestOrb; + u8 m_ucGainParamType; + u32 m_unGainParamValue; + bool m_bIsReceived; +}; + +/* 16299 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASE_PAWN_ORB_ELEMENT_RES::MyDTI : MtDTI +{ +}; + +/* 16300 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ORB_GAIN_EXTEND_PARAM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + COrbGainExtendParam m_ExtendParam; + bool m_bIsReceived; +}; + +/* 16301 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ORB_GAIN_EXTEND_PARAM_RES::MyDTI : MtDTI +{ +}; + +/* 16302 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GAIN_CHARACTER_PARAM_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unHpMaxGain; + u32 m_unStaminaMaxGain; + u32 m_unAttackGain; + u32 m_unDefenseGain; + u32 m_unMagicAttackGain; + u32 m_unMagicDefenseGain; + bool m_bIsReceived; +}; + +/* 16303 */ +struct __cppobj nUserSession::CPacket_S2C_GAIN_CHARACTER_PARAM_NTC::MyDTI : MtDTI +{ +}; + +/* 16304 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GAIN_PAWN_PARAM_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + u32 m_unHpMaxGain; + u32 m_unStaminaMaxGain; + u32 m_unAttackGain; + u32 m_unDefenseGain; + u32 m_unMagicAttackGain; + u32 m_unMagicDefenseGain; + bool m_bIsReceived; +}; + +/* 16305 */ +struct __cppobj nUserSession::CPacket_S2C_GAIN_PAWN_PARAM_NTC::MyDTI : MtDTI +{ +}; + +/* 16306 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EXTEND_ITEM_SLOT_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucCategory; + u16 m_usAddNum; + u16 m_usTotalNum; + bool m_bIsReceived; +}; + +/* 16307 */ +struct __cppobj nUserSession::CPacket_S2C_EXTEND_ITEM_SLOT_NTC::MyDTI : MtDTI +{ +}; + +/* 16308 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_EXTEND_EQUIP_SLOT_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucSlot; + u8 m_ucAddNum; + u8 m_ucTotalNum; + bool m_bIsReceived; +}; + +/* 16309 */ +struct __cppobj nUserSession::CPacket_S2C_EXTEND_EQUIP_SLOT_NTC::MyDTI : MtDTI +{ +}; + +/* 16310 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_EXTEND_MAIN_PAWN_SLOT_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucAddNum; + u8 m_ucTotalNum; + bool m_bIsReceived; +}; + +/* 16311 */ +struct __cppobj nUserSession::CPacket_S2C_EXTEND_MAIN_PAWN_SLOT_NTC::MyDTI : MtDTI +{ +}; + +/* 16312 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_EXTEND_SUPPORT_PAWN_SLOT_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucAddNum; + u8 m_ucTotalNum; + bool m_bIsReceived; +}; + +/* 16313 */ +struct __cppobj nUserSession::CPacket_S2C_EXTEND_SUPPORT_PAWN_SLOT_NTC::MyDTI : MtDTI +{ +}; + +/* 16314 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_JOB_ORB_TREE_STATUS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_TreeStatusList; + bool m_bIsReceived; +}; + +/* 16315 */ +struct __cppobj nUserSession::CPacket_S2C_GET_JOB_ORB_TREE_STATUS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 5543 */ +struct __cppobj CDataJobOrbTreeStatus : CPacketDataBase +{ + u8 m_ucJobID; + b8 m_bIsReleased; + f32 m_fRate; +}; + +/* 6246 */ +typedef CDataJobOrbTreeStatus CJobOrbTreeStatus; + +/* 16316 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASE_JOB_ORB_ELEMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucJobID; + u32 m_unRestOrb; + CJobOrbTreeStatus m_TreeStatus; + bool m_bIsReceived; +}; + +/* 16317 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASE_JOB_ORB_ELEMENT_RES::MyDTI : MtDTI +{ +}; + +/* 16318 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_OBJECTIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16319 */ +struct __cppobj nUserSession::CPacket_S2C_SET_OBJECTIVE_RES::MyDTI : MtDTI +{ +}; + +/* 16320 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_MATCHING_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16321 */ +struct __cppobj nUserSession::CPacket_S2C_SET_MATCHING_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 16322 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_MATCHING_PROFILE_NOTICE : CPacketDataBase +{ + u16 m_usError; + CMatchingProfile m_MatchingProfile; + bool m_bIsReceived; +}; + +/* 16323 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_MATCHING_PROFILE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16324 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_SHORTCUT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16325 */ +struct __cppobj nUserSession::CPacket_S2C_SET_SHORTCUT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16326 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_COMMUNICATION_SHORTCUT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16327 */ +struct __cppobj nUserSession::CPacket_S2C_SET_COMMUNICATION_SHORTCUT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16328 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_MESSAGE_SET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16329 */ +struct __cppobj nUserSession::CPacket_S2C_SET_MESSAGE_SET_RES::MyDTI : MtDTI +{ +}; + +/* 16330 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_CREATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CClanParam m_ClanParam; + MtTypedArray m_MemberList; + bool m_bIsReceived; +}; + +/* 16331 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_CREATE_RES::MyDTI : MtDTI +{ +}; + +/* 16332 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_UPDATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16333 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_UPDATE_RES::MyDTI : MtDTI +{ +}; + +/* 16334 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_MY_MEMBER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MemberList; + bool m_bIsReceived; +}; + +/* 16335 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_MY_MEMBER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 4356 */ +struct __cppobj CDataClanSearchResult : CPacketDataBase +{ + u32 m_unClanID; + MtString m_wstrName; + u16 m_usLv; + u16 m_usMemberNum; + u32 m_unMotto; + u8 m_ucEmblemMarkType; + u8 m_ucEmblemBaseType; + u8 m_ucEmblemBaseMainColor; + u8 m_ucEmblemBaseSubColor; + u32 m_unMasterCharacterID; + CCharacterName m_MasterCharacterName; + s64 m_llCreated; +}; + +/* 12615 */ +typedef CDataClanSearchResult CClanSearchResult; + +/* 16336 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_INVITE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unInviteID; + CClanSearchResult m_ClanInfo; + bool m_bIsReceived; +}; + +/* 16337 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_INVITE_NTC::MyDTI : MtDTI +{ +}; + +/* 16338 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_REGISTER_JOIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16339 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_REGISTER_JOIN_RES::MyDTI : MtDTI +{ +}; + +/* 16340 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_CANCEL_JOIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16341 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_CANCEL_JOIN_RES::MyDTI : MtDTI +{ +}; + +/* 16342 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_CANCEL_JOIN_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nRequestId; + bool m_bIsReceived; +}; + +/* 16343 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_CANCEL_JOIN_NTC::MyDTI : MtDTI +{ +}; + +/* 16344 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_APPROVE_JOIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unClanID; + bool m_bIsReceived; +}; + +/* 16345 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_APPROVE_JOIN_RES::MyDTI : MtDTI +{ +}; + +/* 16346 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_LEAVE_MEMBER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16347 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_LEAVE_MEMBER_RES::MyDTI : MtDTI +{ +}; + +/* 16348 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_EXPEL_MEMBER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16349 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_EXPEL_MEMBER_RES::MyDTI : MtDTI +{ +}; + +/* 16350 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_JOIN_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16351 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_JOIN_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16352 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_NEGOTIATE_MASTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unMemberID; + bool m_bIsReceived; +}; + +/* 16353 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_NEGOTIATE_MASTER_RES::MyDTI : MtDTI +{ +}; + +/* 16354 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SET_MEMBER_RANK_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unMemberID; + u32 m_unRank; + bool m_bIsReceived; +}; + +/* 16355 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SET_MEMBER_RANK_RES::MyDTI : MtDTI +{ +}; + +/* 16356 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_GET_MEMBER_NUM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u16 m_usMemberNum; + bool m_bIsReceived; +}; + +/* 16357 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_GET_MEMBER_NUM_RES::MyDTI : MtDTI +{ +}; + +/* 16358 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_REGISTER_JOIN_NTC : CPacketDataBase +{ + u16 m_usError; + CCharacterListElement m_CharacterListElement; + bool m_bIsReceived; +}; + +/* 16359 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_REGISTER_JOIN_NTC::MyDTI : MtDTI +{ +}; + +/* 16360 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_JOIN_MEMBER_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanID; + CClanMemberInfo m_MemberInfo; + bool m_bIsReceived; +}; + +/* 16361 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_JOIN_MEMBER_NTC::MyDTI : MtDTI +{ +}; + +/* 16362 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_JOIN_SELF_NTC : CPacketDataBase +{ + u16 m_usError; + CClanParam m_ClanParam; + CClanMemberInfo m_SelfInfo; + MtTypedArray m_MemberList; + bool m_bIsReceived; +}; + +/* 16363 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_JOIN_SELF_NTC::MyDTI : MtDTI +{ +}; + +/* 4358 */ +struct __cppobj CDataClanJoinRequest : CPacketDataBase +{ + u32 m_unClanID; + MtString m_wstrClanName; + CCommunityCharacterBaseInfo m_CommunityCharacterBaseInfo; + s64 m_llCreated; +}; + +/* 12450 */ +typedef CDataClanJoinRequest CClanJoinRequest; + +/* 16364 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_JOIN_DISAPPROVE_NTC : CPacketDataBase +{ + u16 m_usError; + CClanJoinRequest m_JoinReq; + bool m_bIsReceived; +}; + +/* 16365 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_JOIN_DISAPPROVE_NTC::MyDTI : MtDTI +{ +}; + +/* 16366 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_LEAVE_MEMBER_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanID; + CCharacterListElement m_CharacterListElement; + bool m_bIsReceived; +}; + +/* 16367 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_LEAVE_MEMBER_NTC::MyDTI : MtDTI +{ +}; + +/* 16368 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_NEGOTIATE_MASTER_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanID; + CClanMemberInfo m_MemberInfo; + bool m_bIsReceived; +}; + +/* 16369 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_NEGOTIATE_MASTER_NTC::MyDTI : MtDTI +{ +}; + +/* 16370 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_SET_MEMBER_RANK_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanID; + u32 m_unCharacterID; + u32 m_unRank; + u32 m_unPermission; + bool m_bIsReceived; +}; + +/* 16371 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SET_MEMBER_RANK_NTC::MyDTI : MtDTI +{ +}; + +/* 16372 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_UPDATE_NTC : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16373 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_UPDATE_NTC::MyDTI : MtDTI +{ +}; + +/* 16374 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SETTING_UPDATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16375 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SETTING_UPDATE_RES::MyDTI : MtDTI +{ +}; + +/* 16376 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_INVITE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16377 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_INVITE_RES::MyDTI : MtDTI +{ +}; + +/* 16378 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_INVITE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanId; + MtString m_wstrClanName; + CCharacterListElement m_CharacterListElement; + bool m_bIsReceived; +}; + +/* 16379 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_INVITE_NTC::MyDTI : MtDTI +{ +}; + +/* 16380 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_QUEST_CLEAR_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestId; + bool m_bIsReceived; +}; + +/* 16381 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_QUEST_CLEAR_NTC::MyDTI : MtDTI +{ +}; + +/* 16384 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16383 */ +typedef MtTypedArray LightQuestClearListVec; + +/* 16382 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_QUEST_LOG_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + LightQuestClearListVec m_ClanQuestClearNumList; + bool m_bIsReceived; +}; + +/* 16385 */ +struct __cppobj nUserSession::CPacket_S2C_QUEST_LOG_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 16386 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_POINT_ADD_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanPoint; + u32 m_unTotalClanPoint; + u32 m_unMoneyClanPoint; + bool m_bIsReceived; +}; + +/* 16387 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_POINT_ADD_NTC::MyDTI : MtDTI +{ +}; + +/* 16388 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_LEVEL_UP_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unClanLV; + u32 m_unNextClanPoint; + bool m_bIsReceived; +}; + +/* 16389 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_LEVEL_UP_NTC::MyDTI : MtDTI +{ +}; + +/* 16390 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_INVITE_ACCEPT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16391 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_INVITE_ACCEPT_RES::MyDTI : MtDTI +{ +}; + +/* 16392 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_REGISTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16393 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_REGISTER_RES::MyDTI : MtDTI +{ +}; + +/* 16394 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16395 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 16396 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_INVITE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unScoutEntryID; + bool m_bIsReceived; +}; + +/* 16397 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_INVITE_RES::MyDTI : MtDTI +{ +}; + +/* 16398 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_DISAPPROVE_INVITE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unInviteId; + bool m_bIsReceived; +}; + +/* 16399 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_DISAPPROVE_INVITE_NTC::MyDTI : MtDTI +{ +}; + +/* 16400 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_CANCEL_INVITE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unInviteID; + bool m_bIsReceived; +}; + +/* 16401 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_CANCEL_INVITE_RES::MyDTI : MtDTI +{ +}; + +/* 16402 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_CANCEL_INVITE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unInviteId; + bool m_bIsReceived; +}; + +/* 16403 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_CANCEL_INVITE_NTC::MyDTI : MtDTI +{ +}; + +/* 16404 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_GET_MY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MyEntries; + bool m_bIsReceived; +}; + +/* 16405 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_GET_MY_RES::MyDTI : MtDTI +{ +}; + +/* 16406 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_APPROVE_INVITED_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unInviteID; + bool m_bIsReceived; +}; + +/* 16407 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SCOUT_ENTRY_APPROVE_INVITED_RES::MyDTI : MtDTI +{ +}; + +/* 16408 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_BASE_RELEASE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16409 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_BASE_RELEASE_RES::MyDTI : MtDTI +{ +}; + +/* 16410 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SHOP_BUY_FUNCTION_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unClanPoint; + MtTypedArray m_LineupFunctionList; + bool m_bIsReceived; +}; + +/* 16411 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SHOP_BUY_FUNCTION_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 16412 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_SHOP_BUY_BUFF_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unClanPoint; + MtTypedArray m_LineupBuffList; + bool m_bIsReceived; +}; + +/* 16413 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SHOP_BUY_BUFF_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 16414 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CLAN_SHOP_BUY_ITEM_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_FunctionList; + MtTypedArray m_BuffList; + MtTypedArray m_ConciergeList; + CCharacterName m_BuyerName; + u32 m_unClanPoint; + bool m_bIsReceived; +}; + +/* 16415 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_SHOP_BUY_ITEM_NTC::MyDTI : MtDTI +{ +}; + +/* 16416 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_BASE_RELEASE_STATE_UPDATE_NTC : CPacketDataBase +{ + u16 m_usError; + u8 m_ucState; + bool m_bIsReceived; +}; + +/* 16417 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_BASE_RELEASE_STATE_UPDATE_NTC::MyDTI : MtDTI +{ +}; + +/* 16418 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_JOB_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + CCharacterJobData m_CharacterJobData; + MtTypedArray m_EquipItemList; + MtTypedArray m_VisualEquipItemList; + MtTypedArray m_SetAcquirementParamList; + MtTypedArray m_SetAbilityParamList; + MtTypedArray m_LearnNormalSkillParamList; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 16419 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_JOB_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16420 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHANGE_PAWN_JOB_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unPawnID; + CCharacterJobData m_CharacterJobData; + MtTypedArray m_EquipItemList; + MtTypedArray m_VisualEquipItemList; + MtTypedArray m_SetAcquirementParamList; + MtTypedArray m_SetAbilityParamList; + MtTypedArray m_LearnNormalSkillParamList; + MtTypedArray m_EquipJobItemList; + bool m_bIsReceived; +}; + +/* 16421 */ +struct __cppobj nUserSession::CPacket_S2C_CHANGE_PAWN_JOB_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16422 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_CREATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBoardID; + CEntryItem m_EntryItem; + bool m_bIsReceived; +}; + +/* 16423 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_CREATE_RES::MyDTI : MtDTI +{ +}; + +/* 16424 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_RECREATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBoardID; + CEntryItem m_EntryItem; + bool m_bIsReceived; +}; + +/* 16425 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_RECREATE_RES::MyDTI : MtDTI +{ +}; + +/* 16426 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_RECREATE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u64 m_ullBoardID; + CEntryItem m_EntryItem; + bool m_bIsReceived; +}; + +/* 16427 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_RECREATE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16428 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_ENTRY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CEntryItem m_EntryItem; + bool m_bIsReceived; +}; + +/* 16429 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_ENTRY_RES::MyDTI : MtDTI +{ +}; + +/* 16430 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_LEAVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16431 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_LEAVE_RES::MyDTI : MtDTI +{ +}; + +/* 16432 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_READY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16433 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_READY_RES::MyDTI : MtDTI +{ +}; + +/* 16434 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_PARTY_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16435 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_PARTY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16436 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_FORCE_START_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16437 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_FORCE_START_RES::MyDTI : MtDTI +{ +}; + +/* 16438 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_MYSELF_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBoardID; + CEntryItem m_EntryItemData; + bool m_bIsReceived; +}; + +/* 16439 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_MYSELF_RES::MyDTI : MtDTI +{ +}; + +/* 16440 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_LOCK_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16441 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_LOCK_RES::MyDTI : MtDTI +{ +}; + +/* 16442 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_CHANGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CEntryItem m_EntryItemData; + bool m_bIsReceived; +}; + +/* 16443 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_CHANGE_RES::MyDTI : MtDTI +{ +}; + +/* 16444 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_CHANGE_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullBoardID; + CEntryItem m_EntryItemData; + bool m_bIsReceived; +}; + +/* 16445 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INFO_CHANGE_NTC::MyDTI : MtDTI +{ +}; + +/* 16446 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INVITE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16447 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INVITE_RES::MyDTI : MtDTI +{ +}; + +/* 16448 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INVITE_NTC : CPacketDataBase +{ + u16 m_usError; + CCharacterListElement m_Character; + u64 m_ullBoardID; + u32 m_unItemId; + bool m_bIsReceived; +}; + +/* 16449 */ +struct __cppobj nUserSession::CPacket_S2C_ENTRY_BOARD_ITEM_INVITE_NTC::MyDTI : MtDTI +{ +}; + +/* 4676 */ +struct __cppobj CDataNetPos : CPacketDataBase +{ + f64 m_dx; + f32 m_fy; + f64 m_dz; +}; + +/* 4675 */ +typedef CDataNetPos CNetPos; + +/* 5523 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 5524 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 5522 */ +struct __cppobj CDataContextBase : CPacketDataBase +{ + int m_nMemberIndex; + u32 m_unPawnId; + int m_nStageNo; + int m_nStartPosNo; + CNetPos m_Pos; + f32 m_fAngleY; + u8 m_ucSex; + u8 m_ucColor; + MtString m_wstrFirstName; + MtString m_wstrLastName; + MtTypedArray m_ContextEquipPerformanceList; + MtTypedArray m_ContextEquipVisualList; + MtTypedArray m_ContextEquipJobItemList; + b8 m_bHideEquipHead; + b8 m_bHideEquipLantern; + u8 m_ucHmType; + u8 m_ucPawnType; + u32 m_unCharacterId; + b8 m_bSetWaitFlag; + MtTypedArray m_ContextNormalSkillList; + MtTypedArray m_ContextSkillList; + MtTypedArray m_ContextAbilityList; + u32 m_unAbilityCostSum; + u32 m_unAbilityCostMax; +}; + +/* 16453 */ +typedef CDataContextBase CContextBase; + +/* 5534 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4677 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4680 */ +struct __cppobj __attribute__((aligned(8))) CDataVector3 : CPacketDataBase +{ + f32 m_fx; + f32 m_fy; + f32 m_fz; +}; + +/* 4679 */ +typedef CDataVector3 CVector3; + +/* 5533 */ +struct __cppobj __attribute__((aligned(8))) CDataContextPlayerInfo : CPacketDataBase +{ + u8 m_ucJob; + f32 m_fHP; + f32 m_fMaxHP; + f32 m_fWhiteHP; + f32 m_fStamina; + f32 m_fMaxStamina; + f32 m_fWeight; + u16 m_usLv; + u64 m_ullExp; + u32 m_unAtk; + u32 m_unDef; + u32 m_unMAtk; + u32 m_unMDef; + u32 m_unStrength; + u32 m_unDownPower; + u32 m_unShakePower; + u32 m_unStanPower; + u32 m_unConstitution; + u32 m_unGuts; + u64 m_ullJobPoint; + u32 m_unGainHp; + u32 m_unGainStamina; + u32 m_unGainAttack; + u32 m_unGainDefense; + u32 m_unGainMagicAttack; + u32 m_unGainMagicDefense; + u32 m_unActNo; + u8 m_ucRevivePoint; + u8 m_ucCustomSkillGroup; + MtTypedArray m_JobList; + MtTypedArray m_ChargeEffectList; + MtTypedArray m_OcdActiveList; + CNetPos m_CliffPos; + CVector3 m_CliffNormal; + CNetPos m_CliffStartPos; + CNetPos m_CliffStartOldPos; + u8 m_ucCatchType; + u8 m_ucCatchJointNo; + u32 m_unCatchTargetUID; + u16 m_usCustomWork; +}; + +/* 16454 */ +typedef CDataContextPlayerInfo CContextPlayerInfo; + +/* 16452 */ +struct __cppobj CDataLobbyContextPlayer : CPacketDataBase +{ + CContextBase m_Base; + CContextPlayerInfo m_PlayerInfo; + CEditInfo m_EditInfo; +}; + +/* 16451 */ +typedef CDataLobbyContextPlayer CLobbyContextPlayer; + +/* 16450 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LOBBY_PLAYER_CONTEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + CLobbyContextPlayer m_Context; + bool m_bIsReceived; +}; + +/* 16455 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LOBBY_PLAYER_CONTEXT_RES::MyDTI : MtDTI +{ +}; + +/* 16456 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LOBBY_PLAYER_CONTEXT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + CLobbyContextPlayer m_Context; + bool m_bIsReceived; +}; + +/* 16457 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LOBBY_PLAYER_CONTEXT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 5560 */ +struct __cppobj __attribute__((aligned(4))) CDataContextResist : CPacketDataBase +{ + u8 m_ucFireResist; + u8 m_ucIceResist; + u8 m_ucThunderResist; + u8 m_ucHolyResist; + u8 m_ucDarkResist; + u8 m_ucSpreadResist; + u8 m_ucFreezeResist; + u8 m_ucShockResist; + u8 m_ucAbsorbResist; + u8 m_ucDarkElmResist; + u8 m_ucPoisonResist; + u8 m_ucSlowResist; + u8 m_ucSleepResist; + u8 m_ucStunResist; + u8 m_ucWetResist; + u8 m_ucOilResist; + u8 m_ucSealResist; + u8 m_ucCurseResist; + u8 m_ucSoftResist; + u8 m_ucStoneResist; + u8 m_ucGoldResist; + u8 m_ucFireReduceResist; + u8 m_ucIceReduceResist; + u8 m_ucThunderReduceResist; + u8 m_ucHolyReduceResist; + u8 m_ucDarkReduceResist; + u8 m_ucAtkDownResist; + u8 m_ucDefDownResist; + u8 m_ucMAtkDownResist; + u8 m_ucMDefDownResist; +}; + +/* 16461 */ +typedef CDataContextResist CContextResist; + +/* 16460 */ +struct __cppobj CDataPartyContextPlayer : CPacketDataBase +{ + CContextBase m_Base; + CContextPlayerInfo m_PlayerInfo; + CContextResist m_ResistInfo; + CEditInfo m_EditInfo; +}; + +/* 16459 */ +typedef CDataPartyContextPlayer CPartyContextPlayer; + +/* 16458 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_PLAYER_CONTEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + CPartyContextPlayer m_Context; + bool m_bIsReceived; +}; + +/* 16462 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_PLAYER_CONTEXT_RES::MyDTI : MtDTI +{ +}; + +/* 16463 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_PLAYER_CONTEXT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + CPartyContextPlayer m_Context; + bool m_bIsReceived; +}; + +/* 16464 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_PLAYER_CONTEXT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16467 */ +struct __cppobj CDataAllContextPlayer : CPacketDataBase +{ + CContextBase m_Base; + CContextPlayerInfo m_PlayerInfo; + CContextResist m_ResistInfo; + CEditInfo m_EditInfo; +}; + +/* 16466 */ +typedef CDataAllContextPlayer CAllContextPlayer; + +/* 16465 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ALL_PLAYER_CONTEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + CAllContextPlayer m_Context; + bool m_bIsReceived; +}; + +/* 16468 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ALL_PLAYER_CONTEXT_RES::MyDTI : MtDTI +{ +}; + +/* 16469 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ALL_PLAYER_CONTEXT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + CAllContextPlayer m_Context; + bool m_bIsReceived; +}; + +/* 16470 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ALL_PLAYER_CONTEXT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 5538 */ +struct __cppobj CDataContextPawnInfo : CPacketDataBase +{ + MtTypedArray m_PawnReactionList; +}; + +/* 16474 */ +typedef CDataContextPawnInfo CContextPawnInfo; + +/* 16473 */ +struct __cppobj CDataPartyContextPawn : CPacketDataBase +{ + CContextBase m_Base; + CContextPlayerInfo m_PlayerInfo; + CContextPawnInfo m_PawnInfo; + CContextResist m_ResistInfo; + CEditInfo m_EditInfo; +}; + +/* 16472 */ +typedef CDataPartyContextPawn CPartyContextPawn; + +/* 16471 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_MYPAWN_CONTEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CPartyContextPawn m_Context; + bool m_bIsReceived; +}; + +/* 16475 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_MYPAWN_CONTEXT_RES::MyDTI : MtDTI +{ +}; + +/* 16476 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_MYPAWN_CONTEXT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + CPartyContextPawn m_Context; + bool m_bIsReceived; +}; + +/* 16477 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_MYPAWN_CONTEXT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16478 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_RENTED_PAWN_CONTEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CPartyContextPawn m_Context; + bool m_bIsReceived; +}; + +/* 16479 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_RENTED_PAWN_CONTEXT_RES::MyDTI : MtDTI +{ +}; + +/* 16480 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PARTY_RENTED_PAWN_CONTEXT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnID; + CPartyContextPawn m_Context; + bool m_bIsReceived; +}; + +/* 16481 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PARTY_RENTED_PAWN_CONTEXT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16482 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_SET_CONTEXT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16483 */ +struct __cppobj nUserSession::CPacket_S2C_GET_SET_CONTEXT_RES::MyDTI : MtDTI +{ +}; + +/* 4669 */ +struct __cppobj __attribute__((aligned(8))) CDataContextSetBase : CPacketDataBase +{ + u32 m_unID; + u32 m_unUniqueID; + s32 m_nStageNo; + s32 m_nEncountArea; + s32 m_nMasterIndex; +}; + +/* 4668 */ +typedef CDataContextSetBase CContextSetBase; + +/* 16484 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_CONTEXT_BASE_NOTICE : CPacketDataBase +{ + u16 m_usError; + CContextSetBase m_ContextBase; + bool m_bIsReceived; +}; + +/* 16485 */ +struct __cppobj nUserSession::CPacket_S2C_SET_CONTEXT_BASE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4678 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4674 */ +struct __cppobj CDataContextSetAdditional : CPacketDataBase +{ + s32 m_nMasterIndex; + b8 m_bMasterChangeFlag; + CNetPos m_Pos; + f32 m_fMoveSpeed; + f32 m_fMoveAngle; + f32 m_fAngleY; + u32 m_unActNo; + u8 m_ucActReqPrio; + u16 m_usActAtkAdjustUniqueID; + u32 m_unActFreeWork; + u64 m_ullHp[10]; + u16 m_usUseRegionBit; + u64 m_ullHpWhite; + u16 m_usCommonWork; + u16 m_usCustomWork; + MtTypedArray m_OcdActiveList; + MtTypedArray m_OcdImmuneLvList; + f32 m_fEnchantRate; + f32 m_fAilmentDamage; + CNetPos m_CliffPos; + CVector3 m_CliffNormal; + CNetPos m_CliffStartPos; + CNetPos m_CliffStartOldPos; + u32 m_unClimbEnemyID; + s32 m_nJointNo; + CVector3 m_JointOffset; + u16 m_usNodeIndex; + u16 m_usGeomIndex; + u32 m_unTargetUID; + CNetPos m_TargetPos; + s32 m_nEncountAreaBuff[3]; + u32 m_unEnemyStatusGroupNoNum; + u32 m_unEnemyStatusGroupNo[16]; + u32 m_unEnemyStatusSubGroupNo[16]; + u64 m_ullEnemyBitCtrlCollision; + u8 m_ucEnemyCtrlRegionSelectNo; + u64 m_ullEnemyBitCtrlParts; + u64 m_ullEnemyBitCtrlWorkRate; + u64 m_ullEnemyBitCtrlScale; + u64 m_ullEnemyBitCtrlMontage; + u32 m_unEnemyBitCtrlSyncBit; + b8 m_bIsEnemyWaitting; + b8 m_bIsEnemyStartWait; + u64 m_ullAttackParamUIDForDmVec; + CNetPos m_WallClimbPos; + CVector3 m_WallClimbNormal; + CNetPos m_WallClimbLandPos; + u32 m_unStateLive; + u8 m_ucCatchType; + u8 m_ucCatchJointNo; + u32 m_unCatchTargetUID; + u32 m_unQuestID; +}; + +/* 4673 */ +typedef CDataContextSetAdditional CContextSetAdditional; + +/* 4672 */ +struct __cppobj CDataContextSetInfo : CPacketDataBase +{ + CContextSetBase m_Base; + CContextSetAdditional m_Additional; +}; + +/* 4671 */ +typedef CDataContextSetInfo CContextSetInfo; + +/* 16486 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_CONTEXT_NOTICE : CPacketDataBase +{ + u16 m_usError; + CContextSetInfo m_Context; + bool m_bIsReceived; +}; + +/* 16487 */ +struct __cppobj nUserSession::CPacket_S2C_SET_CONTEXT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 4689 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16488 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MASTER_CHANGE_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_Info; + bool m_bIsReceived; +}; + +/* 16489 */ +struct __cppobj nUserSession::CPacket_S2C_MASTER_CHANGE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16490 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MASTER_INFO_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_Info; + bool m_bIsReceived; +}; + +/* 16491 */ +struct __cppobj nUserSession::CPacket_S2C_MASTER_INFO_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16492 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MASTER_THROW_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16493 */ +struct __cppobj nUserSession::CPacket_S2C_MASTER_THROW_RES::MyDTI : MtDTI +{ +}; + +/* 16494 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MASTER_THROW_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_Info; + bool m_bIsReceived; +}; + +/* 16495 */ +struct __cppobj nUserSession::CPacket_S2C_MASTER_THROW_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16496 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_LANTERN_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unRemainTime; + bool m_bIsReceived; +}; + +/* 16497 */ +struct __cppobj nUserSession::CPacket_S2C_START_LANTERN_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16498 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FINISH_LANTERN_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16499 */ +struct __cppobj nUserSession::CPacket_S2C_FINISH_LANTERN_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16500 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_DEATH_PENALTY_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unRemainTime; + bool m_bIsReceived; +}; + +/* 16501 */ +struct __cppobj nUserSession::CPacket_S2C_START_DEATH_PENALTY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16502 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FINISH_DEATH_PENALTY_NOTICE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16503 */ +struct __cppobj nUserSession::CPacket_S2C_FINISH_DEATH_PENALTY_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16504 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_LANTERN_OTHER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16505 */ +struct __cppobj nUserSession::CPacket_S2C_START_LANTERN_OTHER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16506 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FINISH_LANTERN_OTHER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16507 */ +struct __cppobj nUserSession::CPacket_S2C_FINISH_LANTERN_OTHER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16508 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_START_DEATH_PENALTY_OTHER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16509 */ +struct __cppobj nUserSession::CPacket_S2C_START_DEATH_PENALTY_OTHER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16510 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FINISH_DEATH_PENALTY_OTHER_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16511 */ +struct __cppobj nUserSession::CPacket_S2C_FINISH_DEATH_PENALTY_OTHER_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16512 */ +struct __cppobj __attribute__((aligned(2))) nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_PRICE_LIMIT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unItemId; + u32 m_unLow; + u32 m_unHigh; + u16 m_usNum; + bool m_bIsReceived; +}; + +/* 16513 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_PRICE_LIMIT_RES::MyDTI : MtDTI +{ +}; + +/* 16514 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_BAZAAR_RECEIVE_PROCEEDS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unProceeds; + bool m_bIsReceived; +}; + +/* 16515 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_RECEIVE_PROCEEDS_RES::MyDTI : MtDTI +{ +}; + +/* 16516 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_PROCEEDS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBazaarId; + bool m_bIsReceived; +}; + +/* 16517 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_PROCEEDS_RES::MyDTI : MtDTI +{ +}; + +/* 16518 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_PROCEEDS_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullBazaarId; + u32 m_unItemId; + u32 m_unProceeds; + bool m_bIsReceived; +}; + +/* 16519 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_PROCEEDS_NTC::MyDTI : MtDTI +{ +}; + +/* 16520 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_CANCEL_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBazaarId; + bool m_bIsReceived; +}; + +/* 16521 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_CANCEL_RES::MyDTI : MtDTI +{ +}; + +/* 16522 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_EXHIBIT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBazaarId; + bool m_bIsReceived; +}; + +/* 16523 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_EXHIBIT_RES::MyDTI : MtDTI +{ +}; + +/* 16524 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_RE_EXHIBIT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullBazaarId; + bool m_bIsReceived; +}; + +/* 16525 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_RE_EXHIBIT_RES::MyDTI : MtDTI +{ +}; + +/* 16527 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16526 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_HISTORY_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unItemId; + MtTypedArray m_BazaarItemHistoryList; + bool m_bIsReceived; +}; + +/* 16528 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_HISTORY_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 16530 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16529 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unItemId; + MtTypedArray m_BazaarItemList; + bool m_bIsReceived; +}; + +/* 16531 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 16533 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16532 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 16534 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16536 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16535 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_GET_CHARACTER_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_BazaarList; + bool m_bIsReceived; +}; + +/* 16537 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_CHARACTER_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16538 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unNum; + u32 m_unAdd; + bool m_bIsReceived; +}; + +/* 16539 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_RES::MyDTI : MtDTI +{ +}; + +/* 16540 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_MAIL_GET_LIST_HEAD_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 16541 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_GET_LIST_HEAD_RES::MyDTI : MtDTI +{ +}; + +/* 16542 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MAIL_GET_LIST_FOOT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16543 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_GET_LIST_FOOT_RES::MyDTI : MtDTI +{ +}; + +/* 16544 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MAIL_SEND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_CharacterIdList; + bool m_bIsReceived; +}; + +/* 16545 */ +struct __cppobj nUserSession::CPacket_S2C_MAIL_SEND_RES::MyDTI : MtDTI +{ +}; + +/* 16546 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_LIST_HEAD_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 16547 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_LIST_HEAD_RES::MyDTI : MtDTI +{ +}; + +/* 16548 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_LIST_FOOT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16549 */ +struct __cppobj nUserSession::CPacket_S2C_SYSTEM_MAIL_GET_LIST_FOOT_RES::MyDTI : MtDTI +{ +}; + +/* 16550 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_KICK_CHARACTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16551 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_KICK_CHARACTER_RES::MyDTI : MtDTI +{ +}; + +/* 16552 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_COMMAND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrCommand; + bool m_bIsReceived; +}; + +/* 16553 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_COMMAND_RES::MyDTI : MtDTI +{ +}; + +/* 16556 */ +struct __cppobj __attribute__((aligned(8))) CDataGameTime : CPacketDataBase +{ + u8 m_ucMoon; + u8 m_ucSec; + u8 m_ucMin; + u8 m_ucHour; + u8 m_ucMDay; + u8 m_ucMon; + u8 m_ucWDay; + u16 m_usYear; +}; + +/* 16555 */ +typedef CDataGameTime CGameTime; + +/* 16554 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_TIME_UPDATE_NOTICE : CPacketDataBase +{ + u16 m_usError; + CGameTime m_GameTime; + bool m_bIsReceived; +}; + +/* 16557 */ +struct __cppobj nUserSession::CPacket_S2C_TIME_UPDATE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16558 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_WEATHER_UPDATE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unWeatherID; + bool m_bIsReceived; +}; + +/* 16559 */ +struct __cppobj nUserSession::CPacket_S2C_WEATHER_UPDATE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 3424 */ +struct __cppobj CDataGameTimeBaseInfo : CPacketDataBase +{ + u32 m_unGameTimeOneDayMin; + u32 m_unGameTimeYearMonth; + u32 m_unGameTimeMonthDay; + u32 m_unGameTimeDayHour; + u32 m_unGameTimeWeekDay; + u32 m_unGameTimeMoonAge; + s64 m_llOriginalRealTimeSec; + s64 m_llOriginalGameTimeSec; + u32 m_unOriginalWeek; + u32 m_unOriginalMoonAge; +}; + +/* 3423 */ +typedef CDataGameTimeBaseInfo CGameTimeBaseInfo; + +/* 3426 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3428 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 3430 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16560 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GAME_TIME_GET_BASEINFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CGameTimeBaseInfo m_GameTimeBaseInfo; + MtTypedArray m_WeatherLoop; + MtTypedArray m_WeatherSchedule; + u32 m_unMoonAgeLoopSec; + MtTypedArray m_MoonSchedule; + bool m_bIsReceived; +}; + +/* 16561 */ +struct __cppobj nUserSession::CPacket_S2C_GAME_TIME_GET_BASEINFO_RES::MyDTI : MtDTI +{ +}; + +/* 16562 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GAME_TIME_BASEINFO_NTC : CPacketDataBase +{ + u16 m_usError; + CGameTimeBaseInfo m_GameTimeBaseInfo; + bool m_bIsReceived; +}; + +/* 16563 */ +struct __cppobj nUserSession::CPacket_S2C_GAME_TIME_BASEINFO_NTC::MyDTI : MtDTI +{ +}; + +/* 16564 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_WEATHER_LOOP_SCHEDULE_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_WeatherLoop; + MtTypedArray m_WeatherSchedule; + bool m_bIsReceived; +}; + +/* 16565 */ +struct __cppobj nUserSession::CPacket_S2C_WEATHER_LOOP_SCHEDULE_NTC::MyDTI : MtDTI +{ +}; + +/* 16566 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MOON_LOOP_SCHEDULE_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unMoonAgeLoopSec; + MtTypedArray m_MoonSchedule; + bool m_bIsReceived; +}; + +/* 16567 */ +struct __cppobj nUserSession::CPacket_S2C_MOON_LOOP_SCHEDULE_NTC::MyDTI : MtDTI +{ +}; + +/* 16569 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16568 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + CCharacterName m_CharacterName; + u8 m_ucJob; + u8 m_ucJobLevel; + CClanParam m_ClanParam; + u32 m_unClanMemberRank; + MtTypedArray m_JobLevelList; + CMatchingProfile m_MatchingProfile; + CArisenProfile m_ArisenProfile; + MtString m_wstrOnlineId; + bool m_bIsReceived; +}; + +/* 16570 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 5545 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 5548 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16571 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_MY_CHARACTER_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_HistoryElementList; + MtString m_wstrOnlineId; + u32 m_unAbilityCostMax; + MtTypedArray m_AchieveCategoryStatusList; + MtTypedArray m_OrbStatusList; + MtTypedArray m_JobOrbTreeStatusList; + bool m_bIsReceived; +}; + +/* 16572 */ +struct __cppobj nUserSession::CPacket_S2C_GET_MY_CHARACTER_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 4589 */ +struct __cppobj CDataCharacterEquipData : CPacketDataBase +{ + MtTypedArray m_EquipList; +}; + +/* 16574 */ +typedef CDataCharacterEquipData CCharacterEquipData; + +/* 16573 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_STATUS_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + CStatusInfo m_StatusInfo; + CCharacterJobData m_JobParam; + CCharacterLevelParam m_CharacterParam; + CEditInfo m_EditInfo; + CCharacterEquipData m_EquipData; + CCharacterEquipData m_VisualEquipData; + MtTypedArray m_EquipJobItemList; + b8 m_bHideHead; + b8 m_bHideLantern; + u32 m_unJewelryNum; + bool m_bIsReceived; +}; + +/* 16575 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_STATUS_NTC::MyDTI : MtDTI +{ +}; + +/* 16576 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_CHARACTER_SKILL_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucJobID; + MtTypedArray m_NormalSkillList; + MtTypedArray m_SetCustomSkillList; + MtTypedArray m_SetAbilityList; + u32 m_unAbilityCostMax; + bool m_bIsReceived; +}; + +/* 16577 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_SKILL_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 16578 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_HISTORY_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtTypedArray m_HistoryElementList; + bool m_bIsReceived; +}; + +/* 16579 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_HISTORY_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 16580 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_ACHIEVEMENT_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtTypedArray m_AchieveCategoryStatusList; + bool m_bIsReceived; +}; + +/* 16581 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_ACHIEVEMENT_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 16582 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHARACTER_ORB_DEVOTE_INFO_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + MtTypedArray m_OrbStatusList; + MtTypedArray m_JobOrbStatusList; + bool m_bIsReceived; +}; + +/* 16583 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_ORB_DEVOTE_INFO_NTC::MyDTI : MtDTI +{ +}; + +/* 16584 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_CHARACTER_BINARY_STATUS_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unBinarySize; + u8 m_ucBinaryData[512]; + bool m_bIsReceived; +}; + +/* 16585 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHARACTER_BINARY_STATUS_NTC::MyDTI : MtDTI +{ +}; + +/* 16586 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_ARISEN_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16587 */ +struct __cppobj nUserSession::CPacket_S2C_SET_ARISEN_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 16588 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PAWN_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16589 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PAWN_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 16590 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_PAWN_PROFILE_COMMENT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16591 */ +struct __cppobj nUserSession::CPacket_S2C_SET_PAWN_PROFILE_COMMENT_RES::MyDTI : MtDTI +{ +}; + +/* 16592 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_ARISEN_PROFILE_SHARE_RANGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16593 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_ARISEN_PROFILE_SHARE_RANGE_RES::MyDTI : MtDTI +{ +}; + +/* 16596 */ +struct __cppobj CDataJumpLocation : CPacketDataBase +{ + u32 m_ulStageId; + u32 m_unStartPos; +}; + +/* 16595 */ +typedef CDataJumpLocation CJumpLocation; + +/* 16594 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_RETURN_LOCATION_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CJumpLocation m_jumpLocation; + bool m_bIsReceived; +}; + +/* 16597 */ +struct __cppobj nUserSession::CPacket_S2C_GET_RETURN_LOCATION_RES::MyDTI : MtDTI +{ +}; + +/* 16598 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_COMPLETE_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_AchievementIdList; + bool m_bIsReceived; +}; + +/* 16599 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_COMPLETE_NTC::MyDTI : MtDTI +{ +}; + +/* 16600 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_POINT_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucRevivePoint; + bool m_bIsReceived; +}; + +/* 16601 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_POINT_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 16602 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_CHARACTER_GOLDEN_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unGP; + bool m_bIsReceived; +}; + +/* 16603 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_GOLDEN_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 16604 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_PENALTY_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16605 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_PENALTY_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 16606 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARACTER_REVIVE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 16607 */ +struct __cppobj nUserSession::CPacket_S2C_CHARACTER_REVIVE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16608 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_PAWN_POINT_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnId; + u8 m_ucRevivePoint; + bool m_bIsReceived; +}; + +/* 16609 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_POINT_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 16610 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_GOLDEN_REVIVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnId; + u32 m_unGP; + bool m_bIsReceived; +}; + +/* 16611 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_GOLDEN_REVIVE_RES::MyDTI : MtDTI +{ +}; + +/* 16612 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_REVIVE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 16613 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_REVIVE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16614 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_GET_REVIVE_CHARGEABLE_TIME_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRemainTime; + bool m_bIsReceived; +}; + +/* 16615 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REVIVE_CHARGEABLE_TIME_RES::MyDTI : MtDTI +{ +}; + +/* 16616 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CHARGE_REVIVE_POINT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucRevivePoint; + bool m_bIsReceived; +}; + +/* 16617 */ +struct __cppobj nUserSession::CPacket_S2C_CHARGE_REVIVE_POINT_RES::MyDTI : MtDTI +{ +}; + +/* 16618 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_REVIVE_POINT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucRevivePoint; + bool m_bIsReceived; +}; + +/* 16619 */ +struct __cppobj nUserSession::CPacket_S2C_GET_REVIVE_POINT_RES::MyDTI : MtDTI +{ +}; + +/* 16620 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_REVIVE_POINT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u8 m_ucRevivePoint; + bool m_bIsReceived; +}; + +/* 16621 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_REVIVE_POINT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16623 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16622 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_UNLOCKED_EDIT_PARTS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MalePartsList; + MtTypedArray m_FemalePartsList; + bool m_bIsReceived; +}; + +/* 16624 */ +struct __cppobj nUserSession::CPacket_S2C_GET_UNLOCKED_EDIT_PARTS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16625 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_UNLOCKED_PAWN_EDIT_PARTS_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MalePartsList; + MtTypedArray m_FemalePartsList; + bool m_bIsReceived; +}; + +/* 16626 */ +struct __cppobj nUserSession::CPacket_S2C_GET_UNLOCKED_PAWN_EDIT_PARTS_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16627 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_UPDATE_CHARACTER_EDIT_PARAM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unGP; + bool m_bIsReceived; +}; + +/* 16628 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_CHARACTER_EDIT_PARAM_RES::MyDTI : MtDTI +{ +}; + +/* 16629 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_UPDATE_PAWN_EDIT_PARAM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unGP; + bool m_bIsReceived; +}; + +/* 16630 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_PAWN_EDIT_PARAM_RES::MyDTI : MtDTI +{ +}; + +/* 16631 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_EDIT_PARAM_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + CEditInfo m_EditInfo; + bool m_bIsReceived; +}; + +/* 16632 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EDIT_PARAM_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16633 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GAME_SERVER_CERT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucOpenModulo[256]; + u8 m_ucOpenExpo[16]; + u32 m_unOpenHash[5]; + bool m_bIsReceived; +}; + +/* 16634 */ +struct __cppobj nUserSession::CPacket_S2C_GAME_SERVER_CERT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16635 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLIENT_CHALLENGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPasswordSrcSize; + u8 m_ucPasswordEncSize; + u8 m_ucPasswordEnc[62]; + bool m_bIsReceived; +}; + +/* 16636 */ +struct __cppobj nUserSession::CPacket_S2C_CLIENT_CHALLENGE_RES::MyDTI : MtDTI +{ +}; + +/* 16637 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_STAMP_BONUS_RECIEVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16638 */ +struct __cppobj nUserSession::CPacket_S2C_STAMP_BONUS_RECIEVE_RES::MyDTI : MtDTI +{ +}; + +/* 16639 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_STAMP_BONUS_ADD_TOTAL_NUM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16640 */ +struct __cppobj nUserSession::CPacket_S2C_STAMP_BONUS_ADD_TOTAL_NUM_RES::MyDTI : MtDTI +{ +}; + +/* 16642 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16643 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16641 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_NG_WORD_GET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u64 m_ullVersionNo; + MtTypedArray m_NGWordInfoList; + MtTypedArray m_SameLetterInfoList; + bool m_bIsReceived; +}; + +/* 16644 */ +struct __cppobj nUserSession::CPacket_S2C_NG_WORD_GET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16645 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_REPORT_SITE_GET_ADDRESS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrAddress; + bool m_bIsReceived; +}; + +/* 16646 */ +struct __cppobj nUserSession::CPacket_S2C_REPORT_SITE_GET_ADDRESS_RES::MyDTI : MtDTI +{ +}; + +/* 16647 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EVENT_CODE_INPUT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrName; + bool m_bIsReceived; +}; + +/* 16648 */ +struct __cppobj nUserSession::CPacket_S2C_EVENT_CODE_INPUT_RES::MyDTI : MtDTI +{ +}; + +/* 16649 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_URL_GET_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_URLInfoList; + bool m_bIsReceived; +}; + +/* 16650 */ +struct __cppobj nUserSession::CPacket_S2C_URL_GET_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16651 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_COG_LOGIN_SKIP_FLAG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucFlag; + bool m_bIsReceived; +}; + +/* 16652 */ +struct __cppobj nUserSession::CPacket_S2C_COG_LOGIN_SKIP_FLAG_RES::MyDTI : MtDTI +{ +}; + +/* 16653 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_COG_LOGIN_SKIP_DISABLE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucFlag; + bool m_bIsReceived; +}; + +/* 16654 */ +struct __cppobj nUserSession::CPacket_S2C_COG_LOGIN_SKIP_DISABLE_RES::MyDTI : MtDTI +{ +}; + +/* 3419 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16655 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DLC_GET_BOUGHT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_Boughts; + bool m_bIsReceived; +}; + +/* 16656 */ +struct __cppobj nUserSession::CPacket_S2C_DLC_GET_BOUGHT_RES::MyDTI : MtDTI +{ +}; + +/* 16657 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DLC_USE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_Boughts; + bool m_bIsReceived; +}; + +/* 16658 */ +struct __cppobj nUserSession::CPacket_S2C_DLC_USE_RES::MyDTI : MtDTI +{ +}; + +/* 3421 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16659 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DLC_GET_HISTORY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_Historys; + bool m_bIsReceived; +}; + +/* 16660 */ +struct __cppobj nUserSession::CPacket_S2C_DLC_GET_HISTORY_RES::MyDTI : MtDTI +{ +}; + +/* 16661 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_COG_GET_SESSION_KEY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrSessionKey; + bool m_bIsReceived; +}; + +/* 16662 */ +struct __cppobj nUserSession::CPacket_S2C_COG_GET_SESSION_KEY_RES::MyDTI : MtDTI +{ +}; + +/* 16663 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_COMMUNITY_CHARACTER_STATUS_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16664 */ +struct __cppobj nUserSession::CPacket_S2C_COMMUNITY_CHARACTER_STATUS_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16665 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EJECTION_NTC : CPacketDataBase +{ + u16 m_usError; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 16666 */ +struct __cppobj nUserSession::CPacket_S2C_EJECTION_NTC::MyDTI : MtDTI +{ +}; + +/* 16667 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_NETCAFE_ERROR_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nErrorNo; + bool m_bIsReceived; +}; + +/* 16668 */ +struct __cppobj nUserSession::CPacket_S2C_NETCAFE_ERROR_NTC::MyDTI : MtDTI +{ +}; + +/* 16669 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PHOTO_GET_AUTH_ADDRESS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrAddress; + MtString m_wstrToken; + bool m_bIsReceived; +}; + +/* 16670 */ +struct __cppobj nUserSession::CPacket_S2C_PHOTO_GET_AUTH_ADDRESS_RES::MyDTI : MtDTI +{ +}; + +/* 16671 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CHEAT_INFO_REQ : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16672 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CHEAT_INFO_REQ::MyDTI : MtDTI +{ +}; + +/* 16673 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CRAFT_TIME_SAVE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + u32 m_unRemainTime; + bool m_bIsReceived; +}; + +/* 16674 */ +struct __cppobj nUserSession::CPacket_S2C_CRAFT_TIME_SAVE_RES::MyDTI : MtDTI +{ +}; + +/* 16675 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MY_ROOM_RELEASE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16676 */ +struct __cppobj nUserSession::CPacket_S2C_MY_ROOM_RELEASE_RES::MyDTI : MtDTI +{ +}; + +/* 8867 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 8870 */ +struct __cppobj __attribute__((aligned(8))) CDataMyRoomOption : CPacketDataBase +{ + MtTypedArray m_BgmAcquirementNoList; + u32 m_unBgmAcquirementNo; +}; + +/* 16678 */ +typedef CDataMyRoomOption CMyRoomOption; + +/* 16677 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FURNITURE_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_FurnitureList; + CMyRoomOption m_MyRoomOption; + bool m_bIsReceived; +}; + +/* 16679 */ +struct __cppobj nUserSession::CPacket_S2C_FURNITURE_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16680 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_FURNITURE_LAYOUT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16681 */ +struct __cppobj nUserSession::CPacket_S2C_FURNITURE_LAYOUT_RES::MyDTI : MtDTI +{ +}; + +/* 16682 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASED_CRAFT_RECIPE_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RecipeIdList; + bool m_bIsReceived; +}; + +/* 16683 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASED_CRAFT_RECIPE_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16685 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16684 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASED_EDIT_PARTS_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_EditPartsList; + bool m_bIsReceived; +}; + +/* 16686 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASED_EDIT_PARTS_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16688 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16687 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASED_EMOTION_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_EmotionList; + bool m_bIsReceived; +}; + +/* 16689 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASED_EMOTION_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16691 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16690 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RELEASED_PAWN_TALK_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PawnTalkList; + bool m_bIsReceived; +}; + +/* 16692 */ +struct __cppobj nUserSession::CPacket_S2C_RELEASED_PAWN_TALK_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16693 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_LIKABILITY_REWARD_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 16694 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_LIKABILITY_REWARD_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16695 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_LIKABILITY_UP_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 16696 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_LIKABILITY_UP_NTC::MyDTI : MtDTI +{ +}; + +/* 7031 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16697 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_RECIPE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucCategory; + MtTypedArray m_RecipeList; + b8 m_bIsEnd; + bool m_bIsReceived; +}; + +/* 16698 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_RECIPE_RES::MyDTI : MtDTI +{ +}; + +/* 16699 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_RECIPE_DESIGNATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucCategory; + MtTypedArray m_RecipeList; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 16700 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_RECIPE_DESIGNATE_RES::MyDTI : MtDTI +{ +}; + +/* 7037 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16701 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CRAFT_GRADEUP_RECIPE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucCategory; + MtTypedArray m_RecipeList; + MtTypedArray m_UnknownItemList; + b8 m_bIsEnd; + bool m_bIsReceived; +}; + +/* 16702 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CRAFT_GRADEUP_RECIPE_RES::MyDTI : MtDTI +{ +}; + +/* 16703 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_ACHIEVEMENT_RECEIVABLE_REWARD_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 16704 */ +struct __cppobj nUserSession::CPacket_S2C_ACHIEVEMENT_RECEIVABLE_REWARD_NTC::MyDTI : MtDTI +{ +}; + +/* 16705 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_CAPLINK_ACHIEVE_REWARD_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16706 */ +struct __cppobj nUserSession::CPacket_S2C_GET_CAPLINK_ACHIEVE_REWARD_RES::MyDTI : MtDTI +{ +}; + +/* 16707 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SET_CAPLINK_ACHIEVE_USER_STATE_NTC : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_CaplinkAchievementID; + bool m_bIsReceived; +}; + +/* 16708 */ +struct __cppobj nUserSession::CPacket_S2C_SET_CAPLINK_ACHIEVE_USER_STATE_NTC::MyDTI : MtDTI +{ +}; + +/* 16710 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16709 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SWITCH_STORAGE_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + b8 m_bIsStart; + MtTypedArray m_ChangeList; + bool m_bIsReceived; +}; + +/* 16711 */ +struct __cppobj nUserSession::CPacket_S2C_SWITCH_STORAGE_NTC::MyDTI : MtDTI +{ +}; + +/* 16712 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SERVER_UI_COMMAND_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16713 */ +struct __cppobj nUserSession::CPacket_S2C_SERVER_UI_COMMAND_RES::MyDTI : MtDTI +{ +}; + +/* 16714 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_EXP_MODE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucMode; + bool m_bIsReceived; +}; + +/* 16715 */ +struct __cppobj nUserSession::CPacket_S2C_GET_EXP_MODE_RES::MyDTI : MtDTI +{ +}; + +/* 16716 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_UPDATE_EXP_MODE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PlayPointList; + bool m_bIsReceived; +}; + +/* 16717 */ +struct __cppobj nUserSession::CPacket_S2C_UPDATE_EXP_MODE_RES::MyDTI : MtDTI +{ +}; + +/* 16718 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PLAY_POINT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_PlayPointList; + bool m_bIsReceived; +}; + +/* 16719 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PLAY_POINT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16720 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_CONCIERGE_UPDATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unNpcId; + u32 m_unClanPoint; + bool m_bIsReceived; +}; + +/* 16721 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_CONCIERGE_UPDATE_RES::MyDTI : MtDTI +{ +}; + +/* 16722 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_PARTNER_PAWN_LIST_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_MyPartnerPawnList; + MtTypedArray m_MemberPartnerPawnList; + bool m_bIsReceived; +}; + +/* 16723 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_PARTNER_PAWN_LIST_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16724 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_PARTNER_PAWN_DATA_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + CNoraPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 16725 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_PARTNER_PAWN_DATA_GET_RES::MyDTI : MtDTI +{ +}; + +/* 16726 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16727 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_RES::MyDTI : MtDTI +{ +}; + +/* 16728 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_SALLY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16729 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_SALLY_RES::MyDTI : MtDTI +{ +}; + +/* 16730 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16731 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_RES::MyDTI : MtDTI +{ +}; + +/* 16732 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_CANCEL_SALLY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16733 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_CANCEL_SALLY_RES::MyDTI : MtDTI +{ +}; + +/* 3510 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16734 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_REWARD_DROP_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unRewardDropNum; + MtTypedArray m_BoxIdVec; + MtTypedArray m_MdlTypeVec; + bool m_bIsReceived; +}; + +/* 16735 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_REWARD_DROP_RES::MyDTI : MtDTI +{ +}; + +/* 16736 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnRewardBoxId; + MtTypedArray m_GatheringItemList; + bool m_bIsReceived; +}; + +/* 16737 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 16738 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnRewardBoxId; + MtTypedArray m_GatheringItemListAfterRequest; + u8 m_ucPawnExpeditionStatus; + bool m_bIsReceived; +}; + +/* 16739 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_RES::MyDTI : MtDTI +{ +}; + +/* 16740 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_MY_ROOM_BGM_UPDATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 16741 */ +struct __cppobj nUserSession::CPacket_S2C_MY_ROOM_BGM_UPDATE_RES::MyDTI : MtDTI +{ +}; + +/* 16743 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16742 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EQUIP_BIND_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucType; + MtTypedArray m_EquipBindList; + bool m_bIsReceived; +}; + +/* 16744 */ +struct __cppobj nUserSession::CPacket_S2C_EQUIP_BIND_NOTICE::MyDTI : MtDTI +{ +}; + +/* 16745 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_QUEST_LOG_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16746 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_JOB_VALUE_SHOP_BUY_ITEM_REQ +{ + u16 m_usError; + u8 m_ucJobId; + u8 m_ucJobValueType; + u32 m_unLineupId; + u8 m_ucNum; + u8 m_ucStorageType; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16747 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_JOB_VALUE_SHOP_GET_LINEUP_REQ +{ + u16 m_usError; + u8 m_ucJobId; + u8 m_ucJobValueType; + bool m_bIsReceived; +}; + +/* 4714 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16748 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_UPDATE_EXP_MODE_REQ +{ + u16 m_usError; + MtTypedArray m_UpdateExpModeList; + bool m_bIsReceived; +}; + +/* 16749 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_PLAY_POINT_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16750 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_CANCEL_SALLY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16751 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_GET_SALLY_REWARD_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16752 */ +struct nUserSession::CPacket_C2S_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_REQ +{ + u16 m_usError; + u8 m_ucPrice; + bool m_bIsReceived; +}; + +/* 16753 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_SALLY_REQ +{ + u16 m_usError; + u32 m_unAreaId; + u32 m_unSpotId; + bool m_bIsReceived; +}; + +/* 16754 */ +struct nUserSession::CPacket_C2S_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_REQ +{ + u16 m_usError; + u8 m_ucPrice; + bool m_bIsReceived; +}; + +/* 16755 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_GET_MY_SALLY_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16756 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_GET_SALLY_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16757 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_REQ +{ + u16 m_usError; + u32 m_unPawnRewardBoxId; + MtTypedArray m_GatheringItemGetRequestList; + bool m_bIsReceived; +}; + +/* 16758 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnRewardBoxId; + bool m_bIsReceived; +}; + +/* 16759 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_EXPEDITION_GET_REWARD_DROP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16760 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_GET_HISTORY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16761 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_SHOP_BUY_BUFF_ITEM_REQ +{ + u16 m_usError; + u32 m_unLineupId; + bool m_bIsReceived; +}; + +/* 16762 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_SHOP_BUY_FUNCTION_ITEM_REQ +{ + u16 m_usError; + u32 m_unLineupId; + bool m_bIsReceived; +}; + +/* 16763 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SHOP_GET_BUFF_ITEM_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16764 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16765 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_BASE_RELEASE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16766 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_PARTNER_PAWN_DATA_GET_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16767 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_PARTNER_PAWN_LIST_GET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16768 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_CONCIERGE_GET_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16769 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_CONCIERGE_UPDATE_REQ +{ + u16 m_usError; + u32 m_unNpcId; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16770 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_WEATHER_FORECAST_GET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16771 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_MY_ROOM_BGM_UPDATE_REQ +{ + u16 m_usError; + u32 m_unBgmAcquirementNo; + bool m_bIsReceived; +}; + +/* 16772 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16773 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_PAWN_LIKABILITY_REWARD_GET_REQ +{ + u16 m_usError; + MtTypedArray m_RewardUidList; + u64 m_ullUpdateHairUid; + bool m_bIsReceived; +}; + +/* 16774 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PAWN_LIKABILITY_REWARD_LIST_GET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16775 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PARTNER_PAWN_SET_REQ +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 1298 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16776 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_PRESENT_FOR_PARTNER_PAWN_REQ +{ + u16 m_usError; + MtTypedArray m_ItemUIDList; + bool m_bIsReceived; +}; + +/* 16777 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16778 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_MY_ROOM_RELEASE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4580 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16779 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_CHEAT_INFO_RES +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_Info; + bool m_bIsReceived; +}; + +/* 16780 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RESET_CRAFTPOINT_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16781 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RESET_JOBPOINT_REQ +{ + u16 m_usError; + u32 m_unSkillID; + u8 m_ucSkillLv; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 4702 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16782 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_EXCHANGE_DISPEL_ITEM_REQ +{ + u16 m_usError; + MtTypedArray m_GetDispelItemList; + bool m_bIsReceived; +}; + +/* 16783 */ +struct nUserSession::CPacket_C2S_GET_DISPEL_ITEM_LIST_REQ +{ + u16 m_usError; + u8 m_ucCategory; + bool m_bIsReceived; +}; + +/* 16784 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_DISPEL_ITEM_SETTING_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16785 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SERVER_UI_COMMAND_REQ +{ + u16 m_usError; + u32 m_unId; + u32 m_unCommand; + u32 m_unArgNum1; + u32 m_unArgNum2; + bool m_bIsReceived; +}; + +/* 4701 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16786 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_ITEM_STORAGE_INFO_REQ +{ + u16 m_usError; + MtTypedArray m_GameItemStorageList; + bool m_bIsReceived; +}; + +/* 4699 */ +struct __cppobj __attribute__((aligned(8))) CDataItemSort : CPacketDataBase +{ + u8 m_ucStorageType; + u8 m_ucBin[1024]; +}; + +/* 16787 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_ITEM_SORTDATA_BIN_REQ +{ + u16 m_usError; + CDataItemSort m_SortData; + bool m_bIsReceived; +}; + +/* 16788 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_ITEM_SORTDATA_BIN_REQ +{ + u16 m_usError; + MtTypedArray m_SortList; + bool m_bIsReceived; +}; + +/* 4698 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16789 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SUPPORT_POINT_USE_REQ +{ + u16 m_usError; + MtTypedArray m_UsePointList; + bool m_bIsReceived; +}; + +/* 16790 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SUPPORT_POINT_GET_RATE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16791 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_END_RETURN_PREPARE_NOTICE +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16792 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_NG_WORD_GET_LIST_REQ +{ + u16 m_usError; + u64 m_ullVersionNo; + bool m_bIsReceived; +}; + +/* 16793 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_URL_GET_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16794 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_REPORT_SITE_GET_ADDRESS_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16795 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_EVENT_CODE_INPUT_REQ +{ + u16 m_usError; + MtString m_wstrCode; + bool m_bIsReceived; +}; + +/* 16796 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_STAMP_BONUS_ADD_TOTAL_NUM_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16797 */ +struct nUserSession::CPacket_C2S_STAMP_BONUS_RECIEVE_REQ +{ + u16 m_usError; + u8 m_ucBonusType; + bool m_bIsReceived; +}; + +/* 16798 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_STAMP_BONUS_CHECK_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16799 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_STAMP_BONUS_GET_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16800 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BOX_GACHA_RESET_REQ +{ + u16 m_usError; + u32 m_unId; + bool m_bIsReceived; +}; + +/* 16801 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BOX_GACHA_DRAW_INFO_REQ +{ + u16 m_usError; + u32 m_unId; + bool m_bIsReceived; +}; + +/* 16802 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GACHA_BUY_REQ +{ + u16 m_usError; + u32 m_unId; + u32 m_unDrawGroupId; + u32 m_unSettlementId; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16803 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BOX_GACHA_BUY_REQ +{ + u16 m_usError; + u32 m_unId; + u32 m_unDrawId; + u32 m_unSettlementId; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16804 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GACHA_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16805 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_BOX_GACHA_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16806 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_LOADING_GET_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16807 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_POST_ITEM_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16808 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_REVIVE_POINT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16809 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CHARGE_REVIVE_POINT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16810 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_REVIVE_CHARGEABLE_TIME_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16811 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_GOLDEN_REVIVE_REQ +{ + u16 m_usError; + u32 m_unPawnId; + u32 m_unHpMax; + bool m_bIsReceived; +}; + +/* 16812 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_POINT_REVIVE_REQ +{ + u16 m_usError; + u32 m_unPawnId; + u32 m_unHpMax; + bool m_bIsReceived; +}; + +/* 16813 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_DEAD_NOTICE +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 16814 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_DOWN_CANCEL_NOTICE +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 16815 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_DOWN_NOTICE +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 16816 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHARACTER_PENALTY_REVIVE_REQ +{ + u16 m_usError; + u32 m_unHpMax; + bool m_bIsReceived; +}; + +/* 16817 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHARACTER_GOLDEN_REVIVE_REQ +{ + u16 m_usError; + u32 m_unHpMax; + bool m_bIsReceived; +}; + +/* 16818 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHARACTER_POINT_REVIVE_REQ +{ + u16 m_usError; + u32 m_unHpMax; + bool m_bIsReceived; +}; + +/* 16819 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CHARACTER_DEAD_NOTICE +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16820 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CHARACTER_DOWN_CANCEL_NOTICE +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16821 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CHARACTER_DOWN_NOTICE +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16822 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_CAPLINK_ACHIEVE_REWARD_REQ +{ + u16 m_usError; + MtString m_wstrfilteringContentId; + MtTypedArray m_AchievementId; + bool m_bIsReceived; +}; + +/* 16823 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PHOTO_TAKE_NTC +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16824 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ACHIEVEMENT_REWARD_RECEIVE_REQ +{ + u16 m_usError; + MtTypedArray m_RewardList; + bool m_bIsReceived; +}; + +/* 16825 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16826 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16827 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ACHIEVEMENT_GET_REWARD_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16828 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ACHIEVEMENT_GET_PROGRESS_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16829 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RETURN_LOCATION_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16830 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_UPDATE_LAST_BASE_NTC +{ + u16 m_usError; + u32 m_unBaseID; + bool m_bIsReceived; +}; + +/* 16831 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_COMMUNITY_CHARACTER_STATUS_GET_REQ +{ + u16 m_usError; + u32 m_unType; + bool m_bIsReceived; +}; + +/* 16832 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_REMOVE_BLACK_LIST_REQ +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 16833 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ADD_BLACK_LIST_REQ +{ + u16 m_usError; + CCommunityCharacterBaseInfo m_CharacterInfo; + bool m_bIsReceived; +}; + +/* 16834 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_BLACK_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16835 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RECENT_CHARACTER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16836 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GROUP_CHAT_KICK_CHARACTER_REQ +{ + u16 m_usError; + u64 m_ullGroupID; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16837 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GROUP_CHAT_LEAVE_CHARACTER_REQ +{ + u16 m_usError; + u64 m_ullGroupID; + bool m_bIsReceived; +}; + +/* 16838 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GROUP_CHAT_INVITE_CHARACTER_REQ +{ + u16 m_usError; + u64 m_ullGroupID; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16839 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GROUP_CHAT_GET_MEMBER_LIST_REQ +{ + u16 m_usError; + u64 m_ullGroupID; + bool m_bIsReceived; +}; + +/* 16840 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16841 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BAZAAR_GET_ITEM_PRICE_LIMIT_REQ +{ + u16 m_usError; + u32 m_unItemId; + bool m_bIsReceived; +}; + +/* 16842 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_BAZAAR_RECEIVE_PROCEEDS_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4692 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16843 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_BAZAAR_PROCEEDS_REQ +{ + u16 m_usError; + u64 m_ullBazaarId; + u32 m_unItemId; + u16 m_usSequence; + MtTypedArray m_ItemStorageIndicateNum; + bool m_bIsReceived; +}; + +/* 16844 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_BAZAAR_CANCEL_REQ +{ + u16 m_usError; + u64 m_ullBazaarId; + bool m_bIsReceived; +}; + +/* 16845 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BAZAAR_RE_EXHIBIT_REQ +{ + u16 m_usError; + u64 m_ullBazaarId; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16846 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_BAZAAR_EXHIBIT_REQ +{ + u16 m_usError; + u8 m_ucStorageType; + MtString m_wstrItemUID; + u32 m_unNum; + u32 m_unPrice; + u8 m_ucFlag; + bool m_bIsReceived; +}; + +/* 16847 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BAZAAR_GET_ITEM_HISTORY_INFO_REQ +{ + u16 m_usError; + u32 m_unItemId; + bool m_bIsReceived; +}; + +/* 16848 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BAZAAR_GET_ITEM_INFO_REQ +{ + u16 m_usError; + u32 m_unItemId; + bool m_bIsReceived; +}; + +/* 16849 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_BAZAAR_GET_ITEM_LIST_REQ +{ + u16 m_usError; + MtTypedArray m_ItemIdList; + bool m_bIsReceived; +}; + +/* 16850 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_BAZAAR_GET_CHARACTER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16851 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_RANKING_DATA_CHARACTER_ID_REQ +{ + u16 m_usError; + u32 m_unId; + MtTypedArray m_CharacterIdList; + bool m_bIsReceived; +}; + +/* 16852 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RANKING_DATA_RANK_BY_QUEST_SCHEDULE_ID_REQ +{ + u16 m_usError; + u32 m_unId; + u32 m_unRank; + u8 m_ucNum; + bool m_bIsReceived; +}; + +/* 16853 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RANKING_DATA_RANK_REQ +{ + u16 m_usError; + u32 m_unId; + u32 m_unRank; + u8 m_ucNum; + bool m_bIsReceived; +}; + +/* 16854 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_RANKING_BOARD_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16855 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SYSTEM_MAIL_DELETE_REQ +{ + u16 m_usError; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 16856 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SYSTEM_MAIL_GET_ALL_ITEM_REQ +{ + u16 m_usError; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 4695 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16857 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SYSTEM_MAIL_GET_ITEM_REQ +{ + u16 m_usError; + u64 m_ullId; + MtTypedArray m_AttachmentIdList; + bool m_bIsReceived; +}; + +/* 16858 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SYSTEM_MAIL_GET_TEXT_REQ +{ + u16 m_usError; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 16859 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SYSTEM_MAIL_GET_LIST_FOOT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16860 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SYSTEM_MAIL_GET_LIST_DATA_REQ +{ + u16 m_usError; + u32 m_unOffset; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 16861 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SYSTEM_MAIL_GET_LIST_HEAD_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16862 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_MAIL_SEND_REQ +{ + u16 m_usError; + MtTypedArray m_CharacterIdList; + MtString m_wstrMailText; + bool m_bIsReceived; +}; + +/* 16863 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_MAIL_DELETE_REQ +{ + u16 m_usError; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 16864 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_MAIL_GET_TEXT_REQ +{ + u16 m_usError; + u64 m_ullId; + bool m_bIsReceived; +}; + +/* 16865 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_MAIL_GET_LIST_FOOT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16866 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_MAIL_GET_LIST_DATA_REQ +{ + u16 m_usError; + u32 m_unOffset; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 16867 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_MAIL_GET_LIST_HEAD_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16868 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_START_BAD_STATUS_NOTICE +{ + u16 m_usError; + u32 m_unPawnID; + u32 m_unStatusID; + bool m_bIsReceived; +}; + +/* 16869 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHARACTER_START_BAD_STATUS_NOTICE +{ + u16 m_usError; + u32 m_unStatusID; + bool m_bIsReceived; +}; + +/* 16870 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHANGE_PAWN_JOB_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJobID; + bool m_bIsReceived; +}; + +/* 16871 */ +struct nUserSession::CPacket_C2S_CHANGE_JOB_REQ +{ + u16 m_usError; + u8 m_ucJobID; + bool m_bIsReceived; +}; + +/* 16872 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_JOB_CHANGE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16873 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_MASTER_THROW_REQ +{ + u16 m_usError; + MtTypedArray m_Info; + bool m_bIsReceived; +}; + +/* 16874 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_CONTEXT_NOTICE +{ + u16 m_usError; + CContextSetInfo m_Context; + bool m_bIsReceived; +}; + +/* 16875 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_CONTEXT_BASE_NOTICE +{ + u16 m_usError; + CContextSetBase m_ContextBase; + bool m_bIsReceived; +}; + +/* 16876 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_SET_CONTEXT_REQ +{ + u16 m_usError; + CContextSetBase m_ContextBase; + bool m_bIsReceived; +}; + +/* 16877 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_INVITE_REQ +{ + u16 m_usError; + MtTypedArray m_CharacterIds; + bool m_bIsReceived; +}; + +/* 16878 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_INFO_CHANGE_REQ +{ + u16 m_usError; + MtString m_wstrPassword; + CEntryItemParam m_Param; + bool m_bIsReceived; +}; + +/* 16879 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_INFO_LOCK_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16880 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_INFO_REQ +{ + u16 m_usError; + u64 m_ullBoardID; + u32 m_unEntryID; + bool m_bIsReceived; +}; + +/* 16881 */ +struct nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_INFO_MYSELF_REQ +{ + u16 m_usError; + b8 m_bIsNotice; + bool m_bIsReceived; +}; + +/* 16882 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16883 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_FORCE_START_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16884 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_READY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16885 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_LEAVE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16886 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_ENTRY_REQ +{ + u16 m_usError; + u64 m_ullBoardID; + u32 m_unEntryID; + MtString m_wstrPassword; + bool m_bIsReceived; +}; + +/* 3509 */ +struct __cppobj __attribute__((aligned(8))) CDataEntryBoardItemSearchParameter : CPacketDataBase +{ + MtTypedArray m_SearchGroups; + MtString m_wstrFirstName; + MtString m_wstrLastName; + b8 m_bRankSetting; + u32 m_unRankMin; + u32 m_unRankMax; + u32 m_unJob; + b8 m_bIsNoPassword; + u32 m_unRequiredItemRankMin; + u32 m_unRequiredItemRankMax; +}; + +/* 3508 */ +typedef CDataEntryBoardItemSearchParameter CEntryBoardItemSearchParameter; + +/* 16887 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_LIST_REQ +{ + u16 m_usError; + u64 m_ullID; + u32 m_unOffset; + u32 m_unNum; + CEntryBoardItemSearchParameter m_SearchParam; + bool m_bIsReceived; +}; + +/* 16888 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_RECREATE_REQ +{ + u16 m_usError; + u64 m_ullBoardID; + MtString m_wstrPassword; + CEntryItemParam m_Param; + bool m_bIsReceived; +}; + +/* 16889 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENTRY_BOARD_ITEM_CREATE_REQ +{ + u16 m_usError; + u64 m_ullBoardID; + MtString m_wstrPassword; + CEntryItemParam m_Param; + bool m_bIsReceived; +}; + +/* 16890 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_REGISTER_FAVORITE_FRIEND_REQ +{ + u16 m_usError; + u32 m_unFriendNo; + b8 m_bIsFavorite; + bool m_bIsReceived; +}; + +/* 16891 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_REMOVE_FRIEND_REQ +{ + u16 m_usError; + u32 m_unFriendNo; + bool m_bIsReceived; +}; + +/* 16892 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_APPROVE_FRIEND_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + u8 m_ucIsApproved; + bool m_bIsReceived; +}; + +/* 16893 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CANCEL_FRIEND_APPLICATION_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16894 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_APPLY_FRIEND_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16895 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_FRIEND_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16896 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_EVENT_END_NTC +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16897 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_EVENT_START_NTC +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16898 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SET_ONLINE_STATUS_REQ +{ + u16 m_usError; + u8 m_ucStatusID; + b8 m_bIsSaveSetting; + bool m_bIsReceived; +}; + +/* 16899 */ +struct nUserSession::CPacket_C2S_CLAN_SETTING_UPDATE_REQ +{ + u16 m_usError; + b8 m_bIsMemberNotice; + bool m_bIsReceived; +}; + +/* 16900 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_INVITE_ACCEPT_REQ +{ + u16 m_usError; + u32 m_unClanId; + bool m_bIsReceived; +}; + +/* 16901 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_INVITE_REQ +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 16902 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_CANCEL_INVITE_REQ +{ + u16 m_usError; + u32 m_unInviteID; + bool m_bIsReceived; +}; + +/* 16903 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16904 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_APPROVE_INVITED_REQ +{ + u16 m_usError; + u32 m_unInviteID; + b8 m_bIsApprove; + bool m_bIsReceived; +}; + +/* 16905 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16906 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_INVITE_REQ +{ + u16 m_usError; + u32 m_unScoutEntryID; + bool m_bIsReceived; +}; + +/* 16907 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_GET_MY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16908 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_SEARCH_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16909 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_CANCEL_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4665 */ +struct __cppobj CDataClanScoutEntryParam : CPacketDataBase +{ + u16 m_usLv; + u16 m_usMemberNum; + u32 m_unMotto; + u32 m_unActiveDays; + u32 m_unActiveTime; + u32 m_unCharacteristic; + MtString m_wstrComment; +}; + +/* 4664 */ +typedef CDataClanScoutEntryParam CClanScoutEntryParam; + +/* 16910 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CLAN_SCOUT_ENTRY_REGISTER_REQ +{ + u16 m_usError; + CClanScoutEntryParam m_Param; + bool m_bIsReceived; +}; + +/* 16911 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_GET_MEMBER_NUM_REQ +{ + u16 m_usError; + u32 m_unClanID; + bool m_bIsReceived; +}; + +/* 16912 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_GET_INFO_REQ +{ + u16 m_usError; + u32 m_unClanID; + bool m_bIsReceived; +}; + +/* 16913 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_SET_MEMBER_RANK_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unRank; + u32 m_unPermission; + bool m_bIsReceived; +}; + +/* 16914 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_NEGOTIATE_MASTER_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16915 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_EXPEL_MEMBER_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 16916 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_LEAVE_MEMBER_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16917 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_GET_MEMBER_LIST_REQ +{ + u16 m_usError; + u32 m_unClanID; + bool m_bIsReceived; +}; + +/* 16918 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_GET_MY_MEMBER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16919 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_BASE_GET_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16920 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_GET_MY_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16921 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_APPROVE_JOIN_REQ +{ + u16 m_usError; + u32 m_unRequestID; + b8 m_bIsApprove; + bool m_bIsReceived; +}; + +/* 16922 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_GET_JOIN_REQUESTED_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16923 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_CANCEL_JOIN_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16924 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLAN_GET_MY_JOIN_REQUEST_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16925 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CLAN_REGISTER_JOIN_REQ +{ + u16 m_usError; + u32 m_unClanID; + bool m_bIsReceived; +}; + +/* 3507 */ +struct __cppobj __attribute__((aligned(8))) CDataClanSearchParam : CPacketDataBase +{ + u8 m_ucNameSearchType; + MtString m_wstrName; + u16 m_usLv; + u16 m_usMemberNum; + u32 m_unMotto; + u32 m_unActiveDays; + u32 m_unActiveTime; + u32 m_unCharacteristic; +}; + +/* 3506 */ +typedef CDataClanSearchParam CClanSearchParam; + +/* 16926 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CLAN_SEARCH_REQ +{ + u16 m_usError; + CClanSearchParam m_SearchParam; + bool m_bIsReceived; +}; + +/* 16927 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CLAN_UPDATE_REQ +{ + u16 m_usError; + CClanUserParam m_CreateParam; + bool m_bIsReceived; +}; + +/* 16928 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CLAN_CREATE_REQ +{ + u16 m_usError; + CClanUserParam m_CreateParam; + bool m_bIsReceived; +}; + +/* 16929 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PHOTO_GET_AUTH_ADDRESS_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16930 */ +struct nUserSession::CPacket_C2S_COG_GET_SESSION_KEY_REQ +{ + u16 m_usError; + b8 m_bUpdate; + bool m_bIsReceived; +}; + +/* 16931 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_SCREEN_SHOT_CATEGORY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16932 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_DLC_GET_HISTORY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16933 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DLC_USE_REQ +{ + u16 m_usError; + u32 m_unUseDLCLineupID; + bool m_bIsReceived; +}; + +/* 16934 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_DLC_GET_BOUGHT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16935 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_PING_REQ +{ + u16 m_usError; + MtTypedArray m_Info; + bool m_bIsReceived; +}; + +/* 16936 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RELEASE_JOB_ORB_ELEMENT_REQ +{ + u16 m_usError; + u32 m_unElementID; + bool m_bIsReceived; +}; + +/* 16937 */ +struct nUserSession::CPacket_C2S_GET_ALL_JOB_ORB_ELEMENT_LIST_REQ +{ + u16 m_usError; + u8 m_ucJobID; + bool m_bIsReceived; +}; + +/* 16938 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_JOB_ORB_TREE_STATUS_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16939 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_ORB_GAIN_EXTEND_PARAM_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16940 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16941 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RELEASE_PAWN_ORB_ELEMENT_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u32 m_unElementID; + bool m_bIsReceived; +}; + +/* 16942 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RELEASE_ORB_ELEMENT_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16943 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RELEASE_ORB_ELEMENT_REQ +{ + u16 m_usError; + u32 m_unElementID; + bool m_bIsReceived; +}; + +/* 16944 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_ALL_ORB_ELEMENT_LIST_REQ +{ + u16 m_usError; + u8 m_ucUnitType; + u8 m_ucPageNo; + bool m_bIsReceived; +}; + +/* 16945 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_ADD_JOB_ORDER_PROGRESS_REQ +{ + u16 m_usError; + u8 m_ucJobID; + u8 m_ucType; + u32 m_unID; + u32 m_unRank; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 16946 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_ACTIVATE_JOB_ORDER_REQ +{ + u16 m_usError; + u8 m_ucJobID; + u8 m_ucRewardType; + u32 m_unRewardNo; + u8 m_ucRewardLv; + bool m_bIsReceived; +}; + +/* 16947 */ +struct nUserSession::CPacket_C2S_REPORT_JOB_ORDER_PROGRESS_REQ +{ + u16 m_usError; + u8 m_ucJobID; + bool m_bIsReceived; +}; + +/* 16948 */ +struct nUserSession::CPacket_C2S_GET_JOB_MASTER_ORDER_PROGRESS_REQ +{ + u16 m_usError; + u8 m_ucJobID; + bool m_bIsReceived; +}; + +/* 16949 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_SPOT_INFO_LIST_REQ +{ + u16 m_usError; + u32 m_unAreaID; + bool m_bIsReceived; +}; + +/* 16950 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_AREA_BASE_INFO_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16951 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BUY_AREA_QUEST_HINT_REQ +{ + u16 m_usError; + u32 m_unAreaID; + u32 m_unQuestScheduleID; + bool m_bIsReceived; +}; + +/* 16952 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_AREA_QUEST_HINT_LIST_REQ +{ + u16 m_usError; + u32 m_unAreaID; + bool m_bIsReceived; +}; + +/* 4628 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16953 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_AREA_SUPPLY_REQ +{ + u16 m_usError; + u32 m_unAreaID; + u8 m_ucStorageType; + MtTypedArray m_SelectItemInfoList; + bool m_bIsReceived; +}; + +/* 16954 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_AREA_SUPPLY_INFO_REQ +{ + u16 m_usError; + u32 m_unAreaID; + bool m_bIsReceived; +}; + +/* 16955 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LEADER_AREA_RELEASE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16956 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_AREA_RELEASE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16957 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_AREA_POINT_DEBUG_REQ +{ + u16 m_usError; + u32 m_unAreaID; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 16958 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_AREA_RANK_UP_REQ +{ + u16 m_usError; + u32 m_unAreaID; + bool m_bIsReceived; +}; + +/* 16959 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_AREA_MASTER_INFO_REQ +{ + u16 m_usError; + u32 m_unAreaID; + bool m_bIsReceived; +}; + +/* 16960 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_HP_RECOVERY_PAWN_COMPLETE_NOTICE +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 16961 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_HP_RECOVERY_CHARACTER_COMPLETE_NOTICE +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16962 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_HP_RECOVERY_COMPLETE_NOTICE +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4625 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16963 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_STAY_PENALTY_HEAL_INN_REQ +{ + u16 m_usError; + u32 m_unPrice; + u32 m_unHpMax; + MtTypedArray m_PawnHpMaxList; + bool m_bIsReceived; +}; + +/* 16964 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_PENALTY_HEAL_STAY_PRICE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16965 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_STAY_INN_REQ +{ + u16 m_usError; + u32 m_unInnID; + u32 m_unPrice; + u32 m_unHpMax; + MtTypedArray m_PawnHpMaxList; + bool m_bIsReceived; +}; + +/* 16966 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_STAY_PRICE_REQ +{ + u16 m_usError; + u32 m_unInnID; + bool m_bIsReceived; +}; + +/* 3527 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 16967 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SELL_ITEM_REQ +{ + u16 m_usError; + MtTypedArray m_SellItemList; + bool m_bIsReceived; +}; + +/* 16968 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_BUY_SHOP_GOODS_REQ +{ + u16 m_usError; + u32 m_unGoodsIndex; + u32 m_unNum; + u8 m_ucStorageType; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 16969 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_SHOP_GOODS_LIST_REQ +{ + u16 m_usError; + u32 m_unShopID; + bool m_bIsReceived; +}; + +/* 16970 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_ABILITY_COST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16971 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_ABILITY_COST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16972 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CURRENT_SET_ABILITY_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16973 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CURRENT_SET_SKILL_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16974 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_PRESET_ABILITY_NAME_REQ +{ + u16 m_usError; + u8 m_ucPresetNo; + MtString m_wstrPresetName; + bool m_bIsReceived; +}; + +/* 16975 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_PRESET_ABILITY_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucPresetNo; + bool m_bIsReceived; +}; + +/* 16976 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_PRESET_ABILITY_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16977 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_REGISTER_PRESET_ABILITY_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucPresetNo; + bool m_bIsReceived; +}; + +/* 16978 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RELEASE_ABILITY_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16979 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RELEASE_SKILL_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16980 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_SET_ABILITY_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16981 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_SET_SKILL_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + bool m_bIsReceived; +}; + +/* 16982 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_SET_ABILITY_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16983 */ +struct nUserSession::CPacket_C2S_GET_SET_SKILL_LIST_REQ +{ + u16 m_usError; + u8 m_ucJob; + bool m_bIsReceived; +}; + +/* 16984 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_OFF_PAWN_ABILITY_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16985 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SET_OFF_PAWN_SKILL_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16986 */ +struct nUserSession::CPacket_C2S_SET_OFF_ABILITY_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16987 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SET_OFF_SKILL_REQ +{ + u16 m_usError; + u8 m_ucJob; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 16988 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_PAWN_ABILITY_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u8 m_ucSlotNo; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 16989 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_PAWN_SKILL_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u8 m_ucSlotNo; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 16990 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_ABILITY_REQ +{ + u16 m_usError; + u8 m_ucJob; + u8 m_ucSlotNo; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 16991 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_SKILL_REQ +{ + u16 m_usError; + u8 m_ucJob; + u8 m_ucSlotNo; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 16992 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_LEARNED_ABILITY_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16993 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_LEARNED_SKILL_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16994 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 16995 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LEARNED_ABILITY_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16996 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LEARNED_SKILL_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16997 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LEARNED_NORMAL_SKILL_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 16998 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LEARN_PAWN_ABILITY_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 16999 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LEARN_PAWN_SKILL_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 17000 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LEARN_PAWN_NORMAL_SKILL_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucJob; + u32 m_unSkillNo; + bool m_bIsReceived; +}; + +/* 17001 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LEARN_ABILITY_REQ +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unAbilityID; + u8 m_ucAbilityLv; + bool m_bIsReceived; +}; + +/* 17002 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LEARN_SKILL_REQ +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unSkillID; + u8 m_ucSkillLv; + bool m_bIsReceived; +}; + +/* 17003 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LEARN_NORMAL_SKILL_REQ +{ + u16 m_usError; + u8 m_ucJob; + u32 m_unSkillNo; + bool m_bIsReceived; +}; + +/* 17004 */ +struct nUserSession::CPacket_C2S_GET_ACQUIRABLE_ABILITY_LIST_REQ +{ + u16 m_usError; + u8 m_ucJob; + bool m_bIsReceived; +}; + +/* 17005 */ +struct nUserSession::CPacket_C2S_GET_ACQUIRABLE_SKILL_LIST_REQ +{ + u16 m_usError; + u8 m_ucJob; + bool m_bIsReceived; +}; + +/* 17006 */ +struct nUserSession::CPacket_C2S_GET_ACQUIRABLE_NORMAL_SKILL_LIST_REQ +{ + u16 m_usError; + u8 m_ucJob; + bool m_bIsReceived; +}; + +/* 17007 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_WARP_END_NTC +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17008 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_AREA_WARP_REQ +{ + u16 m_usError; + u32 m_unCurrentAreaID; + u32 m_unWarpPointID; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 17009 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_AREA_WARP_POINT_LIST_REQ +{ + u16 m_usError; + u32 m_unCurrentAreaID; + bool m_bIsReceived; +}; + +/* 17010 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_WARP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17011 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_REGISTER_FAVORITE_WARP_REQ +{ + u16 m_usError; + u32 m_unSlotNo; + u32 m_unWarpPointID; + bool m_bIsReceived; +}; + +/* 17012 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_FAVORITE_WARP_REQ +{ + u16 m_usError; + u32 m_unSlotNo; + u32 m_unAreaID; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 17013 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_FAVORITE_WARP_POINT_LIST_REQ +{ + u16 m_usError; + u32 m_unAreaID; + bool m_bIsReceived; +}; + +/* 17014 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_WARP_REQ +{ + u16 m_usError; + u32 m_unCurrentPointID; + u32 m_unDestPointID; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 17015 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RELEASE_WARP_POINT_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17016 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_WARP_POINT_LIST_REQ +{ + u16 m_usError; + u32 m_unCurrentPointID; + bool m_bIsReceived; +}; + +/* 17017 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RELEASE_WARP_POINT_REQ +{ + u16 m_usError; + u32 m_unWarpPointID; + bool m_bIsReceived; +}; + +/* 17018 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CRAFT_SKILL_ANALYZE_REQ +{ + u16 m_usError; + u8 m_ucCraftType; + u32 m_unRecipeId; + u32 m_unItemId; + u32 m_unPawnId; + MtTypedArray m_AssistPawnIds; + u32 m_unCreateCount; + bool m_bIsReceived; +}; + +/* 17019 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CRAFT_LOCKED_ELEMENT_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17020 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_CRAFT_GRADEUP_RECIPE_REQ +{ + u16 m_usError; + u8 m_ucCategory; + u32 m_unOffset; + s32 m_nNum; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 17021 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_CRAFT_RECIPE_DESIGNATE_REQ +{ + u16 m_usError; + u8 m_ucCategory; + MtTypedArray m_ItemList; + bool m_bIsReceived; +}; + +/* 17022 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CRAFT_RECIPE_REQ +{ + u16 m_usError; + u8 m_ucCategory; + u32 m_unOffset; + s32 m_nNum; + bool m_bIsReceived; +}; + +/* 17023 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CRAFT_IR_COLLECTION_VALUE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17024 */ +struct nUserSession::CPacket_C2S_CRAFT_TIME_SAVE_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucID; + u8 m_ucNum; + b8 m_bIsInit; + bool m_bIsReceived; +}; + +/* 17025 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CRAFT_SETTING_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17026 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CRAFT_SKILL_UP_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u32 m_unSkillType; + u32 m_unSkillLevel; + bool m_bIsReceived; +}; + +/* 4650 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 4644 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17027 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_START_EQUIP_COLOR_CHANGE_REQ +{ + u16 m_usError; + MtString m_wstrEquipItemUID; + u8 m_ucColor; + MtTypedArray m_CraftColorantList; + u32 m_unCraftMainPawnID; + MtTypedArray m_CraftSupportPawnIDList; + bool m_bIsReceived; +}; + +/* 4647 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17028 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_START_DETACH_ELEMENT_REQ +{ + u16 m_usError; + MtString m_wstrEquipItemUID; + MtTypedArray m_CraftElementList; + u32 m_unCraftMainPawnID; + MtTypedArray m_CraftSupportPawnIDList; + bool m_bIsReceived; +}; + +/* 17029 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_START_ATTACH_ELEMENT_REQ +{ + u16 m_usError; + MtString m_wstrEquipItemUID; + MtTypedArray m_CraftElementList; + u32 m_unCraftMainPawnID; + MtTypedArray m_CraftSupportPawnIDList; + bool m_bIsReceived; +}; + +/* 4641 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17030 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_START_EQUIP_GRADE_UP_REQ +{ + u16 m_usError; + MtString m_wstrEquipItemUID; + MtTypedArray m_CraftMaterialList; + u32 m_unCraftMainPawnID; + MtTypedArray m_CraftSupportPawnIDList; + bool m_bIsReceived; +}; + +/* 17031 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CANCEL_CRAFT_REQ +{ + u16 m_usError; + u32 m_unCraftMainPawnID; + bool m_bIsReceived; +}; + +/* 17032 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CRAFT_PRODUCT_REQ +{ + u16 m_usError; + u32 m_unCraftMainPawnID; + u32 m_unStorageType; + u8 m_ucDebugFlag; + bool m_bIsReceived; +}; + +/* 17033 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CRAFT_PRODUCT_INFO_REQ +{ + u16 m_usError; + u32 m_unCraftMainPawnID; + u8 m_ucDebugFlag; + bool m_bIsReceived; +}; + +/* 17034 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_START_CRAFT_REQ +{ + u16 m_usError; + u32 m_unRecipeID; + MtTypedArray m_CraftMaterialList; + MtString m_wstrToppingUID; + u32 m_unCraftMainPawnID; + MtTypedArray m_CraftSupportPawnIDList; + u32 m_unCreateCount; + bool m_bIsReceived; +}; + +/* 17035 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CRAFT_PROGRESS_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17036 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GP_SHOP_CAN_BUY_PAWN_VOICE_REQ +{ + u16 m_usError; + u32 m_unLineupId; + bool m_bIsReceived; +}; + +/* 17037 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GP_SHOP_CAN_BUY_PAWN_REQ +{ + u16 m_usError; + u32 m_unLineupId; + bool m_bIsReceived; +}; + +/* 17038 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_COG_LOGIN_SKIP_DISABLE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17039 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_COG_LOGIN_SKIP_FLAG_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17040 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GP_SHOP_DISPLAY_BUY_REQ +{ + u16 m_usError; + u32 m_unDisplayLineupId; + bool m_bIsReceived; +}; + +/* 17041 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GP_SHOP_DISPLAY_GET_LINEUP_REQ +{ + u16 m_usError; + u32 m_unDisplayID; + bool m_bIsReceived; +}; + +/* 17042 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_SHOP_DISPLAY_GET_TYPE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17043 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_SHOP_GET_CAP_CHARGE_URL_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17044 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_SHOP_GET_BUY_HISTORY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17045 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_COURSE_GET_VALID_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17046 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GP_COURSE_USE_FROM_AVAILABLE_REQ +{ + u16 m_usError; + u32 m_unAvailableId; + bool m_bIsReceived; +}; + +/* 17047 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_COURSE_GET_AVAILABLE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17048 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_SHOP_GET_PAWN_LINEUP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17049 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_SHOP_GET_ITEM_LINEUP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17050 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_SHOP_GET_COURSE_LINEUP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17051 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_GP_PERIOD_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17052 */ +struct nUserSession::CPacket_C2S_GET_GP_DETAIL_REQ +{ + u16 m_usError; + b8 m_bIsAll; + bool m_bIsReceived; +}; + +/* 17053 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHANGE_CAP_TO_GP_REQ +{ + u16 m_usError; + u32 m_unChangeListID; + bool m_bIsReceived; +}; + +/* 17054 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CAP_TO_GP_CHANGE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17055 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CAP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17056 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_GP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17057 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_COG_GET_ID_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17058 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_TRANING_ROOM_SET_ENEMY_REQ +{ + u16 m_usError; + u32 m_unID; + u32 m_unLV; + bool m_bIsReceived; +}; + +/* 17059 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_TRANING_ROOM_GET_ENEMY_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4706 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17060 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_FURNITURE_LAYOUT_REQ +{ + u16 m_usError; + MtTypedArray m_LayoutList; + bool m_bIsReceived; +}; + +/* 17061 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_FURNITURE_LIST_GET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17062 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_DROP_ITEM_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unId; + MtTypedArray m_GatheringItemGetRequestList; + bool m_bIsReceived; +}; + +/* 17063 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_DROP_ITEM_LIST_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unId; + bool m_bIsReceived; +}; + +/* 17064 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_DROP_ITEM_SET_LIST_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + bool m_bIsReceived; +}; + +/* 17065 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_INSTANT_KEY_VALUE_STR_REQ +{ + u16 m_usError; + MtString m_wstrKey; + bool m_bIsReceived; +}; + +/* 17066 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_INSTANT_KEY_VALUE_STR_REQ +{ + u16 m_usError; + MtString m_wstrKey; + MtString m_wstrValue; + bool m_bIsReceived; +}; + +/* 17067 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_INSTANT_KEY_VALUE_UL_REQ +{ + u16 m_usError; + u32 m_unKey; + bool m_bIsReceived; +}; + +/* 17068 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_INSTANT_KEY_VALUE_UL_REQ +{ + u16 m_usError; + u32 m_unKey; + u32 m_unValue; + bool m_bIsReceived; +}; + +/* 17069 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_EXCHANGE_OM_INSTANT_KEY_VALUE_REQ +{ + u16 m_usError; + COmData m_Data; + bool m_bIsReceived; +}; + +/* 17070 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_OM_INSTANT_KEY_VALUE_ALL_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17071 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_OM_INSTANT_KEY_VALUE_REQ +{ + u16 m_usError; + u32 m_unKey; + bool m_bIsReceived; +}; + +/* 17072 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_OM_INSTANT_KEY_VALUE_REQ +{ + u16 m_usError; + COmData m_Data; + bool m_bIsReceived; +}; + +/* 17073 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PL_TOUCH_OM_NOTICE +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unPosId; + bool m_bIsReceived; +}; + +/* 17074 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_EDIT_GET_GP_PRICE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17075 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GP_EDIT_GET_VOICE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 4613 */ +struct __cppobj CDataRaidBossUploadInfo : CPacketDataBase +{ + CRaidBossUnitInfo m_RaidBossInfo; +}; + +/* 4612 */ +typedef CDataRaidBossUploadInfo CRaidBossUploadInfo; + +/* 17076 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_RAID_BOSS_INFO_REQ +{ + u16 m_usError; + CRaidBossUploadInfo m_UploadInfo; + bool m_bIsReceived; +}; + +/* 17077 */ +struct nUserSession::CPacket_C2S_DEBUG_PROB_DROP_CANCEL_SET +{ + u16 m_usError; + b8 m_bvalue; + bool m_bIsReceived; +}; + +/* 17078 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_QUEST_LAYOUT_FLAG_SET +{ + u16 m_usError; + u32 m_unFlagNo; + b8 m_bvalue; + bool m_bIsReceived; +}; + +/* 4638 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17079 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_DEBUG_ENEMY_SET_PRESET_FIX_REQ +{ + u16 m_usError; + MtTypedArray m_DebugEnemySetPresetReqList; + bool m_bIsReceived; +}; + +/* 17080 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_GATHERING_ITEM_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unPosId; + MtTypedArray m_GatheringItemGetRequestList; + bool m_bIsReceived; +}; + +/* 17081 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_GATHERING_ITEM_LIST_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unPosId; + MtString m_wstrGatheringItemUID; + bool m_bIsReceived; +}; + +/* 17082 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_ITEM_SET_LIST_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + bool m_bIsReceived; +}; + +/* 17083 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENEMY_BREAK_REGION_NTC +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unSetId; + u32 m_unRegionNo; + bool m_bIsReceived; +}; + +/* 17084 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENEMY_GROUP_LEAVE_NOTICE +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + bool m_bIsReceived; +}; + +/* 17085 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENEMY_GROUP_ENTRY_NOTICE +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + bool m_bIsReceived; +}; + +/* 17086 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_ENEMY_KILL_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u32 m_unSetId; + u32 m_unInnerId; + f64 m_dDropPosX; + f32 m_fDropPosY; + f64 m_dDropPosZ; + b8 m_bIsNoBattleReword; + u32 m_unRegionFlag; + bool m_bIsReceived; +}; + +/* 17087 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_ENEMY_SET_LIST_REQ +{ + u16 m_usError; + CStageLayoutID m_LayoutId; + u8 m_ucSubGroupId; + bool m_bIsReceived; +}; + +/* 17088 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_AREA_CHANGE_REQ +{ + u16 m_usError; + u32 m_unStageId; + u32 m_unJumpType; + bool m_bIsReceived; +}; + +/* 17089 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_STAGE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17090 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_QUEST_SCHEDULE_INFO_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17091 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_END_CONTENTS_GROUP_REQ +{ + u16 m_usError; + u32 m_unGroupID; + bool m_bIsReceived; +}; + +/* 17092 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_NOW_POINT_LIST_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17093 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_POINT_LIST_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17094 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CYCLE_CONTENTS_PLAY_END_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17095 */ +struct nUserSession::CPacket_C2S_PLAY_INTERRUPT_ANSWER_REQ +{ + u16 m_usError; + b8 m_bIsInterrupt; + bool m_bIsReceived; +}; + +/* 17096 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PLAY_INTERRUPT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17097 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PLAY_START_TIMER_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17098 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_REWARD_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17099 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17100 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17101 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CYCLE_CONTENTS_PLAY_START_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17102 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + bool m_bIsReceived; +}; + +/* 17103 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_STATE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17104 */ +struct nUserSession::CPacket_C2S_PRT_READY_SET_RETURN_SESSION +{ + u16 m_usError; + b8 m_bIsReturnSession; + bool m_bIsReceived; +}; + +/* 17105 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SEND_LEADER_WAIT_ORDER_QUEST_LIST_REQ +{ + u16 m_usError; + MtTypedArray m_QuestScheduleIdList; + bool m_bIsReceived; +}; + +/* 17106 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_REQ +{ + u16 m_usError; + MtTypedArray m_OrderConditionInfoList; + bool m_bIsReceived; +}; + +/* 17107 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_QUEST_PARTY_BONUS_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17108 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_AREA_BONUS_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17109 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_AREA_INFO_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17110 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CYCLE_CONTENTS_NEWS_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17111 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_SET_QUEST_INFO_LIST_REQ +{ + u16 m_usError; + u32 m_unDistributeID; + bool m_bIsReceived; +}; + +/* 17112 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CHECK_QUEST_DISTRIBUTION_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17113 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_LEADER_QUEST_PROGRESS_REQUEST_REQ +{ + u16 m_usError; + u32 m_unKeyId; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + u16 m_usSequenceNo; + u16 m_usBlockNo; + bool m_bIsReceived; +}; + +/* 17114 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_PARTY_QUEST_PROGRESS_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17115 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_DECIDE_DELIVERY_ITEM_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + bool m_bIsReceived; +}; + +/* 17116 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_DELIVER_ITEM_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + MtTypedArray m_ItemUIDList; + bool m_bIsReceived; +}; + +/* 4635 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17117 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_REQ +{ + u16 m_usError; + u32 m_unListNo; + MtTypedArray m_GetRewardBoxItemList; + bool m_bIsReceived; +}; + +/* 17118 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17119 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17120 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_REWARD_BOX_ITEM_REQ +{ + u16 m_usError; + u32 m_unListNo; + MtTypedArray m_GetRewardBoxItemList; + bool m_bIsReceived; +}; + +/* 17121 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_REWARD_BOX_LIST_NUM_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17122 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_REWARD_BOX_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17123 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_GET_QUEST_FLAG_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17124 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_REQ +{ + u16 m_usError; + u32 m_unCycleContentsScheduleId; + s32 m_nPoint; + bool m_bIsReceived; +}; + +/* 17125 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_GET_QUEST_LAYOUT_FLAG_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17126 */ +struct nUserSession::CPacket_C2S_DEBUG_QUEST_RESET_ALL_REQ +{ + u16 m_usError; + u8 m_ucQuestType; + bool m_bIsReceived; +}; + +/* 17127 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_QUEST_RESET_REQ +{ + u16 m_usError; + u32 m_unQuestId; + bool m_bIsReceived; +}; + +/* 17128 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_MAIN_QUEST_JUMP_REQ +{ + u16 m_usError; + u32 m_unQuestId; + bool m_bIsReceived; +}; + +/* 17129 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_DEBUG_QUEST_FORCE_PROGRESS_REQ +{ + u16 m_usError; + u32 m_unProgressCharacterId; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + bool m_bIsReceived; +}; + +/* 17130 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LIGHT_QUEST_GP_COMPLETE_REQ +{ + u16 m_usError; + u32 m_unBaseID; + bool m_bIsReceived; +}; + +/* 17131 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_SET_QUEST_OPEN_DATE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17132 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DEBUG_SET_QUEST_FLAG_REQ +{ + u16 m_usError; + u32 m_unFlagNo; + bool m_bIsReceived; +}; + +/* 17133 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_QUEST_LAYOUT_FLAG_REQ +{ + u16 m_usError; + u32 m_unFlagNo; + bool m_bIsReceived; +}; + +/* 17134 */ +struct nUserSession::CPacket_C2S_GET_QUEST_COMPLETE_LIST_REQ +{ + u16 m_usError; + u8 m_ucQuestType; + bool m_bIsReceived; +}; + +/* 17135 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_QUEST_DETAIL_LIST_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17136 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_QUEST_COMPLETE_FLAG_CLEAR_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17137 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_END_DISTRIBUTION_QUEST_CANCEL_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17138 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_QUEST_CANCEL_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17139 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_QUEST_PROGRESS_REQ +{ + u16 m_usError; + u32 m_unKeyId; + u32 m_unProgressCharacterId; + u32 m_unQuestScheduleId; + u16 m_usProcessNo; + bool m_bIsReceived; +}; + +/* 17140 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_QUEST_ORDER_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17141 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RECOMMENDED_QUEST_INFO_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17142 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_MAIN_QUEST_COMPLETE_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17143 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_LOT_QUEST_LIST_REQ +{ + u16 m_usError; + u32 m_unLotQuestType; + bool m_bIsReceived; +}; + +/* 17144 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_WORLD_MANAGE_QUEST_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17145 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_TIME_LIMITED_QUEST_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17146 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_TUTORIAL_QUEST_LIST_REQ +{ + u16 m_usError; + u32 m_unStageNo; + bool m_bIsReceived; +}; + +/* 17147 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_MAIN_QUEST_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17148 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_SET_QUEST_LIST_REQ +{ + u16 m_usError; + u32 m_unDistributeID; + bool m_bIsReceived; +}; + +/* 17149 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_LIGHT_QUEST_LIST_REQ +{ + u16 m_usError; + u32 m_unBaseID; + bool m_bIsReceived; +}; + +/* 17150 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_UPDATE_EQUIP_PRESET_NAME_REQ +{ + u16 m_usError; + u32 m_unPresetNo; + MtString m_wstrPresetName; + bool m_bIsReceived; +}; + +/* 17151 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_UPDATE_EQUIP_PRESET_REQ +{ + u16 m_usError; + u32 m_unPresetNo; + u32 m_unPawnID; + u32 m_unType; + MtString m_wstrPresetName; + bool m_bIsReceived; +}; + +/* 17152 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_EQUIP_PRESET_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17153 */ +struct nUserSession::CPacket_C2S_UPDATE_HIDE_PAWN_LANTERN_REQ +{ + u16 m_usError; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 17154 */ +struct nUserSession::CPacket_C2S_UPDATE_HIDE_PAWN_HEAD_ARMOR_REQ +{ + u16 m_usError; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 17155 */ +struct nUserSession::CPacket_C2S_UPDATE_HIDE_CHARACTER_LANTERN_REQ +{ + u16 m_usError; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 17156 */ +struct nUserSession::CPacket_C2S_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_REQ +{ + u16 m_usError; + b8 m_bHide; + bool m_bIsReceived; +}; + +/* 4632 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17157 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHANGE_PAWN_EQUIP_JOB_ITEM_REQ +{ + u16 m_usError; + u32 m_unPawnID; + MtTypedArray m_ChangeCharacterEquipJobItemList; + bool m_bIsReceived; +}; + +/* 17158 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHANGE_CHARACTER_EQUIP_JOB_ITEM_REQ +{ + u16 m_usError; + MtTypedArray m_ChangeCharacterEquipJobItemList; + bool m_bIsReceived; +}; + +/* 1328 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17159 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHANGE_PAWN_STORAGE_EQUIP_REQ +{ + u16 m_usError; + u32 m_unPawnID; + MtTypedArray m_ChangeCharacterEquipList; + bool m_bIsReceived; +}; + +/* 17160 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHANGE_PAWN_EQUIP_REQ +{ + u16 m_usError; + u32 m_unPawnID; + MtTypedArray m_ChangeCharacterEquipList; + bool m_bIsReceived; +}; + +/* 17161 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHANGE_CHARACTER_STORAGE_EQUIP_REQ +{ + u16 m_usError; + MtTypedArray m_ChangeCharacterEquipList; + bool m_bIsReceived; +}; + +/* 17162 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHANGE_CHARACTER_EQUIP_REQ +{ + u16 m_usError; + MtTypedArray m_ChangeCharacterEquipList; + bool m_bIsReceived; +}; + +/* 17163 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_EQUIP_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17164 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_CHARACTER_EQUIP_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 1295 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 17165 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_MOVE_ITEM_REQ +{ + u16 m_usError; + u8 m_ucSourceGameStorageType; + MtTypedArray m_ItemUIDList; + bool m_bIsReceived; +}; + +/* 17166 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CONSUME_STORAGE_ITEM_REQ +{ + u16 m_usError; + MtTypedArray m_ConsumeItemList; + bool m_bIsReceived; +}; + +/* 17167 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_STORAGE_ITEM_LIST_REQ +{ + u16 m_usError; + MtTypedArray m_StorageList; + bool m_bIsReceived; +}; + +/* 17168 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_USE_JOB_ITEMS_REQ +{ + u16 m_usError; + MtTypedArray m_ItemUIDList; + bool m_bIsReceived; +}; + +/* 17169 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_USE_BAG_ITEM_REQ +{ + u16 m_usError; + MtString m_wstrUID; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 17170 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_TOTAL_SCORE_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17171 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PAWN_HISTORY_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17172 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_UPDATE_PAWN_SHARE_RANGE_REQ +{ + u16 m_usError; + u32 m_unPawnID; + u8 m_ucShareRange; + bool m_bIsReceived; +}; + +/* 17173 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_UPDATE_PAWN_REACTION_LIST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + MtTypedArray m_PawnReactionList; + bool m_bIsReceived; +}; + +/* 17174 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RENTAL_PAWN_LOST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17175 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LOST_PAWN_WALLET_REVIVE_REQ +{ + u16 m_usError; + u32 m_unPawnId; + u8 m_ucType; + u32 m_unReviveCost; + bool m_bIsReceived; +}; + +/* 17176 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LOST_PAWN_GOLDEN_REVIVE_REQ +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 17177 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LOST_PAWN_POINT_REVIVE_REQ +{ + u16 m_usError; + u32 m_unPawnId; + bool m_bIsReceived; +}; + +/* 17178 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LOST_PAWN_REVIVE_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17179 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LOST_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17180 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PAWN_LOST_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17181 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DELETE_FAVORITE_PAWN_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17182 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_FAVORITE_PAWN_REQ +{ + u16 m_usError; + u32 m_unPawnID; + bool m_bIsReceived; +}; + +/* 17183 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_FAVORITE_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17184 */ +struct nUserSession::CPacket_C2S_JOIN_PARTY_RENTED_PAWN_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 17185 */ +struct nUserSession::CPacket_C2S_JOIN_PARTY_MYPAWN_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + bool m_bIsReceived; +}; + +/* 17186 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_RETURN_RENTED_PAWN_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + MtTypedArray m_PawnFeedbackList; + bool m_bIsReceived; +}; + +/* 17187 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_PARTY_PAWN_DATA_REQ +{ + u16 m_usError; + u32 m_unCharacterId; + u32 m_unPawnId; + b8 m_bIsPawnProfile; + bool m_bIsReceived; +}; + +/* 17188 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_RENTED_PAWN_DATA_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + s32 m_nPawnId; + bool m_bIsReceived; +}; + +/* 17189 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_RENTED_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17190 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_RENT_REGISTERED_PAWN_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + s32 m_nRequestPawnId; + u64 m_ullUpdated; + u32 m_unRentalCost; + bool m_bIsReceived; +}; + +/* 17191 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_REGISTERED_PAWN_DATA_REQ +{ + u16 m_usError; + s32 m_nPawnId; + bool m_bIsReceived; +}; + +/* 17192 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_FREE_RENTAL_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17193 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_NORA_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17194 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LEGEND_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17195 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_OFFICIAL_PAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17196 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_REQ +{ + u16 m_usError; + MtTypedArray m_CharacterIdList; + bool m_bIsReceived; +}; + +/* 3505 */ +struct __cppobj CDataPawnName : CPacketDataBase +{ + MtString m_wstrName; +}; + +/* 3504 */ +typedef CDataPawnName CPawnName; + +/* 3496 */ +struct __cppobj __attribute__((aligned(8))) CDataCharacterSearchParameter : CPacketDataBase +{ + u32 m_unJob; + u32 m_unExpMin; + u32 m_unExpMax; + u8 m_ucLevelMin; + u8 m_ucLevelMax; + u16 m_usItemRankMin; + u16 m_usItemRankMax; +}; + +/* 3495 */ +typedef CDataCharacterSearchParameter CCharacterSearchParameter; + +/* 3502 */ +struct __cppobj __attribute__((aligned(8))) CDataPawnSearchParameter : CPacketDataBase +{ + u8 m_ucCraftRankMin; + u8 m_ucCraftRankMax; + MtTypedArray m_CraftSkillList; + u8 m_ucSex; + CCharacterName m_OwnerCharacterName; + CPawnName m_PawnName; + CCharacterSearchParameter m_CharacterParam; + b8 m_bIsFriend; + b8 m_bIsClan; +}; + +/* 3501 */ +typedef CDataPawnSearchParameter CPawnSearchParameter; + +/* 17197 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_GET_REGISTERED_PAWN_LIST_REQ +{ + u16 m_usError; + CPawnSearchParameter m_SearchParam; + bool m_bIsReceived; +}; + +/* 17198 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_MYPAWN_DATA_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + s32 m_nPawnId; + bool m_bIsReceived; +}; + +/* 17199 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_MYPAWN_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17200 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_DELETE_MYPAWN_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + b8 m_bIsKeepEquip; + bool m_bIsReceived; +}; + +/* 17201 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CREATE_MYPAWN_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + CPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 17202 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_QUICK_PARTY_REFUSE_NTC +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17203 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_QUICK_PARTY_ENTRY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17204 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_QUICK_PARTY_CANCEL_NTC +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 3516 */ +struct __cppobj __attribute__((aligned(8))) CDataQuickPartyMatching : CPacketDataBase +{ + u32 m_unParam1; + u32 m_unParam2; + b8 m_bIsJobBalance; + b8 m_bIsLevelBalance; + b8 m_bIsLeader; +}; + +/* 3515 */ +typedef CDataQuickPartyMatching CQuickPartyMatching; + +/* 17205 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_QUICK_PARTY_REGISTER_QUEST_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + CQuickPartyMatching m_QuickPartyMatching; + bool m_bIsReceived; +}; + +/* 17206 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_QUICK_PARTY_REGISTER_REQ +{ + u16 m_usError; + u32 m_unContentType; + u32 m_unNum; + CQuickPartyMatching m_QuickPartyMatching; + bool m_bIsReceived; +}; + +/* 17207 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SEND_BINARY_MSG_NOTICE +{ + u16 m_usError; + MtTypedArray m_CharacterIDList; + MtMemoryStream m_Data; + bool m_bIsReceived; +}; + +/* 17208 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SEND_BINARY_MSG_ALL_NOTICE +{ + u16 m_usError; + MtMemoryStream m_Data; + bool m_bIsReceived; +}; + +/* 17209 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_INVITE_ENTRY_CANCEL_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17210 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_INVITE_ENTRY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17211 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PLAY_END_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17212 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PLAY_START_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17213 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PLAY_ENTRY_CANCEL_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17214 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PLAY_ENTRY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17215 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PARTY_CHANGE_LEADER_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 17216 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_BREAKUP_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17217 */ +struct nUserSession::CPacket_C2S_PARTY_MEMBER_KICK_REQ +{ + u16 m_usError; + u8 m_ucMemberIndex; + bool m_bIsReceived; +}; + +/* 17218 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_LEAVE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17219 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_GET_CONTENT_NUMBER_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17220 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PARTY_JOIN_REQ +{ + u16 m_usError; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 17221 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_INVITE_PREPARE_ACCEPT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17222 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_INVITE_REFUSE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17223 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PARTY_INVITE_CANCEL_REQ +{ + u16 m_usError; + u16 m_usServerId; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 17224 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PARTY_INVITE_CHARACTER_REQ +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 17225 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_PARTY_INVITE_REQ +{ + u16 m_usError; + u16 m_usServerId; + u32 m_unPartyId; + u32 m_unSequence; + u8 m_ucPartyJoinNum; + bool m_bIsReceived; +}; + +/* 17226 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_MEMBER_SET_VALUE_REQ +{ + u16 m_usError; + u8 m_ucIndex; + u8 m_ucValue; + bool m_bIsReceived; +}; + +/* 3500 */ +struct __cppobj CDataCharacterSearchParam : CPacketDataBase +{ + MtString m_wstrFirstName; + MtString m_wstrLastName; +}; + +/* 3499 */ +typedef CDataCharacterSearchParam CCharacterSearchParam; + +/* 17227 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_CHARACTER_SEARCH_REQ +{ + u16 m_usError; + CCharacterSearchParam m_SearchParam; + bool m_bIsReceived; +}; + +/* 3494 */ +struct __cppobj CDataPartySearchParameter : CPacketDataBase +{ + u32 m_unObjectiveType1; + u32 m_unPlayStyle; + CCharacterSearchParameter m_CharacterParam; +}; + +/* 3493 */ +typedef CDataPartySearchParameter CPartySearchParameter; + +/* 17228 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_PARTY_SEARCH_REQ +{ + u16 m_usError; + CPartySearchParameter m_SearchParam; + bool m_bIsReceived; +}; + +/* 17229 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_MESSAGE_SET_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17230 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_MESSAGE_SET_REQ +{ + u16 m_usError; + MtTypedArray m_MessageSetList; + bool m_bIsReceived; +}; + +/* 17231 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_COMMUNICATION_SHORTCUT_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17232 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_COMMUNICATION_SHORTCUT_LIST_REQ +{ + u16 m_usError; + MtTypedArray m_ShortcutList; + bool m_bIsReceived; +}; + +/* 17233 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_SHORTCUT_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17234 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_SHORTCUT_LIST_REQ +{ + u16 m_usError; + MtTypedArray m_ShortcutList; + bool m_bIsReceived; +}; + +/* 17235 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_UPDATE_PAWN_EDIT_PARAM_REQ +{ + u16 m_usError; + u8 m_ucSlotNo; + u8 m_ucUpdateType; + CEditInfo m_EditInfo; + bool m_bIsReceived; +}; + +/* 17236 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_UPDATE_CHARACTER_EDIT_PARAM_REQ +{ + u16 m_usError; + u8 m_ucUpdateType; + CEditInfo m_EditInfo; + bool m_bIsReceived; +}; + +/* 17237 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_AVAILABLE_BACKGROUND_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17238 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_UPDATE_ARISEN_PROFILE_SHARE_RANGE_REQ +{ + u16 m_usError; + u8 m_ucCharacterShareRange; + u8 m_ucPawnShareRange; + bool m_bIsReceived; +}; + +/* 17239 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_PAWN_PROFILE_COMMENT_REQ +{ + u16 m_usError; + u32 m_unPawnId; + MtString m_wstrComment; + bool m_bIsReceived; +}; + +/* 17240 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_PAWN_PROFILE_REQ +{ + u16 m_usError; + u32 m_unPawnId; + CArisenProfile m_ProfileInfo; + MtString m_wstrComment; + bool m_bIsReceived; +}; + +/* 17241 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_ARISEN_PROFILE_REQ +{ + u16 m_usError; + CArisenProfile m_ArisenProfile; + bool m_bIsReceived; +}; + +/* 17242 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_MATCHING_PROFILE_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 17243 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_MATCHING_PROFILE_REQ +{ + u16 m_usError; + CMatchingProfile m_MatchingProfile; + bool m_bIsReceived; +}; + +/* 17244 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SET_OBJECTIVE_REQ +{ + u16 m_usError; + u8 m_ucNo; + u8 m_ucType; + bool m_bIsReceived; +}; + +/* 17245 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_PARTY_CREATE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17246 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_PRIORITY_QUEST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17247 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_CANCEL_PRIORITY_QUEST_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17248 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_SET_PRIORITY_QUEST_REQ +{ + u16 m_usError; + u32 m_unQuestScheduleId; + bool m_bIsReceived; +}; + +/* 17249 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_LOBBY_DATA_MSG_REQ +{ + u16 m_usError; + u8 m_ucType; + u32 m_unCharacterID; + MtMemoryStream m_Data; + bool m_bIsReceived; +}; + +/* 17250 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SEND_TELL_MSG_REQ +{ + u16 m_usError; + CCommunityCharacterBaseInfo m_CharacterInfo; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 17251 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_LOBBY_CHAT_MSG_REQ +{ + u16 m_usError; + u8 m_ucType; + u32 m_unTargetID; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 17252 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_RESERVE_SERVER_REQ +{ + u16 m_usError; + u16 m_usGameServerUniqueID; + u8 m_ucType; + u8 m_ucRotationServerID; + MtTypedArray m_ReserveInfoList; + bool m_bIsReceived; +}; + +/* 17253 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_USER_LIST_MAX_NUM_REQ +{ + u16 m_usError; + u32 m_unMaxNum; + bool m_bIsReceived; +}; + +/* 17254 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_USER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17255 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_LOBBY_LEAVE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17256 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_LOBBY_JOIN_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unUserListMaxNum; + bool m_bIsReceived; +}; + +/* 17257 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_REAL_TIME_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17258 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_SET_WORLD_INFO_REQ +{ + u16 m_usError; + u32 m_unWorldID; + CWorldInfo m_WorldInfo; + bool m_bIsReceived; +}; + +/* 17259 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_WORLD_INFO_REQ +{ + u16 m_usError; + u32 m_unWorldID; + bool m_bIsReceived; +}; + +/* 17260 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_MY_CHARACTER_PROFILE_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17261 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_GET_CHARACTER_PROFILE_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 17262 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_SET_CHARACTER_BIN_SAVEDATA_REQ +{ + u16 m_usError; + u8 m_ucBin[1024]; + bool m_bIsReceived; +}; + +/* 17263 */ +struct __attribute__((aligned(4))) nUserSession::CPacket_C2S_DECIDE_CHARACTER_ID_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 17264 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_GAME_SETTING_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17265 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_SERVER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17266 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_MOVE_OUT_SERVER_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17267 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_MOVE_IN_SERVER_REQ +{ + u16 m_usError; + MtString m_wstrSessionKey; + u8 m_ucPlatform; + u32 m_unClientVersion; + bool m_bIsReceived; +}; + +/* 17268 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GAME_TIME_GET_BASEINFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17269 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_GET_LOGIN_ANNOUNCEMENT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17270 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_LOGOUT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17271 */ +struct __attribute__((aligned(8))) nUserSession::CPacket_C2S_LOGIN_REQ +{ + u16 m_usError; + MtString m_wstrSessionKey; + u8 m_ucPlatform; + u32 m_unClientVersion; + bool m_bIsReceived; +}; + +/* 17272 */ +struct __attribute__((aligned(2))) nUserSession::CPacket_C2S_CLIENT_CHALLENGE_REQ +{ + u16 m_usError; + u8 m_ucCommonKeySrcSize; + u8 m_ucCommonKeyEnc[259]; + u8 m_ucPasswordSrcSize; + u8 m_ucPasswordEncSize; + u8 m_ucPasswordEnc[62]; + bool m_bIsReceived; +}; + +/* 17460 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_LOGIN_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrOnetimeToken; + bool m_bIsReceived; +}; + +/* 17461 */ +struct __cppobj nLoginSession::CPacket_L2C_LOGIN_RES::MyDTI : MtDTI +{ +}; + +/* 17462 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_LOGOUT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 17463 */ +struct __cppobj nLoginSession::CPacket_L2C_LOGOUT_RES::MyDTI : MtDTI +{ +}; + +/* 17464 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_GET_GAME_SESSION_KEY_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtString m_wstrSessionKey; + u16 m_usGameServerUniqueID; + bool m_bIsReceived; +}; + +/* 17465 */ +struct __cppobj nLoginSession::CPacket_L2C_GET_GAME_SESSION_KEY_RES::MyDTI : MtDTI +{ +}; + +/* 17466 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_LOGIN_SERVER_CERT_NOTICE : CPacketDataBase +{ + u16 m_usError; + u8 m_ucOpenModulo[256]; + u8 m_ucOpenExpo[16]; + u32 m_unOpenHash[5]; + bool m_bIsReceived; +}; + +/* 17467 */ +struct __cppobj nLoginSession::CPacket_L2C_LOGIN_SERVER_CERT_NOTICE::MyDTI : MtDTI +{ +}; + +/* 17468 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_CLIENT_CHALLENGE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucPasswordSrcSize; + u8 m_ucPasswordEncSize; + u8 m_ucPasswordEnc[62]; + bool m_bIsReceived; +}; + +/* 17469 */ +struct __cppobj nLoginSession::CPacket_L2C_CLIENT_CHALLENGE_RES::MyDTI : MtDTI +{ +}; + +/* 17470 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_GET_ERROR_MESSAGE_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 17471 */ +struct __cppobj nLoginSession::CPacket_L2C_GET_ERROR_MESSAGE_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 17472 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_EJECTION_NTC : CPacketDataBase +{ + u16 m_usError; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 17473 */ +struct __cppobj nLoginSession::CPacket_L2C_EJECTION_NTC::MyDTI : MtDTI +{ +}; + +/* 17474 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_DECIDE_CHARACTER_ID_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + u32 m_unWaitNum; + bool m_bIsReceived; +}; + +/* 17475 */ +struct __cppobj nLoginSession::CPacket_L2C_DECIDE_CHARACTER_ID_RES::MyDTI : MtDTI +{ +}; + +/* 17476 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_DECIDE_CANCEL_CHARACTER_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 17477 */ +struct __cppobj nLoginSession::CPacket_L2C_DECIDE_CANCEL_CHARACTER_RES::MyDTI : MtDTI +{ +}; + +/* 17478 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_DELETE_CHARACTER_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 17479 */ +struct __cppobj nLoginSession::CPacket_L2C_DELETE_CHARACTER_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 17480 */ +struct __cppobj __attribute__((aligned(4))) nLoginSession::CPacket_L2C_CREATE_CHARACTER_DATA_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unWaitNum; + bool m_bIsReceived; +}; + +/* 17481 */ +struct __cppobj nLoginSession::CPacket_L2C_CREATE_CHARACTER_DATA_RES::MyDTI : MtDTI +{ +}; + +/* 17482 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_LOGIN_WAIT_NUM_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unWaitNum; + bool m_bIsReceived; +}; + +/* 17483 */ +struct __cppobj nLoginSession::CPacket_L2C_LOGIN_WAIT_NUM_NTC::MyDTI : MtDTI +{ +}; + +/* 17484 */ +struct __cppobj __attribute__((aligned(4))) nLoginSession::CPacket_L2C_CREATE_CHARACTER_DATA_NTC : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 17485 */ +struct __cppobj nLoginSession::CPacket_L2C_CREATE_CHARACTER_DATA_NTC::MyDTI : MtDTI +{ +}; + +/* 17486 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_PING_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17487 */ +struct __attribute__((aligned(4))) nLoginSession::CPacket_C2L_CREATE_CHARACTER_DATA_REQ +{ + u16 m_usError; + CCharacterInfo m_CharacterInfo; + u32 m_unWaitNum; + u8 m_ucRotationServerID; + bool m_bIsReceived; +}; + +/* 17488 */ +struct __attribute__((aligned(4))) nLoginSession::CPacket_C2L_DELETE_CHARACTER_INFO_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + bool m_bIsReceived; +}; + +/* 17489 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_DECIDE_CANCEL_CHARACTER_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17490 */ +struct __attribute__((aligned(4))) nLoginSession::CPacket_C2L_DECIDE_CHARACTER_ID_REQ +{ + u16 m_usError; + u32 m_unCharacterID; + u32 m_unClientVersion; + u8 m_ucType; + u8 m_ucRotationServerID; + u32 m_unWaitNum; + u8 m_ucCounter; + bool m_bIsReceived; +}; + +/* 17491 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_GET_CHARACTER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17492 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_GP_COURSE_GET_INFO_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17493 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_GET_LOGIN_SETTING_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17494 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_GET_ERROR_MESSAGE_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17495 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_GET_GAME_SESSION_KEY_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17496 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_GET_GAME_SERVER_LIST_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17497 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_CLIENT_CHALLENGE_REQ +{ + u16 m_usError; + u8 m_ucCommonKeySrcSize; + u8 m_ucCommonKeyEnc[259]; + u8 m_ucPasswordSrcSize; + u8 m_ucPasswordEncSize; + u8 m_ucPasswordEnc[62]; + bool m_bIsReceived; +}; + +/* 17498 */ +struct __attribute__((aligned(2))) nLoginSession::CPacket_C2L_LOGOUT_REQ +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17499 */ +struct __attribute__((aligned(8))) nLoginSession::CPacket_C2L_LOGIN_REQ +{ + u16 m_usError; + MtString m_wstrOnetimeToken; + u8 m_ucPlatform; + bool m_bIsReceived; +}; + +/* 17970 */ +struct __cppobj __attribute__((aligned(8))) nLoginSession::CPacket_L2C_NONE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 17971 */ +struct __cppobj nLoginSession::CPacket_L2C_NONE::MyDTI : MtDTI +{ +}; + +/* 18164 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_NONE : CPacketDataBase +{ + u16 m_usError; + bool m_bIsReceived; +}; + +/* 18165 */ +struct __cppobj nUserSession::CPacket_S2C_NONE::MyDTI : MtDTI +{ +}; + +/* 18166 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_SEND_TELL_MSG_NOTICE : CPacketDataBase +{ + u16 m_usError; + CCommunityCharacterBaseInfo m_CharacterBaseInfo; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 18167 */ +struct __cppobj nUserSession::CPacket_S2C_SEND_TELL_MSG_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18168 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PARTY_INVITE_SUCCESS_NTC : CPacketDataBase +{ + u16 m_usError; + u16 m_usServerId; + u32 m_unPartyId; + bool m_bIsReceived; +}; + +/* 18169 */ +struct __cppobj nUserSession::CPacket_S2C_PARTY_INVITE_SUCCESS_NTC::MyDTI : MtDTI +{ +}; + +/* 18171 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 18170 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_DUNGEON_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_PawnDungeonNoticeDataList; + MtTypedArray m_QuestContentsSituationInfoDetailList; + bool m_bIsReceived; +}; + +/* 18172 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_DUNGEON_NOTICE::MyDTI : MtDTI +{ +}; + +/* 5551 */ +struct __cppobj __attribute__((aligned(4))) CDataPawnDungeonPlayStartData : CPacketDataBase +{ + CCycleContentsPlayStartData m_Common; + u32 m_unStageId; + b8 m_bIsExistNewPawn; +}; + +/* 18174 */ +typedef CDataPawnDungeonPlayStartData CPawnDungeonPlayStartData; + +/* 18173 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_DUNGEON_PLAY_START_NOTICE : CPacketDataBase +{ + u16 m_usError; + CPawnDungeonPlayStartData m_PawnDungeonPlayStartData; + bool m_bIsReceived; +}; + +/* 18175 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_DUNGEON_PLAY_START_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18176 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_PAWN_DUNGEON_BATTLE_SUCCESS_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unGroupId; + u32 m_unPoint; + bool m_bIsReceived; +}; + +/* 18177 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_DUNGEON_BATTLE_SUCCESS_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18178 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_DUNGEON_BATTLE_FAIL_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unGroupId; + bool m_bIsReceived; +}; + +/* 18179 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_DUNGEON_BATTLE_FAIL_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18180 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_PAWN_DUNGEON_REWARD_SELECT_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 18181 */ +struct __cppobj nUserSession::CPacket_S2C_PAWN_DUNGEON_REWARD_SELECT_RES::MyDTI : MtDTI +{ +}; + +/* 18182 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_RAID_BOSS_DAMAGE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unRaidBossID; + u32 m_unRegionNo; + u32 m_unHP; + u32 m_unDamage; + bool m_bIsReceived; +}; + +/* 18183 */ +struct __cppobj nUserSession::CPacket_S2C_RAID_BOSS_DAMAGE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18184 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_RAID_BOSS_DEAD_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unRaidBossID; + bool m_bIsReceived; +}; + +/* 18185 */ +struct __cppobj nUserSession::CPacket_S2C_RAID_BOSS_DEAD_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18186 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CANCEL_FRIEND_APPLICATION_NTC : CPacketDataBase +{ + u16 m_usError; + u32 m_unCharacterId; + bool m_bIsReceived; +}; + +/* 18187 */ +struct __cppobj nUserSession::CPacket_S2C_CANCEL_FRIEND_APPLICATION_NTC::MyDTI : MtDTI +{ +}; + +/* 18188 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_SEND_MSG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 18189 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_SEND_MSG_RES::MyDTI : MtDTI +{ +}; + +/* 18190 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GROUP_CHAT_SEND_MSG_NTC : CPacketDataBase +{ + u16 m_usError; + u64 m_ullGroupID; + u32 m_unSpeakerCharacterID; + CCharacterName m_SpeakerName; + MtString m_wstrMessage; + bool m_bIsReceived; +}; + +/* 18191 */ +struct __cppobj nUserSession::CPacket_S2C_GROUP_CHAT_SEND_MSG_NTC::MyDTI : MtDTI +{ +}; + +/* 18192 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_CURRENT_SET_SKILL_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_NormalSkillList; + MtTypedArray m_SetCustomSkillList; + MtTypedArray m_SetAbilityList; + bool m_bIsReceived; +}; + +/* 18193 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_CURRENT_SET_SKILL_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 18194 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_PAWN_CURRENT_SET_ABILITY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unPawnID; + MtTypedArray m_SetAcquirementParamList; + bool m_bIsReceived; +}; + +/* 18195 */ +struct __cppobj nUserSession::CPacket_S2C_GET_PAWN_CURRENT_SET_ABILITY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 18196 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_AREA_REWARD_INFO_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_RewardItemInfoListList; + bool m_bIsReceived; +}; + +/* 18197 */ +struct __cppobj nUserSession::CPacket_S2C_GET_AREA_REWARD_INFO_RES::MyDTI : MtDTI +{ +}; + +/* 18198 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_ADD_JOB_ORDER_PROGRESS_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 18199 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_ADD_JOB_ORDER_PROGRESS_RES::MyDTI : MtDTI +{ +}; + +/* 18200 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_ARISEN_PROFILE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + CArisenProfile m_ArisenProfile; + bool m_bIsReceived; +}; + +/* 18201 */ +struct __cppobj nUserSession::CPacket_S2C_GET_ARISEN_PROFILE_RES::MyDTI : MtDTI +{ +}; + +/* 18203 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 18202 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EVENT_ACHIEVEMENT_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u8 m_ucCategoryId; + MtTypedArray m_List; + bool m_bIsReceived; +}; + +/* 18204 */ +struct __cppobj nUserSession::CPacket_S2C_EVENT_ACHIEVEMENT_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 18206 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 18205 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_EVENT_ACHIEVEMENT_CATEGORY_LIST_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_List; + bool m_bIsReceived; +}; + +/* 18207 */ +struct __cppobj nUserSession::CPacket_S2C_EVENT_ACHIEVEMENT_CATEGORY_LIST_RES::MyDTI : MtDTI +{ +}; + +/* 18209 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 18208 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_PAWN_VOICE_LINEUP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 18210 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_PAWN_VOICE_LINEUP_RES::MyDTI : MtDTI +{ +}; + +/* 18212 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 18211 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GP_SHOP_GET_PICKUP_RES : CPacketDataBase +{ + u16 m_usError; + u32 m_unResult; + MtTypedArray m_Items; + bool m_bIsReceived; +}; + +/* 18213 */ +struct __cppobj nUserSession::CPacket_S2C_GP_SHOP_GET_PICKUP_RES::MyDTI : MtDTI +{ +}; + +/* 18214 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_MAIN_QUEST_JUMP_NOTICE : CPacketDataBase +{ + u16 m_usError; + MtTypedArray m_MainQuestList; + MtTypedArray m_WorldManageQuestList; + bool m_bIsReceived; +}; + +/* 18215 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_MAIN_QUEST_JUMP_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18216 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_DEBUG_SET_QUEST_FLAG_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 18217 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_SET_QUEST_FLAG_RES::MyDTI : MtDTI +{ +}; + +/* 18218 */ +struct __cppobj __attribute__((aligned(4))) nUserSession::CPacket_S2C_DEBUG_QUEST_COMPLETE_NUM_CHANGE_NOTICE : CPacketDataBase +{ + u16 m_usError; + u32 m_unQuestScheduleId; + u32 m_unNum; + bool m_bIsReceived; +}; + +/* 18219 */ +struct __cppobj nUserSession::CPacket_S2C_DEBUG_QUEST_COMPLETE_NUM_CHANGE_NOTICE::MyDTI : MtDTI +{ +}; + +/* 18221 */ +struct __cppobj MtTypedArray : MtArray +{ +}; + +/* 18220 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_GET_LIMIT_BREAK_RECIPE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + MtTypedArray m_LimitBreakRecipeList; + bool m_bIsReceived; +}; + +/* 18222 */ +struct __cppobj nUserSession::CPacket_S2C_GET_LIMIT_BREAK_RECIPE_RES::MyDTI : MtDTI +{ +}; + +/* 18223 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_CAN_CREATE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + bool m_bIsReceived; +}; + +/* 18224 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_CAN_CREATE_RES::MyDTI : MtDTI +{ +}; + +/* 18133 */ +struct __cppobj CDataClanNoticePackage : CPacketDataBase +{ + u8 m_ucType; + u32 m_unValue1; + u32 m_unValue2; + u32 m_unValue3; + MtString m_wstrText; +}; + +/* 18226 */ +typedef CDataClanNoticePackage CClanNoticePackage; + +/* 18225 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_CLAN_UPDATE_COMMON_NTC : CPacketDataBase +{ + u16 m_usError; + CClanNoticePackage m_Notice; + bool m_bIsReceived; +}; + +/* 18227 */ +struct __cppobj nUserSession::CPacket_S2C_CLAN_UPDATE_COMMON_NTC::MyDTI : MtDTI +{ +}; + +/* 18228 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_BAZAAR_GET_TAX_PRICE_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unTax; + u32 m_unPrice; + bool m_bIsReceived; +}; + +/* 18229 */ +struct __cppobj nUserSession::CPacket_S2C_BAZAAR_GET_TAX_PRICE_RES::MyDTI : MtDTI +{ +}; + +/* 18230 */ +struct __cppobj __attribute__((aligned(8))) nUserSession::CPacket_S2C_OTHER_ROOM_LAYOUT_GET_RES : CPacketDataBase +{ + u16 m_usError; + s32 m_nResult; + u32 m_unCharacterId; + MtTypedArray m_LayoutList; + u32 m_unBgmAcquirementNo; + CNoraPawnInfo m_PawnInfo; + bool m_bIsReceived; +}; + +/* 18231 */ +struct __cppobj nUserSession::CPacket_S2C_OTHER_ROOM_LAYOUT_GET_RES::MyDTI : MtDTI +{ +}; + diff --git a/research/DDO_EXE_HTTP.txt b/research/DDO_EXE_HTTP.txt new file mode 100644 index 000000000..1f1dbf660 --- /dev/null +++ b/research/DDO_EXE_HTTP.txt @@ -0,0 +1,190 @@ +GET http://dl.dd-on.jp/patch/master/win/exe_version HTTP/1.1 +Connection: Keep-Alive +User-Agent: Capcom Web Client/2.0 (generic) +Host: dl.dd-on.jp + + +HTTP/1.1 200 OK +Server: nginx +Content-Type: application/octet-stream +Last-Modified: Fri, 25 Jan 2019 02:16:11 GMT +ETag: "5c4a716b-c8" +Accept-Ranges: bytes +Content-Length: 200 +Date: Wed, 04 Dec 2019 14:00:18 GMT +Connection: keep-alive + +03040002,_ddo_launcher.exe,33185800,2D9E450B2800896231743C000DF8D3E66C5F0231D0E12E985FDDA1DD879CF561,1 +03040008,DDO.exe,68835672,01DC41A962EA93A66B28BDE36A9C61EEC18D38E9D8D91CDB3139A0CB24C784F6,2 + + +------------------------------------------------------------------ + +GET http://dl.dd-on.jp/patch/master/win/versionlist HTTP/1.1 +Connection: Keep-Alive +User-Agent: Capcom Web Client/2.0 (generic) +Host: dl.dd-on.jp + + +HTTP/1.1 200 OK +Server: nginx +Content-Type: application/octet-stream +Last-Modified: Wed, 27 Feb 2019 06:49:13 GMT +ETag: "5c7632e9-5d1" +Accept-Ranges: bytes +Content-Length: 1489 +Date: Wed, 04 Dec 2019 14:00:19 GMT +Connection: keep-alive + +version:2 +00020002 +00020003 +00020004 +01000001 +01000002 +01000003 +01000004 +01000005 +01000006 +01010001 +01010002 +01010003 +01010004 +01010005 +01010006 +01010007 +01010008 +01010009 +01020001 +01020002 +01020003 +01020004 +01020005 +01020006 +01020007 +01020008 +01020009 +01030004 +01030005 +01030006 +01030008 +01030009 +01030010 +01030011 +01030012 +01030013 +01030014 +01030015 +02000002 +02000003 +02000004 +02000005 +02000006 +02000007 +02000008 +02000009 +02000010 +02000011 +02010004 +02010005 +02010006 +02010007 +02010008 +02010009 +02020002 +02020003 +02020004 +02020005 +02020006 +02020007 +02020008 +02020009 +02020010 +02020011 +02030001 +02030002 +02030003 +02030004 +02030005 +02030006 +02030007 +02030008 +02030009 +02030010 +02030011 +02030012 +02030013 +02030014 +02030015 +03000001 +03000002 +03000003 +03000004 +03000005 +03000006 +03000007 +03000008 +03000009 +03000010 +03000011 +03000012 +03000013 +03000014 +03000015 +03000016 +03010002 +03010003 +03010004 +03010005 +03010006 +03010007 +03010008 +03010009 +03010010 +03010011 +03010012 +03010013 +03010014 +03010015 +03010016 +03010017 +03020002 +03020003 +03020004 +03020005 +03020006 +03020007 +03020008 +03020009 +03020010 +03020011 +03020012 +03020013 +03020014 +03020015 +03020016 +03020017 +03030002 +03030003 +03030004 +03030005 +03030006 +03030007 +03030008 +03030009 +03030010 +03030011 +03030012 +03030013 +03030014 +03040001 +03040002 +03040003 +03040004 +03040005 +03040006 +03040007 +03040008 + +------------------------------------------------------------------ + diff --git a/research/GamePackets.md b/research/GamePackets.md new file mode 100644 index 000000000..0e2599958 --- /dev/null +++ b/research/GamePackets.md @@ -0,0 +1,2129 @@ +# DDON Game Server Packets (v03.04.007) + +## Tables +### Group: 0 - (CONNECTION) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CONNECTION_PING_REQ|0|0|1|0x8247c3 / 0x88a5b3|| +|S2C_CONNECTION_PING_RES|0|0|2|0x7cea40|PING に| +|C2S_CONNECTION_LOGIN_REQ|0|1|1|0x824423 / 0x88a403|| +|S2C_CONNECTION_LOGIN_RES|0|1|2|0x7ce490|ログインに| +|C2S_CONNECTION_LOGOUT_REQ|0|2|1|0x824533 / 0x88a4f3|| +|S2C_CONNECTION_LOGOUT_RES|0|2|2|0x7ce5c0|ログアウトに| +|C2S_CONNECTION_GET_LOGIN_ANNOUNCEMENT_REQ|0|3|1|0x824363|| +|S2C_CONNECTION_GET_LOGIN_ANNOUNCEMENT_RES|0|3|2|0x7ce240|ログインお知らせメッセージの取得に| +|S2C_CONNECTION_0_4_16_NTC|0|4|16|0x7ce330|None| +|C2S_CONNECTION_MOVE_IN_SERVER_REQ|0|5|1|0x8245f3|| +|S2C_CONNECTION_MOVE_IN_SERVER_RES|0|5|2|0x7ce660|サーバー移動(入る)に| +|C2S_CONNECTION_MOVE_OUT_SERVER_REQ|0|6|1|0x824703|| +|S2C_CONNECTION_MOVE_OUT_SERVER_RES|0|6|2|0x7ce720|サーバー移動(出る)に| +|C2S_CONNECTION_RESERVE_SERVER_REQ|0|7|1|0x84093e|| +|S2C_CONNECTION_RESERVE_SERVER_RES|0|7|2|0x7cead0|他サーバーのロビーの部屋予約に| +|S2C_CONNECTION_0_9_16_NTC|0|9|16|0x7cdf50|None| +|S2C_CONNECTION_0_10_16_NTC|0|10|16|0x7cec00|None| +|S2C_CONNECTION_0_11_16_NTC|0|11|16|0x7ce0e0|None| +|S2C_CONNECTION_0_12_16_NTC|0|12|16|0x7ce850|None| + + +### Group: 1 - (SERVER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_SERVER_GET_SERVER_LIST_REQ|1|0|1|0x83c413 / 0x88a90e|| +|S2C_SERVER_GET_SERVER_LIST_RES|1|0|2|0x7f9740|サーバーリスト取得に| +|C2S_SERVER_GET_GAME_SETTING_REQ|1|1|1|0x83c1d3|| +|S2C_SERVER_GET_GAME_SETTING_RES|1|1|2|0x7f9070|ゲーム設定の取得に| +|C2S_SERVER_GET_WORLD_INFO_REQ|1|2|1|0x83c4d3|| +|S2C_SERVER_GET_WORLD_INFO_RES|1|2|2|0x7f9820|ワールド情報の取得に| +|C2S_SERVER_GET_REAL_TIME_REQ|1|4|1|0x83c293|| +|S2C_SERVER_GET_REAL_TIME_RES|1|4|2|0x7f95c0|サーバー時間の取得に| +|C2S_SERVER_REPORT_SITE_GET_ADDRESS_REQ|1|5|1|0x83c5b3|| +|S2C_SERVER_REPORT_SITE_GET_ADDRESS_RES|1|5|2|0x7f99c0|報告サイトURL取得に| +|C2S_SERVER_1_6_1_REQ|1|6|1||| +|S2C_SERVER_1_6_2_RES|1|6|2|0x7f9c90|None| +|C2S_SERVER_WEATHER_FORECAST_GET_REQ|1|7|1|0x83c833|| +|S2C_SERVER_WEATHER_FORECAST_GET_RES|1|7|2|0x7f9d50|天気予報取得に| +|C2S_SERVER_GAME_TIME_GET_BASEINFO_REQ|1|8|1|0x83c113|| +|S2C_SERVER_GAME_TIME_GET_BASEINFO_RES|1|8|2|0x7f8f30|ゲーム内時間、天候、月齢の基本情報取得の結果| +|C2S_SERVER_GET_SCREEN_SHOT_CATEGORY_REQ|1|9|1|0x83c353|| +|S2C_SERVER_GET_SCREEN_SHOT_CATEGORY_RES|1|9|2|0x7f9690|スクリーンショットカテゴリの取得| +|S2C_SERVER_1_10_16_NTC|1|10|16|0x7f9ab0|None| +|S2C_SERVER_1_11_16_NTC|1|11|16|0x7f9ec0|None| +|S2C_SERVER_1_12_16_NTC|1|12|16|0x7f8ea0|None| +|S2C_SERVER_1_13_16_NTC|1|13|16|0x7f9e00|None| +|S2C_SERVER_1_14_16_NTC|1|14|16|0x7f98e0|None| + + +### Group: 2 - (CHARACTER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CHARACTER_DECIDE_CHARACTER_ID_REQ|2|0|1|0x8213d3|| +|S2C_CHARACTER_DECIDE_CHARACTER_ID_RES|2|0|2|0x7c7f20|キャラクター確定に| +|S2C_CHARACTER_2_1_1|2|1|1|0x7c98f0|None| +|C2S_CHARACTER_CHARACTER_SEARCH_REQ|2|2|1|0x821044 / 0x88a8b3|| +|S2C_CHARACTER_CHARACTER_SEARCH_RES|2|2|2|0x7c7880|キャラクター検索に| +|S2C_CHARACTER_2_3_16_NTC|2|3|16|0x7c7360|None| +|S2C_CHARACTER_2_4_16_NTC|2|4|16|0x7c7970|None| +|S2C_CHARACTER_2_5_16_NTC|2|5|16|0x7c7770|None| +|S2C_CHARACTER_2_6_16_NTC|2|6|16|0x7c7400|None| +|S2C_CHARACTER_2_7_16_NTC|2|7|16|0x7c7da0|None| +|S2C_CHARACTER_2_8_16_NTC|2|8|16|0x7c8fa0|None| +|S2C_CHARACTER_GET_CHARACTER_STATUS_NTC|2|9|16|0x7c92f0|None| +|S2C_CHARACTER_2_10_16_NTC|2|10|16|0x7c9210|None| +|S2C_CHARACTER_2_11_16_NTC|2|11|16|0x7c9190|None| +|C2S_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_REQ|2|12|1|0x821203|| +|S2C_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_RES|2|12|2|0x7c7af0|コミュニティキャラクターステータス取得要求に| +||2|13|16||Sale cuando creas un personaje, al cargar, parece tener solo un byte?| +||2|15|16||Ditto| +|C2S_CHARACTER_CHARACTER_POINT_REVIVE_REQ|2|16|1|0x820f63|| +|S2C_CHARACTER_CHARACTER_POINT_REVIVE_RES|2|16|2|0x7c76a0|キャラクタ復活(復活力消費)に| +|C2S_CHARACTER_CHARACTER_GOLDEN_REVIVE_REQ|2|17|1|0x820d93|| +|S2C_CHARACTER_CHARACTER_GOLDEN_REVIVE_RES|2|17|2|0x7c7500|キャラクタ復活(黄金石消費)に| +|C2S_CHARACTER_CHARACTER_PENALTY_REVIVE_REQ|2|18|1|0x820e73|| +|S2C_CHARACTER_CHARACTER_PENALTY_REVIVE_RES|2|18|2|0x7c75e0|キャラクタ復活(デスペナ付与)に| +|C2S_CHARACTER_PAWN_POINT_REVIVE_REQ|2|22|1|0x821df3|| +|S2C_CHARACTER_PAWN_POINT_REVIVE_RES|2|22|2|0x7c9b70|ポーン復活(復活力消費)に| +|C2S_CHARACTER_PAWN_GOLDEN_REVIVE_REQ|2|23|1|0x821d03|| +|S2C_CHARACTER_PAWN_GOLDEN_REVIVE_RES|2|23|2|0x7c9a80|ポーン復活(黄金石消費)に| +|C2S_CHARACTER_GET_REVIVE_CHARGEABLE_TIME_REQ|2|24|1|0x8219a3|| +|S2C_CHARACTER_GET_REVIVE_CHARGEABLE_TIME_RES|2|24|2|0x7c9910|復活力チャージ可能時間取得に| +|C2S_CHARACTER_CHARGE_REVIVE_POINT_REQ|2|25|1|0x821143|| +|S2C_CHARACTER_CHARGE_REVIVE_POINT_RES|2|25|2|0x7c7a40|復活力チャージに| +|C2S_CHARACTER_GET_REVIVE_POINT_REQ|2|26|1||| +|S2C_CHARACTER_GET_REVIVE_POINT_RES|2|26|2|0x7c99d0|復活力取得に| +|S2C_CHARACTER_2_27_16_NTC|2|27|16|0x7c9f60|None| +|S2C_CHARACTER_2_28_16_NTC|2|28|16|0x7c8ea0|None| +|S2C_CHARACTER_2_29_16_NTC|2|29|16|0x7ca090|None| +|S2C_CHARACTER_2_30_16_NTC|2|30|16|0x7c8f40|None| +|S2C_CHARACTER_2_31_16_NTC|2|31|16|0x7c9d50|None| +|S2C_CHARACTER_2_32_16_NTC|2|32|16|0x7c8d90|None| +|S2C_CHARACTER_2_33_16_NTC|2|33|16|0x7c9f00|None| +|S2C_CHARACTER_2_34_16_NTC|2|34|16|0x7c8e40|None| +|S2C_CHARACTER_2_35_16_NTC|2|35|16|0x7c7820|None| +|S2C_CHARACTER_2_36_16_NTC|2|36|16|0x7c9c50|None| +|S2C_CHARACTER_2_37_16_NTC|2|37|16|0x7ca2a0|None| +|C2S_CHARACTER_SET_ONLINE_STATUS_REQ|2|38|1|0x821ee3|| +|S2C_CHARACTER_SET_ONLINE_STATUS_RES|2|38|2|0x7c9cb0|オンラインステータス設定に| +|C2S_CHARACTER_SWITCH_GAME_MODE_REQ|2|39|1|0x821fd3|| +|S2C_CHARACTER_SWITCH_GAME_MODE_RES|2|39|2|0x7ca1f0|ゲームモードのスイッチ要求| +|S2C_CHARACTER_2_39_16_NTC|2|39|16|0x7ca0f0|None| +|C2S_CHARACTER_CREATE_MODE_CHARACTER_EDIT_PARAM_REQ|2|40|1|0x8212e3|| +|S2C_CHARACTER_CREATE_MODE_CHARACTER_EDIT_PARAM_RES|2|40|2|0x7c7e00|モードキャラ作成| + + +### Group: 3 - (LOBBY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_LOBBY_LOBBY_JOIN_REQ|3|0|1|0x82ee53 / 0x88a673|| +|S2C_LOBBY_LOBBY_JOIN_RES|3|0|2|0x7e2ce0|ロビーの入室に| +|C2S_LOBBY_LOBBY_LEAVE_REQ|3|1|1|0x82ef43|| +|S2C_LOBBY_LOBBY_LEAVE_RES|3|1|2|0x7e2e00|ロビーの退室に| +|C2S_LOBBY_LOBBY_CHAT_MSG_REQ|3|2|1|0x841ade|| +|S2C_LOBBY_LOBBY_CHAT_MSG_RES|3|2|2|0x7e2a40|None| +|S2C_LOBBY_3_2_16_NTC|3|2|16|0x7e29b0|None| +|S2C_LOBBY_3_4_16_NTC|3|4|16|0x7e2ad0|None| + + +### Group: 4 - (CHAT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CHAT_SEND_TELL_MSG_REQ|4|0|1|0x8408be / 0x88a733|| +|S2C_CHAT_SEND_TELL_MSG_RES|4|0|2|0x7ca430|個人チャット発言に| +|S2C_CHAT_4_0_16_NTC|4|0|16|0x7ca320|None| + + +### Group: 5 - (USER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_USER_LIST_GET_USER_LIST_REQ|5|0|1|0x88a343|| +|S2C_USER_LIST_GET_USER_LIST_RES|5|0|2|0x7fe530|ユーザーリストの取得に| +|C2S_USER_LIST_USER_LIST_MAX_NUM_REQ|5|1|1|0x88a98e|| +|S2C_USER_LIST_USER_LIST_MAX_NUM_RES|5|1|2|0x7fe880|ユーザーリストの最大人数指定に| +|S2C_USER_5_2_16_NTC|5|2|16|0x7fe5e0|None| +|S2C_USER_5_3_16_NTC|5|3|16|0x7fe7a0|None| + + +### Group: 6 - (PARTY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PARTY_PARTY_CREATE_REQ|6|0|1|0x831903|| +|S2C_PARTY_PARTY_CREATE_RES|6|0|2|0x7e7790|パーティ作成に| +|C2S_PARTY_PARTY_INVITE_REQ|6|1|1|0x841c5e|| +|S2C_PARTY_PARTY_INVITE_RES|6|1|2|0x7e87c0|パーティ要請(要請側)に| +|S2C_PARTY_6_1_16_NTC|6|1|16|0x7e85f0|None| +|C2S_PARTY_PARTY_INVITE_CHARACTER_REQ|6|2|1|0x831ab3|| +|S2C_PARTY_PARTY_INVITE_CHARACTER_RES|6|2|2|0x7e7b60|パーティ要請(キャラ)(要請側)に| +|C2S_PARTY_PARTY_INVITE_CANCEL_REQ|6|3|1|0x8319c3|| +|S2C_PARTY_PARTY_INVITE_CANCEL_RES|6|3|2|0x7e7ad0|パーティ要請キャンセル(要請側)に| +|S2C_PARTY_6_3_16_NTC|6|3|16|0x7e7a20|None| +|C2S_PARTY_PARTY_INVITE_REFUSE_REQ|6|4|1|0x831d13|| +|S2C_PARTY_PARTY_INVITE_REFUSE_RES|6|4|2|0x7e8730|パーティ要請拒否(要請受ける側)に| +|C2S_PARTY_PARTY_INVITE_PREPARE_ACCEPT_REQ|6|5|1|0x831c53|| +|S2C_PARTY_PARTY_INVITE_PREPARE_ACCEPT_RES|6|5|2|0x7e86a0|パーティ要請受諾(要請受ける側)に| +|S2C_PARTY_6_5_16_NTC|6|5|16|0x7e8660|None| <-- En este el paquete no se parsea +|C2S_PARTY_PARTY_INVITE_ENTRY_REQ|6|6|1|0x831b93|| +|S2C_PARTY_PARTY_INVITE_ENTRY_RES|6|6|2|0x7e7e70|要請受諾エントリーに| +|S2C_PARTY_6_6_16_NTC|6|6|16|0x7e7de0|None| +|C2S_PARTY_PARTY_INVITE_ENTRY_CANCEL_REQ|6|7|1||| +|S2C_PARTY_PARTY_INVITE_ENTRY_CANCEL_RES|6|7|2|0x7e7d50|要請受諾エントリーキャンセルに| +|S2C_PARTY_6_7_16_NTC|6|7|16|0x7e7c60|None| +|C2S_PARTY_PARTY_JOIN_REQ|6|8|1|0x831ea3|| +|S2C_PARTY_PARTY_JOIN_RES|6|8|2|0x7e8b20|パーティ参加に| +|S2C_PARTY_PARTY_JOIN_NTC|6|8|16|0x7e8a30|None| +|C2S_PARTY_PARTY_GET_CONTENT_NUMBER_REQ|6|9|1||| +|S2C_PARTY_PARTY_GET_CONTENT_NUMBER_RES|6|9|2|0x7e7830|パーティコンテンツ情報取得に| +|S2C_PARTY_PARTY_LEAVE_REQ|6|10|1|0x831f83|| <-- DESPUES DEL JOIN HACE ESTA!!!!!!!!! CUANDO LA PANTALLA DE CARGA +|S2C_PARTY_PARTY_LEAVE_RES|6|10|2|0x7e8f30|None| +|S2C_PARTY_PARTY_LEAVE_NTC|6|10|16|0x7e8e50|None| +|C2S_PARTY_PARTY_MEMBER_KICK_REQ|6|11|1|0x832043|| +|S2C_PARTY_PARTY_MEMBER_KICK_RES|6|11|2|0x7e91e0|パーティメンバーキックに| +|S2C_PARTY_6_11_16_NTC|6|11|16|0x7e9110|None| +|C2S_PARTY_PARTY_BREAKUP_REQ|6|12|1|0x831763|| +|S2C_PARTY_PARTY_BREAKUP_RES|6|12|2|0x7e7220|パーティ解散に| +|S2C_PARTY_6_12_16_NTC|6|12|16|0x7e71d0|None| <-- En este el paquete no se parsea +|C2S_PARTY_PARTY_CHANGE_LEADER_REQ|6|13|1|0x831823|| +|S2C_PARTY_PARTY_CHANGE_LEADER_RES|6|13|2|0x7e7630|パーティリーダー変更に| +|S2C_PARTY_6_13_16_NTC|6|13|16|0x7e7570|None| +|C2S_PARTY_PARTY_SEARCH_REQ|6|14|1|0x841cce|| +|S2C_PARTY_PARTY_SEARCH_RES|6|14|2|0x7e96c0|パーティ検索に| +|C2S_PARTY_PARTY_MEMBER_SET_VALUE_REQ|6|15|1|0x832123|| +|S2C_PARTY_PARTY_MEMBER_SET_VALUE_RES|6|15|2|0x7e95c0|パーティメンバー汎用フラグ操作に| +|S2C_PARTY_6_15_16_NTC|6|15|16|0x7e9500|None| +|S2C_PARTY_6_16_16_NTC|6|16|16|0x7e7f00|None| <-- Posiblemente S2C_PARTY_INVITE_FAIL_NTC +|S2C_PARTY_6_17_16_NTC|6|17|16|0x7e8880|None| <-- Literalmente nada, probablemente S2C_PARTY_INVITE_SUCCESS_NTC +|S2C_PARTY_6_18_16_NTC|6|18|16|0x7e78d0|None| +|S2C_PARTY_6_19_16_NTC|6|19|16|0x7e7fb0|None| +|S2C_PARTY_6_20_16_NTC|6|20|16|0x7e9470|None| +|S2C_PARTY_6_21_16_NTC|6|21|16|0x7e9300|None| <-- Posiblemente S2C_PARTY_MEMBER_LOST_NTC +|S2C_PARTY_6_22_16_NTC|6|22|16|0x7e72b0|None| <-- Posiblemente S2C_PARTY_CHANGE_HOST_NTC +|C2S_PARTY_6_23_16_NTC|6|23|16|0x832260|None| +|S2C_PARTY_6_24_16_NTC|6|24|16|0x7e97a0|None| +|C2S_PARTY_6_25_16_NTC|6|25|16|0x841D20|None| +|S2C_PARTY_6_26_16_NTC|6|26|16|0x7e9880|None| + + +### Group: 7 - (QUICK) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_QUICK_PARTY_REGISTER_REQ|7|0|1|0x83a1d3|| +|S2C_QUICK_PARTY_REGISTER_RES|7|0|2|0x7f5fa0|クイックパーティ登録要求に| +|S2C_QUICK_7_0_16_NTC|7|0|16|0x7f5d70|None| +|C2S_QUICK_PARTY_REGISTER_QUEST_REQ|7|1|1|0x83a0e3|| +|S2C_QUICK_PARTY_REGISTER_QUEST_RES|7|1|2|0x7f5f00|クイックパーティクエスト用登録要求に| +|S2C_QUICK_7_1_16_NTC|7|1|16|0x7f5ea0|None| +|C2S_QUICK_PARTY_ENTRY_REQ|7|3|1|0x839f63|| +|S2C_QUICK_PARTY_ENTRY_RES|7|3|2|0x7f5c30|クイックパーティエントリー要求に| +|S2C_QUICK_7_3_16_NTC|7|3|16|0x7f5bd0|None| +|S2C_QUICK_7_5_16_NTC|7|5|16|0x7f5ac0|None| +|S2C_QUICK_7_6_16_NTC|7|6|16|0x7f5cc0|None| +|S2C_QUICK_7_7_16_NTC|7|7|16|0x7f6030|None| + + +### Group: 8 - (PAWN) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PAWN_CREATE_MYPAWN_REQ|8|0|1|0x8324a3|| +|S2C_PAWN_CREATE_MYPAWN_RES|8|0|2|0x7e9960|マイポーン作成に| +|C2S_PAWN_DELETE_MYPAWN_REQ|8|1|1|0x832673|| +|S2C_PAWN_DELETE_MYPAWN_RES|8|1|2|0x7e9a70|マイポーン削除に| +|C2S_PAWN_GET_MYPAWN_LIST_REQ|8|2|1|0x833393|| +|S2C_PAWN_GET_MYPAWN_LIST_RES|8|2|2|0x7eab80|マイポーンリスト取得に| +|C2S_PAWN_GET_MYPAWN_DATA_REQ|8|3|1|0x8332a3|| +|S2C_PAWN_GET_MYPAWN_DATA_RES|8|3|2|0x7ea9d0|マイポーンデータ取得に| +|C2S_PAWN_GET_REGISTERED_PAWN_LIST_REQ|8|4|1|0x833a63|| +|S2C_PAWN_GET_REGISTERED_PAWN_LIST_RES|8|4|2|0x7eb8f0|登録されてるポーンリスト取得に| +|C2S_PAWN_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_REQ|8|5|1|0x833983|| +|S2C_PAWN_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_RES|8|5|2|0x7eb7f0|登録されてるポーンリスト取得に| +|C2S_PAWN_GET_REGISTERED_PAWN_DATA_REQ|8|6|1|0x8338a3|| +|S2C_PAWN_GET_REGISTERED_PAWN_DATA_RES|8|6|2|0x7eb6e0|登録されてるポーンデータ取得に| +|C2S_PAWN_RENT_REGISTERED_PAWN_REQ|8|7|1|0x841d9e|| +|S2C_PAWN_RENT_REGISTERED_PAWN_RES|8|7|2|0x7ec6a0|ポーンレンタル要求に| +|C2S_PAWN_GET_RENTED_PAWN_LIST_REQ|8|8|1|0x833c33|| +|S2C_PAWN_GET_RENTED_PAWN_LIST_RES|8|8|2|0x7ebb00|レンタルポーンリスト取得に| +|C2S_PAWN_GET_RENTED_PAWN_DATA_REQ|8|9|1|0x833b43|| +|S2C_PAWN_GET_RENTED_PAWN_DATA_RES|8|9|2|0x7eb9f0|レンタルポーンデータ取得に| +|C2S_PAWN_RETURN_RENTED_PAWN_REQ|8|10|1|0x8344f3|| +|S2C_PAWN_RETURN_RENTED_PAWN_RES|8|10|2|0x7ec750|ポーン返却に| +|C2S_PAWN_GET_PARTY_PAWN_DATA_REQ|8|11|1|0x8335d3|| +|S2C_PAWN_GET_PARTY_PAWN_DATA_RES|8|11|2|0x7eaed0|パーティ内のポーンデータ取得に| +|C2S_PAWN_JOIN_PARTY_MYPAWN_REQ|8|12|1|0x833cf3|| +|S2C_PAWN_JOIN_PARTY_MYPAWN_RES|8|12|2|0x7ebd40|マイポーンのパーティー参加に| +|S2C_PAWN_8_12_16_NTC|8|12|16|0x7ebc00|None| +|C2S_PAWN_JOIN_PARTY_RENTED_PAWN_REQ|8|13|1|0x833dd3|| +|S2C_PAWN_JOIN_PARTY_RENTED_PAWN_RES|8|13|2|0x7ebfa0|レンタルポーンのパーティー参加に| +|C2S_PAWN_GET_FAVORITE_PAWN_LIST_REQ|8|14|1|0x832fa3|| +|S2C_PAWN_GET_FAVORITE_PAWN_LIST_RES|8|14|2|0x7ea620|お気に入りポーンリスト取得に| +|C2S_PAWN_SET_FAVORITE_PAWN_REQ|8|15|1|0x8345e3|| +|S2C_PAWN_SET_FAVORITE_PAWN_RES|8|15|2|0x7ec7e0|お気に入りポーン登録に| +|C2S_PAWN_DELETE_FAVORITE_PAWN_REQ|8|16|1|0x832593|| +|S2C_PAWN_DELETE_FAVORITE_PAWN_RES|8|16|2|0x7e99e0|お気に入りポーン抹消に| +|C2S_PAWN_GET_OFFICIAL_PAWN_LIST_REQ|8|17|1|0x833513|| +|S2C_PAWN_GET_OFFICIAL_PAWN_LIST_RES|8|17|2|0x7eadd0|公式ポーンリスト取得に| +|C2S_PAWN_GET_LEGEND_PAWN_LIST_REQ|8|18|1|0x833123|| +|S2C_PAWN_GET_LEGEND_PAWN_LIST_RES|8|18|2|0x7ea770|レジェンドポーンリスト取得に| +|C2S_PAWN_PAWN_LOST_REQ|8|19|1|0x834263|| +|S2C_PAWN_PAWN_LOST_RES|8|19|2|0x7ec490|ポーンロストに| +|S2C_PAWN_8_19_16_NTC|8|19|16|0x7ec2f0|None| +|C2S_PAWN_GET_LOST_PAWN_LIST_REQ|8|20|1|0x8331e3|| +|S2C_PAWN_GET_LOST_PAWN_LIST_RES|8|20|2|0x7ea870|ロストポーンポーンリスト取得に| +|C2S_PAWN_LOST_PAWN_REVIVE_REQ|8|21|1|0x834073|| +|S2C_PAWN_LOST_PAWN_REVIVE_RES|8|21|2|0x7ec1a0|ロストポーン復活に| +|C2S_PAWN_LOST_PAWN_POINT_REVIVE_REQ|8|22|1|0x833f93|| +|S2C_PAWN_LOST_PAWN_POINT_REVIVE_RES|8|22|2|0x7ec0f0|ロストポーン復活(復活力消費)に| +|C2S_PAWN_LOST_PAWN_GOLDEN_REVIVE_REQ|8|23|1|0x833eb3|| +|S2C_PAWN_LOST_PAWN_GOLDEN_REVIVE_RES|8|23|2|0x7ec030|ロストポーン復活(黄金石消費)に| +|C2S_PAWN_LOST_PAWN_WALLET_REVIVE_REQ|8|24|1|0x834153|| +|S2C_PAWN_LOST_PAWN_WALLET_REVIVE_RES|8|24|2|0x7ec240|ロストポーン復活(通貨消費)に| +|C2S_PAWN_8_25_1_REQ|8|25|1|0x834343|| +|S2C_PAWN_8_25_2_RES|8|25|2|0x7ec5e0|None| +|S2C_PAWN_8_25_16_NTC|8|25|16|0x7ec560|None| +|C2S_PAWN_UPDATE_PAWN_REACTION_LIST_REQ|8|26|1|0x834da3|| +|S2C_PAWN_UPDATE_PAWN_REACTION_LIST_RES|8|26|2|0x7eda50|ポーンリアクションリスト更新に| +|S2C_PAWN_8_26_16_NTC|8|26|16|0x7ed940|None| +|C2S_PAWN_UPDATE_PAWN_SHARE_RANGE_REQ|8|27|1|0x834e93|| +|S2C_PAWN_UPDATE_PAWN_SHARE_RANGE_RES|8|27|2|0x7edb40|ポーン公開設定更新に| +|C2S_PAWN_GET_PAWN_HISTORY_LIST_REQ|8|28|1|0x8336e3|| +|S2C_PAWN_GET_PAWN_HISTORY_LIST_RES|8|28|2|0x7eb1c0|ポーンレンタル履歴リスト取得に| +|C2S_PAWN_GET_PAWN_TOTAL_SCORE_REQ|8|29|1|0x8337c3|| +|S2C_PAWN_GET_PAWN_TOTAL_SCORE_RES|8|29|2|0x7eb630|ポーン総合評価取得に| +|C2S_PAWN_GET_NORA_PAWN_LIST_REQ|8|30|1|0x833453|| +|S2C_PAWN_GET_NORA_PAWN_LIST_RES|8|30|2|0x7eacd0|野良ポーンリスト取得に| +|C2S_PAWN_GET_FREE_RENTAL_PAWN_LIST_REQ|8|31|1|0x833063|| +|S2C_PAWN_GET_FREE_RENTAL_PAWN_LIST_RES|8|31|2|0x7ea6c0|購入済みポーンリスト取得に| +|C2S_PAWN_GET_NORA_PAWN_DATA_REQ|8|32|1||| +|S2C_PAWN_GET_NORA_PAWN_DATA_RES|8|32|2|0x7eac10|野良ポーンデータ取得に| +|S2C_PAWN_8_33_16_NTC|8|33|16|0x7eb470|None| +|S2C_PAWN_8_34_16_NTC|8|34|16|0x7eafc0|None| +|S2C_PAWN_8_35_16_NTC|8|35|16|0x7eb510|None| +|S2C_PAWN_8_36_16_NTC|8|36|16|0x7eb2c0|None| +|S2C_PAWN_8_37_16_NTC|8|37|16|0x7ebeb0|None| +|S2C_PAWN_8_38_16_NTC|8|38|16|0x7edbe0|None| +|S2C_PAWN_8_39_16_NTC|8|39|16|0x7ea4b0|None| +|S2C_PAWN_8_40_16_NTC|8|40|16|0x7ea2b0|None| +|S2C_PAWN_8_41_16_NTC|8|41|16|0x7ea320|None| +|C2S_PAWN_EXTRA_JOIN_PARTY_REQ|8|42|1||| +|S2C_PAWN_EXTRA_JOIN_PARTY_RES|8|42|2|0x7ea390|特殊ポーンの一括レンタル| +|C2S_PAWN_EXTRA_LEAVE_PARTY_REQ|8|43|1||| +|S2C_PAWN_EXTRA_LEAVE_PARTY_RES|8|43|2|0x7ea420|特殊ポーンの一括離脱| + + +### Group: 9 - (BINARY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_BINARY_SAVE_GET_CHARACTER_BIN_SAVEDATA_REQ|9|0|1||| +|S2C_BINARY_SAVE_GET_CHARACTER_BIN_SAVEDATA_RES|9|0|2|0x7c68e0|キャラクターバイナリ情報取得に| +|C2S_BINARY_SAVE_SET_CHARACTER_BIN_SAVEDATA_REQ|9|1|1|0x8203d3|| +|S2C_BINARY_SAVE_SET_CHARACTER_BIN_SAVEDATA_RES|9|1|2|0x7c6a00|キャラクターバイナリ情報セットに| + + +### Group: 10 - (ITEM) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_ITEM_USE_BAG_ITEM_REQ|10|0|1|0x82d773|| +|S2C_ITEM_USE_BAG_ITEM_RES|10|0|2|0x7de430|所持アイテム使用に| +|S2C_ITEM_10_0_16_NTC|10|0|16|0x7de3b0|None| +|C2S_ITEM_USE_JOB_ITEMS_REQ|10|1|1|0x82d863|| +|S2C_ITEM_USE_JOB_ITEMS_RES|10|1|2|0x7de4b0|ジョブ専用アイテム使用(複数スロット)に| +|C2S_ITEM_LOAD_STORAGE_ITEM_REQ|10|2|1||| +|S2C_ITEM_LOAD_STORAGE_ITEM_RES|10|2|2|0x7dd6f0|指定倉庫のキャッシュリクエストに| +|C2S_ITEM_GET_STORAGE_ITEM_LIST_REQ|10|3|1|0x82d143|| +|S2C_ITEM_GET_STORAGE_ITEM_LIST_RES|10|3|2|0x7dd540|倉庫アイテムリスト取得に| +|C2S_ITEM_GET_ITEM_STORE_LIST_REQ|10|4|1||| +|S2C_ITEM_GET_ITEM_STORE_LIST_RES|10|4|2|0x7dd120|指定アイテム所持状態の取得に| +|C2S_ITEM_CONSUME_STORAGE_ITEM_REQ|10|5|1|0x82ca33|| +|S2C_ITEM_CONSUME_STORAGE_ITEM_RES|10|5|2|0x7dc6d0|倉庫アイテム消費に| +|C2S_ITEM_GET_POST_ITEM_LIST_REQ|10|6|1|0x82cf93|| +|S2C_ITEM_GET_POST_ITEM_LIST_RES|10|6|2|0x7dd270|宅配アイテムリスト取得に| +|C2S_ITEM_MOVE_ITEM_REQ|10|7|1|0x82d2e3|| +|S2C_ITEM_MOVE_ITEM_RES|10|7|2|0x7dd780|アイテム移動に| +|C2S_ITEM_SELL_ITEM_REQ|10|8|1|0x82d4e3|| +|S2C_ITEM_SELL_ITEM_RES|10|8|2|0x7dd8a0|アイテム売却に| +|C2S_ITEM_GET_ITEM_STORAGE_INFO_REQ|10|9|1|0x82ceb3|| +|S2C_ITEM_GET_ITEM_STORAGE_INFO_RES|10|9|2|0x7dd070|アイテムストレージ情報取得に| +|S2C_ITEM_10_10_16_NTC|10|10|16|0x7dcad0|None| +|S2C_ITEM_10_11_16_NTC|10|11|16|0x7dca30|None| +|S2C_ITEM_10_12_16_NTC|10|12|16|0x7ddd80|None| +|S2C_ITEM_10_13_16_NTC|10|13|16|0x7ddcc0|None| +|S2C_ITEM_10_14_16_NTC|10|14|16|0x7de260|None| +|C2S_ITEM_GET_PAY_COST_REQ|10|15|1||| +|S2C_ITEM_GET_PAY_COST_RES|10|15|2|0x7dd1f0|代価| +|C2S_ITEM_GET_VALUABLE_ITEM_LIST_REQ|10|16|1|0x82d223|| +|S2C_ITEM_GET_VALUABLE_ITEM_LIST_RES|10|16|2|0x7dd640|落し物リスト取得| +|C2S_ITEM_RECOVERY_VALUABLE_ITEM_REQ|10|17|1|0x82d3d3|| +|S2C_ITEM_RECOVERY_VALUABLE_ITEM_RES|10|17|2|0x7dd810|落し物の再取得| +|C2S_ITEM_GET_ITEM_STORAGE_CUSTOM_REQ|10|18|1||| +|S2C_ITEM_GET_ITEM_STORAGE_CUSTOM_RES|10|18|2|0x7dcf60|アイテムストレージカスタム設定取得| +|C2S_ITEM_UPDATE_ITEM_STORAGE_CUSTOM_REQ|10|19|1||| +|S2C_ITEM_UPDATE_ITEM_STORAGE_CUSTOM_RES|10|19|2|0x7de1d0|アイテムストレージカスタム設定更新| +|C2S_ITEM_GET_EQUIP_RARE_TYPE_ITEMS_REQ|10|20|1|0x82cdc3|| +|S2C_ITEM_GET_EQUIP_RARE_TYPE_ITEMS_RES|10|20|2|0x7dceb0|EQUIP_RARE_TYPE対象のアイテムリストの取得| +|C2S_ITEM_CHANGE_ATTR_DISCARD_REQ|10|21|1|0x82c943|| +|S2C_ITEM_CHANGE_ATTR_DISCARD_RES|10|21|2|0x7dc640|アイテム破棄売却フラグ変更完了| +|C2S_ITEM_GET_DEFAULT_STORAGE_EMPTY_SLOT_NUM_REQ|10|22|1|0x82cc23|| +|S2C_ITEM_GET_DEFAULT_STORAGE_EMPTY_SLOT_NUM_RES|10|22|2|0x7dccd0|指定ストレージ(デフォルト:レスタニア側)の空き枠数取得に| +|C2S_ITEM_GET_SPECIFIED_HAVING_ITEM_LIST_REQ|10|23|1|0x82d053|| +|S2C_ITEM_GET_SPECIFIED_HAVING_ITEM_LIST_RES|10|23|2|0x7dd450|指定アイテムIDの所持品取得に| +|C2S_ITEM_EMBODY_ITEMS_REQ|10|24|1|0x82cb13|| +|S2C_ITEM_EMBODY_ITEMS_RES|10|24|2|0x7dc760|具現化に| +|C2S_ITEM_GET_EMBODY_PAY_COST_REQ|10|25|1|0x82cd03|| +|S2C_ITEM_GET_EMBODY_PAY_COST_RES|10|25|2|0x7dcdc0|具現化コストの取得に| + + +### Group: 11 - (QUEST) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_QUEST_GET_LIGHT_QUEST_LIST_REQ|11|0|1|0x8378c3|| +|S2C_QUEST_GET_LIGHT_QUEST_LIST_RES|11|0|2|0x7f13d0|ライトクエストリストの取得に| +|C2S_QUEST_GET_SET_QUEST_LIST_REQ|11|1|1|0x838a23|| +|S2C_QUEST_GET_SET_QUEST_LIST_RES|11|1|2|0x7f2560|セットクエストリストの取得に| +|S2C_QUEST_GET_SET_QUEST_LIST_NTC|11|1|16|0x7f24e0|None| +|C2S_QUEST_GET_MAIN_QUEST_LIST_REQ|11|2|1|0x837b43|| +|S2C_QUEST_GET_MAIN_QUEST_LIST_RES|11|2|2|0x7f1690|メインクエストリストの取得に| +|S2C_QUEST_11_2_16_NTC|11|2|16|0x7f15f0|None| +|C2S_QUEST_GET_TUTORIAL_QUEST_LIST_REQ|11|3|1|0x838c83|| +|S2C_QUEST_GET_TUTORIAL_QUEST_LIST_RES|11|3|2|0x7f2770|チュートリアルクエストリストに| +|C2S_QUEST_GET_LOT_QUEST_LIST_REQ|11|4|1|0x8379a3|| +|S2C_QUEST_GET_LOT_QUEST_LIST_RES|11|4|2|0x7f14b0|抽選クエストリストの取得に| +|C2S_QUEST_GET_PACKAGE_QUEST_LIST_REQ|11|5|1|0x838033|| +|S2C_QUEST_GET_PACKAGE_QUEST_LIST_RES|11|5|2|0x7f1bb0|パッケージクエストリストの取得に| +|C2S_QUEST_GET_MOB_HUNT_QUEST_LIST_REQ|11|6|1|0x837c03|| +|S2C_QUEST_GET_MOB_HUNT_QUEST_LIST_RES|11|6|2|0x7f1790|モブハントクエストリストの取得に| +|S2C_QUEST_11_7_16_NTC|11|7|16|0x7f2db0|None| +|C2S_QUEST_GET_TIME_LIMITED_QUEST_LIST_REQ|11|8|1|0x838bc3|| +|S2C_QUEST_GET_TIME_LIMITED_QUEST_LIST_RES|11|8|2|0x7f26c0|期間限定クエストリストの取得に| +|C2S_QUEST_GET_WORLD_MANAGE_QUEST_LIST_REQ|11|9|1|0x838d63|| +|S2C_QUEST_GET_WORLD_MANAGE_QUEST_LIST_RES|11|9|2|0x7f28c0|世界管理クエストリストの取得に| +|S2C_QUEST_11_9_16_NTC|11|9|16|0x7f2820|None| +|C2S_QUEST_GET_END_CONTENTS_GROUP_REQ|11|10|1|0x837663|| +|S2C_QUEST_GET_END_CONTENTS_GROUP_RES|11|10|2|0x7f1180|エンドコンテンツクエストリストの取得に| +|C2S_QUEST_GET_QUEST_SCHEDULE_INFO_REQ|11|11|1|0x8385f3|| +|S2C_QUEST_GET_QUEST_SCHEDULE_INFO_RES|11|11|2|0x7f20a0|スケジューラIDからクエストIDの取得| +|C2S_QUEST_GET_MAIN_QUEST_COMPLETE_INFO_REQ|11|12|1|0x837a83|| +|S2C_QUEST_GET_MAIN_QUEST_COMPLETE_INFO_RES|11|12|2|0x7f1560|メインクエストクリア情報の取得に| +|C2S_QUEST_11_13_1_REQ|11|13|1|0x8386d3|| +|S2C_QUEST_11_13_2_RES|11|13|2|0x7f2180|None| +|C2S_QUEST_GET_SET_QUEST_INFO_LIST_REQ|11|14|1|0x838943|| +|S2C_QUEST_GET_SET_QUEST_INFO_LIST_RES|11|14|2|0x7f2430|新聞用セットクエスト情報リストの取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_NEWS_LIST_REQ|11|15|1|0x837163|| +|S2C_QUEST_GET_CYCLE_CONTENTS_NEWS_LIST_RES|11|15|2|0x7f0b70|新聞用循環コンテンツ情報リストの取得に| +|C2S_QUEST_GET_PACKAGE_QUEST_INFO_REQ|11|16|1|0x837f73|| +|S2C_QUEST_GET_PACKAGE_QUEST_INFO_RES|11|16|2|0x7f1b00|UI用パッケージクエスト情報リストの取得に| +|C2S_QUEST_GET_PACKAGE_QUEST_INFO_DETAIL_REQ|11|17|1|0x837e93|| +|S2C_QUEST_GET_PACKAGE_QUEST_INFO_DETAIL_RES|11|17|2|0x7f1a50|UI用パッケージクエスト詳細情報の取得に| +|C2S_QUEST_ADD_PACKAGE_QUEST_POINT_REQ|11|18|1|0x8361e3|| +|S2C_QUEST_ADD_PACKAGE_QUEST_POINT_RES|11|18|2|0x7ef4c0|パッケージクエストポイントの増加に| +|C2S_QUEST_GET_AREA_BONUS_LIST_REQ|11|19|1|0x836f03|| +|S2C_QUEST_GET_AREA_BONUS_LIST_RES|11|19|2|0x7f0960|新聞用エリアボーナスリスト取得に| +|C2S_QUEST_QUEST_ORDER_REQ|11|20|1|0x839973|| +|S2C_QUEST_QUEST_ORDER_RES|11|20|2|0x7f4650|クエスト受注に| +|S2C_QUEST_11_20_16_NTC|11|20|16|0x7f45c0|None| +|C2S_QUEST_QUEST_PROGRESS_REQ|11|21|1|0x841fee|| +|S2C_QUEST_QUEST_PROGRESS_RES|11|21|2|0x7f4850|クエスト進行に| +|S2C_QUEST_11_21_16_NTC|11|21|16|0x7f4790|None| +|C2S_QUEST_LEADER_QUEST_PROGRESS_REQUEST_REQ|11|22|1|0x841f6e|| +|S2C_QUEST_LEADER_QUEST_PROGRESS_REQUEST_RES|11|22|2|0x7f2b30|リーダーへのクエスト進行要求に| +|S2C_QUEST_11_22_16_NTC|11|22|16|0x7f2a90|None| +|C2S_QUEST_LIGHT_QUEST_GP_COMPLETE_REQ|11|23|1|0x838fb3|| +|S2C_QUEST_LIGHT_QUEST_GP_COMPLETE_RES|11|23|2|0x7f2d00|ボードクエスト課金即時クリア応答| +|C2S_QUEST_CHECK_QUEST_DISTRIBUTION_REQ|11|24|1|0x836493|| +|S2C_QUEST_CHECK_QUEST_DISTRIBUTION_RES|11|24|2|0x7ef7a0|クエスト配信チェックに| +|C2S_QUEST_QUEST_CANCEL_REQ|11|25|1|0x8396f3|| +|S2C_QUEST_QUEST_CANCEL_RES|11|25|2|0x7f41c0|クエストキャンセルに| +|S2C_QUEST_11_25_16_NTC|11|25|16|0x7f4130|None| +|S2C_QUEST_11_26_16_NTC|11|26|16|0x7f52f0|None| +|S2C_QUEST_11_27_16_NTC|11|27|16|0x7f5380|None| +|C2S_QUEST_END_DISTRIBUTION_QUEST_CANCEL_REQ|11|28|1|0x836cc3|| +|S2C_QUEST_END_DISTRIBUTION_QUEST_CANCEL_RES|11|28|2|0x7f03d0|配信終了クエストキャンセルに| +|C2S_QUEST_QUEST_COMPLETE_FLAG_CLEAR_REQ|11|29|1|0x8397d3|| +|S2C_QUEST_QUEST_COMPLETE_FLAG_CLEAR_RES|11|29|2|0x7f4270|クエストクリアフラグクリアに| +|C2S_QUEST_GET_QUEST_DETAIL_LIST_REQ|11|30|1|0x838373|| +|S2C_QUEST_GET_QUEST_DETAIL_LIST_RES|11|30|2|0x7f1ea0|クエスト詳細情報の取得に| +|C2S_QUEST_GET_QUEST_COMPLETE_LIST_REQ|11|31|1|0x838293|| +|S2C_QUEST_GET_QUEST_COMPLETE_LIST_RES|11|31|2|0x7f1df0|クエストクリアリストの取得に| +|C2S_QUEST_SET_PRIORITY_QUEST_REQ|11|32|1|0x839dc3|| +|S2C_QUEST_SET_PRIORITY_QUEST_RES|11|32|2|0x7f5630|優先クエストの設定に| +|S2C_QUEST_11_32_16_NTC|11|32|16|0x7f5570|None| +|C2S_QUEST_CANCEL_PRIORITY_QUEST_REQ|11|33|1|0x8363b3|| +|S2C_QUEST_CANCEL_PRIORITY_QUEST_RES|11|33|2|0x7ef6c0|優先クエストの解除に| +|C2S_QUEST_GET_PRIORITY_QUEST_REQ|11|34|1|0x8381d3|| +|S2C_QUEST_GET_PRIORITY_QUEST_RES|11|34|2|0x7f1d40|優先クエストの取得に| +|C2S_QUEST_GET_SET_QUEST_OPEN_DATE_LIST_REQ|11|35|1|0x838b03|| +|S2C_QUEST_GET_SET_QUEST_OPEN_DATE_LIST_RES|11|35|2|0x7f2610|セットクエストの公開日時リストの取得に| +|C2S_QUEST_GET_QUEST_LAYOUT_FLAG_REQ|11|36|1|0x838453|| +|S2C_QUEST_GET_QUEST_LAYOUT_FLAG_RES|11|36|2|0x7f1f50|クエストレイアウトフラグの取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_STATE_LIST_REQ|11|37|1|0x8375a3|| +|S2C_QUEST_GET_CYCLE_CONTENTS_STATE_LIST_RES|11|37|2|0x7f1080|循環コンテンツ状態リストの取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_REQ|11|38|1|0x8374c3|| +|S2C_QUEST_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_RES|11|38|2|0x7f0f60|循環コンテンツ本編情報リストの取得に| +|C2S_QUEST_PLAY_ENTRY_REQ|11|39|1|0x839213|| +|S2C_QUEST_PLAY_ENTRY_RES|11|39|2|0x7f3610|プレイエントリーに| +|S2C_QUEST_11_39_16_NTC|11|39|16|0x7f3530|None| +|C2S_QUEST_11_40_1_REQ|11|40|1|0x839153|| +|S2C_QUEST_11_40_2_RES|11|40|2|0x7f3470|None| +|S2C_QUEST_11_40_16_NTC|11|40|16|0x7f3390|None| +|C2S_QUEST_PLAY_START_REQ|11|41|1|0x839473|| +|S2C_QUEST_PLAY_START_RES|11|41|2|0x7f3db0|プレイスタートに| +|C2S_QUEST_PLAY_START_TIMER_REQ|11|42|1|0x839553|| +|S2C_QUEST_PLAY_START_TIMER_RES|11|42|2|0x7f3f10|クエスト時間計測開始に| +|S2C_QUEST_11_42_16_NTC|11|42|16|0x7f3e80|None| +|C2S_QUEST_PLAY_INTERRUPT_REQ|11|43|1|0x8393b3|| +|S2C_QUEST_PLAY_INTERRUPT_RES|11|43|2|0x7f3a10|コンテンツプレイ中断要求に| +|S2C_QUEST_11_43_16_NTC|11|43|16|0x7f3850|None| +|C2S_QUEST_PLAY_INTERRUPT_ANSWER_REQ|11|44|1|0x8392d3|| +|S2C_QUEST_PLAY_INTERRUPT_ANSWER_RES|11|44|2|0x7f3760|コンテンツプレイ中断応答に| +|C2S_QUEST_PLAY_END_REQ|11|45|1|0x839093|| +|S2C_QUEST_PLAY_END_RES|11|45|2|0x7f3300|エンドコンテンツ終了に| +|S2C_QUEST_11_45_16_NTC|11|45|16|0x7f3270|None| +|C2S_QUEST_CYCLE_CONTENTS_PLAY_START_REQ|11|46|1|0x836633|| +|S2C_QUEST_CYCLE_CONTENTS_PLAY_START_RES|11|46|2|0x7efb70|循環コンテンツプレイスタートに| +|C2S_QUEST_CYCLE_CONTENTS_PLAY_END_REQ|11|47|1|0x836573|| +|S2C_QUEST_CYCLE_CONTENTS_PLAY_END_RES|11|47|2|0x7efad0|循環コンテンツ終了に| +|S2C_QUEST_11_47_16_NTC|11|47|16|0x7efa10|None| +|C2S_QUEST_GET_CYCLE_CONTENTS_POINT_LIST_REQ|11|48|1|0x837303|| +|S2C_QUEST_GET_CYCLE_CONTENTS_POINT_LIST_RES|11|48|2|0x7f0d10|循環コンテンツポイントリスト取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_NOW_POINT_LIST_REQ|11|49|1|0x837223|| +|S2C_QUEST_GET_CYCLE_CONTENTS_NOW_POINT_LIST_RES|11|49|2|0x7f0c20|循環コンテンツ現在ポイントリスト取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_REQ|11|50|1|0x837083|| +|S2C_QUEST_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_RES|11|50|2|0x7f0ac0|循環コンテンツボーダー報酬リスト取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_REQ|11|51|1|0x8373e3|| +|S2C_QUEST_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_RES|11|51|2|0x7f0e00|循環コンテンツランキング報酬リスト取得に| +|C2S_QUEST_GET_CYCLE_CONTENTS_REWARD_REQ|11|52|1||| +|S2C_QUEST_GET_CYCLE_CONTENTS_REWARD_RES|11|52|2|0x7f0eb0|循環コンテンツ報酬受け取りに| +|C2S_QUEST_11_53_1_REQ|11|53|1||| +|S2C_QUEST_11_53_2_RES|11|53|2|0x7f31c0|None| +|C2S_QUEST_11_54_1_REQ|11|54|1||| +|S2C_QUEST_11_54_2_RES|11|54|2|0x7f31d0|None| +|C2S_QUEST_GP_CYCLE_CONTENTS_ROULETTE_REQ|11|55|1|0x838e23|| +|S2C_QUEST_GP_CYCLE_CONTENTS_ROULETTE_RES|11|55|2|0x7f2970|循環コンテンツルーレット課金応答| +|C2S_QUEST_GET_AREA_INFO_LIST_REQ|11|56|1|0x836fc3|| +|S2C_QUEST_GET_AREA_INFO_LIST_RES|11|56|2|0x7f0a10|新聞用エリア情報リストの取得に| +|C2S_QUEST_GET_QUEST_PARTY_BONUS_LIST_REQ|11|57|1|0x838533|| +|S2C_QUEST_GET_QUEST_PARTY_BONUS_LIST_RES|11|57|2|0x7f1ff0|パーティボーナス対象クエストリスト取得に| +|C2S_QUEST_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_REQ|11|58|1|0x839b23|| +|S2C_QUEST_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_RES|11|58|2|0x7f5130|リーダの受注条件送信に| +|S2C_QUEST_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_NTC|11|58|16|0x7f5090|None| +|C2S_QUEST_SEND_LEADER_WAIT_ORDER_QUEST_LIST_REQ|11|59|1|0x839c03|| +|S2C_QUEST_SEND_LEADER_WAIT_ORDER_QUEST_LIST_RES|11|59|2|0x7f5260|リーダの受注待ちクエスト送信に| +|S2C_QUEST_SEND_LEADER_WAIT_ORDER_QUEST_LIST_NTC|11|59|16|0x7f51c0|None| +|C2S_QUEST_QUEST_LOG_INFO_REQ|11|61|1|0x8398b3|| +|S2C_QUEST_QUEST_LOG_INFO_RES|11|61|2|0x7f4430|クエストログ通知に| +|C2S_QUEST_GET_REWARD_BOX_LIST_REQ|11|62|1|0x838883|| +|S2C_QUEST_GET_REWARD_BOX_LIST_RES|11|62|2|0x7f2370|報酬ボックスリスト取得に| +|C2S_QUEST_GET_REWARD_BOX_LIST_NUM_REQ|11|63|1||| +|S2C_QUEST_GET_REWARD_BOX_LIST_NUM_RES|11|63|2|0x7f22c0|報酬ボックスリスト数の取得に| +|C2S_QUEST_GET_REWARD_BOX_ITEM_REQ|11|64|1|0x838793|| +|S2C_QUEST_GET_REWARD_BOX_ITEM_RES|11|64|2|0x7f2230|報酬ボックスアイテムの受け取りに| +|C2S_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_REQ|11|65|1|0x837dd3|| +|S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_RES|11|65|2|0x7f1990|循環コンテンツ報酬リスト取得に| +|C2S_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_REQ|11|66|1||| +|S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_RES|11|66|2|0x7f18f0|循環コンテンツ報酬リスト数の取得に| +|C2S_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_REQ|11|67|1|0x837ce3|| +|S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_RES|11|67|2|0x7f1840|循環コンテンツ報酬アイテムの受け取りに| +|S2C_QUEST_11_68_16_NTC|11|68|16|0x7f2be0|None| +|C2S_QUEST_DELIVER_ITEM_REQ|11|69|1|0x836bb3|| +|S2C_QUEST_DELIVER_ITEM_RES|11|69|2|0x7f0330|納品に| +|S2C_QUEST_11_69_16_NTC|11|69|16|0x7f0260|None| +|C2S_QUEST_DECIDE_DELIVERY_ITEM_REQ|11|70|1|0x836ac3|| +|S2C_QUEST_DECIDE_DELIVERY_ITEM_RES|11|70|2|0x7f01c0|納品決定に| +|S2C_QUEST_11_70_16_NTC|11|70|16|0x7f0130|None| +|C2S_QUEST_GET_PARTY_QUEST_PROGRESS_INFO_REQ|11|71|1|0x838113|| +|S2C_QUEST_GET_PARTY_QUEST_PROGRESS_INFO_RES|11|71|2|0x7f1c60|パーティークエスト進行情報取得に| +|C2S_QUEST_DEBUG_MAIN_QUEST_JUMP_REQ|11|73|1|0x836713|| +|S2C_QUEST_DEBUG_MAIN_QUEST_JUMP_RES|11|73|2|0x7efeb0|(デバッグ用)メインクエストジャンプに| +|S2C_QUEST_11_73_16_NTC|11|73|16|0x7efea0|None| +|C2S_QUEST_DEBUG_QUEST_RESET_REQ|11|74|1|0x8369e3|| +|S2C_QUEST_DEBUG_QUEST_RESET_RES|11|74|2|0x7f0090|(デバッグ用)クエストリセットに| +|C2S_QUEST_DEBUG_QUEST_RESET_ALL_REQ|11|75|1|0x836903|| +|S2C_QUEST_DEBUG_QUEST_RESET_ALL_RES|11|75|2|0x7efff0|(デバッグ用)クエスト全リセットに| +|C2S_QUEST_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_REQ|11|76|1||| +|S2C_QUEST_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_RES|11|76|2|0x7efc60|(デバッグ用)循環コンテンツ成果ポイントのアップロードに| +|C2S_QUEST_11_77_1_REQ|11|77|1||| +|S2C_QUEST_11_77_2_RES|11|77|2|0x7f0120|None| +|C2S_QUEST_11_78_1_REQ|11|78|1||| +|S2C_QUEST_11_78_2_RES|11|78|2|0x7efd80|None| +|C2S_QUEST_11_79_1_REQ|11|79|1||| +|S2C_QUEST_11_79_2_RES|11|79|2|0x7efe10|None| +|C2S_QUEST_DEBUG_ENEMY_SET_PRESET_FIX_REQ|11|80|1||| +|S2C_QUEST_DEBUG_ENEMY_SET_PRESET_FIX_RES|11|80|2|0x7efcf0|(デバッグ用)敵セットプリセット固定に| +|S2C_QUEST_11_82_16_NTC|11|82|16|0x7eff60|None| +|S2C_QUEST_11_83_16_NTC|11|83|16|0x7f56d0|None| <-- CDataCommonU32 nada mas (S2C_QUEST_SET_QUEST_UNRELEASED_AREA_NTC?) +|S2C_QUEST_11_84_16_NTC|11|84|16|0x7f4d70|None| <-- CDataCommonU32 nada mas (S2C_QUEST_RELEASE_SET_QUEST_AREA_NTC?) +|S2C_QUEST_11_85_16_NTC|11|85|16|0x7f43a0|None| +|S2C_QUEST_11_86_16_NTC|11|86|16|0x7ef840|None| +|S2C_QUEST_11_87_16_NTC|11|87|16|0x7f45a0|None| +|S2C_QUEST_11_88_16_NTC|11|88|16|0x7f15e0|None| +|S2C_QUEST_11_89_16_NTC|11|89|16|0x7f2a20|None| +|S2C_QUEST_11_90_16_NTC|11|90|16|0x7f4910|None| +|S2C_QUEST_11_91_16_NTC|11|91|16|0x7f4310|None| +|S2C_QUEST_11_92_16_NTC|11|92|16|0x7f2f30|None| +|S2C_QUEST_11_93_16_NTC|11|93|16|0x7f2fc0|None| +|S2C_QUEST_11_94_16_NTC|11|94|16|0x7f2ea0|None| +|S2C_QUEST_11_95_16_NTC|11|95|16|0x7f0480|None| +|S2C_QUEST_11_96_16_NTC|11|96|16|0x7f31a0|None| +|S2C_QUEST_11_97_16_NTC|11|97|16|0x7f4a40|None| +|S2C_QUEST_11_98_16_NTC|11|98|16|0x7ef8d0|None| +|S2C_QUEST_11_99_16_NTC|11|99|16|0x7f0690|None| +|S2C_QUEST_11_100_16_NTC|11|100|16|0x7f0740|None| +|S2C_QUEST_11_101_16_NTC|11|101|16|0x7f5830|None| +|S2C_QUEST_11_102_16_NTC|11|102|16|0x7f31e0|None| +|S2C_QUEST_11_103_16_NTC|11|103|16|0x7f3fa0|None| +|S2C_QUEST_11_104_16_NTC|11|104|16|0x7f3d20|None| +|S2C_QUEST_11_105_16_NTC|11|105|16|0x7f4040|None| +|S2C_QUEST_11_106_16_NTC|11|106|16|0x7f5a20|None| +|S2C_QUEST_11_107_16_NTC|11|107|16|0x7f3b50|None| +|S2C_QUEST_11_108_16_NTC|11|108|16|0x7f36d0|None| +|S2C_QUEST_11_109_16_NTC|11|109|16|0x7f49b0|None| +|S2C_QUEST_11_110_16_NTC|11|110|16|0x7f04f0|None| +|S2C_QUEST_11_111_16_NTC|11|111|16|0x7f31b0|None| +|S2C_QUEST_11_112_16_NTC|11|112|16|0x7f3190|None| +|S2C_QUEST_11_113_16_NTC|11|113|16|0x7f3180|None| +|S2C_QUEST_11_114_16_NTC|11|114|16|0x7f4ab0|None| +|S2C_QUEST_11_115_16_NTC|11|115|16|0x7f4cb0|None| +|S2C_QUEST_11_116_16_NTC|11|116|16|0x7f4720|None| +|S2C_QUEST_11_117_16_NTC|11|117|16|0x7f4e10|None| +|S2C_QUEST_11_118_16_NTC|11|118|16|0x7f2e50|None| +|S2C_QUEST_11_119_16_NTC|11|119|16|0x7f3060|None| +|S2C_QUEST_11_120_16_NTC|11|120|16|0x7f30f0|None| +|C2S_QUEST_GET_LEVEL_BONUS_LIST_REQ|11|121|1|0x837803|| +|S2C_QUEST_GET_LEVEL_BONUS_LIST_RES|11|121|2|0x7f1320|レベルボーナス情報リストの取得に| +|C2S_QUEST_GET_ADVENTURE_GUIDE_QUEST_LIST_REQ|11|122|1|0x836d83|| +|S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_LIST_RES|11|122|2|0x7f07d0|冒険ガイドクエストの取得に| +|C2S_QUEST_GET_ADVENTURE_GUIDE_QUEST_NOTICE_REQ|11|123|1|0x836e43|| +|S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_NOTICE_RES|11|123|2|0x7f0880|冒険ガイドクエスト通知の取得に| +|C2S_QUEST_SET_NAVIGATION_QUEST_REQ|11|124|1|0x839ce3|| +|S2C_QUEST_SET_NAVIGATION_QUEST_RES|11|124|2|0x7f5490|ナビゲーションクエストセットに| +|S2C_QUEST_11_124_16_NTC|11|124|16|0x7f5410|None| +|C2S_QUEST_CANCEL_NAVIGATION_QUEST_REQ|11|125|1|0x8362d3|| +|S2C_QUEST_CANCEL_NAVIGATION_QUEST_RES|11|125|2|0x7ef5e0|ナビゲーションクエストのキャンセルに| +|S2C_QUEST_11_125_16_NTC|11|125|16|0x7ef550|None| +|S2C_QUEST_11_126_16_NTC|11|126|16|0x7effe0|None| +|C2S_QUEST_GET_END_CONTENTS_RECRUIT_LIST_REQ|11|127|1|0x837743|| +|S2C_QUEST_GET_END_CONTENTS_RECRUIT_LIST_RES|11|127|2|0x7f1230|エンドコンテンツ募集リストの取得に| + + +### Group: 12 - (STAGE) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_STAGE_GET_STAGE_LIST_REQ|12|0|1|0x83ed13|| +|S2C_STAGE_GET_STAGE_LIST_RES|12|0|2|0x7fd9e0|ステージリスト取得に| +|C2S_STAGE_AREA_CHANGE_REQ|12|1|1|0x83ea63|| +|S2C_STAGE_AREA_CHANGE_RES|12|1|2|0x7fd690|エリアチェンジリクエストに| +|C2S_STAGE_GET_SP_AREA_CHANGE_ID_FROM_NPC_ID_REQ|12|2|1|0x83eb53|| +|S2C_STAGE_GET_SP_AREA_CHANGE_ID_FROM_NPC_ID_RES|12|2|2|0x7fd720|特殊ステージ移動ID取得に| +|C2S_STAGE_GET_SP_AREA_CHANGE_LIST_FROM_OM_REQ|12|3|1||| +|S2C_STAGE_GET_SP_AREA_CHANGE_LIST_FROM_OM_RES|12|3|2|0x7fd8b0|特殊ステージ移動リスト取得に| +|C2S_STAGE_GET_SP_AREA_CHANGE_INFO_REQ|12|4|1|0x83ec33|| +|S2C_STAGE_GET_SP_AREA_CHANGE_INFO_RES|12|4|2|0x7fd800|特殊ステージ移動情報取得に| +|C2S_STAGE_UNISON_AREA_CHANGE_BEGIN_RECRUITMENT_REQ|12|5|1|0x84293e|| +|S2C_STAGE_UNISON_AREA_CHANGE_BEGIN_RECRUITMENT_RES|12|5|2|0x7fdce0|一斉ステージ移動待ち受け開始に| +|C2S_STAGE_UNISON_AREA_CHANGE_GET_RECRUITMENT_STATE_REQ|12|6|1|0x83f103|| +|S2C_STAGE_UNISON_AREA_CHANGE_GET_RECRUITMENT_STATE_RES|12|6|2|0x7fde20|一斉ステージ移動待ち受け状態取得に| +|C2S_STAGE_UNISON_AREA_CHANGE_READY_REQ|12|7|1|0x83f2c3|| +|S2C_STAGE_UNISON_AREA_CHANGE_READY_RES|12|7|2|0x7fdf60|一斉ステージ移動準備に| +|C2S_STAGE_UNISON_AREA_CHANGE_READY_CANCEL_REQ|12|8|1|0x83f1e3|| +|S2C_STAGE_UNISON_AREA_CHANGE_READY_CANCEL_RES|12|8|2|0x7fded0|一斉ステージ移動準備キャンセルに| +|S2C_STAGE_12_9_16_NTC|12|9|16|0x7fdff0|None| +|S2C_STAGE_12_10_16_NTC|12|10|16|0x7fdd70|None| +|C2S_STAGE_GET_TICKET_DUNGEON_CATEGORY_LIST_REQ|12|11|1|0x83edd3|| +|S2C_STAGE_GET_TICKET_DUNGEON_CATEGORY_LIST_RES|12|11|2|0x7fdaa0|チケットダンジョンカテゴリ取得に| +|C2S_STAGE_GET_TICKET_DUNGEON_INFO_LIST_REQ|12|12|1|0x83ee93|| +|S2C_STAGE_GET_TICKET_DUNGEON_INFO_LIST_RES|12|12|2|0x7fdb50|チケットダンジョン情報取得に| +|C2S_STAGE_IS_EXIST_APP_CHARACTER_REQ|12|13|1|0x83ef73|| +|S2C_STAGE_IS_EXIST_APP_CHARACTER_RES|12|13|2|0x7fdc00|DebugText| + + +### Group: 13 - (INSTANCE) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_INSTANCE_GET_ENEMY_SET_LIST_REQ|13|0|1|0x8415fe|| +|S2C_INSTANCE_GET_ENEMY_SET_LIST_RES|13|0|2|0x7db4c0|敵セットリスト取得に| +|C2S_INSTANCE_ENEMY_GROUP_ENTRY_NTC|13|1|16|0x841310|Shows up when a non-leader party member goes outside. Contains a StageId, LayerNo and GroupId| +|C2S_INSTANCE_ENEMY_GROUP_LEAVE_NTC|13|2|16|0x841370|| +|C2S_INSTANCE_ENEMY_KILL_REQ|13|3|1|0x8413de|| +|S2C_INSTANCE_ENEMY_KILL_RES|13|3|2|0x7dac80|敵死亡リクエスト結果に| +|C2S_INSTANCE_13_4_16|13|4|16|?|?| +|C2S_INSTANCE_GET_ITEM_SET_LIST_REQ|13|5|1|0x84179e|| +|S2C_INSTANCE_GET_ITEM_SET_LIST_RES|13|5|2|0x7dbb60|アイテムセットリスト取得に| +|C2S_INSTANCE_GET_GATHERING_ITEM_LIST_REQ|13|6|1|0x84166e|| +|S2C_INSTANCE_GET_GATHERING_ITEM_LIST_RES|13|6|2|0x7db750|採取アイテムリスト取得に| +|C2S_INSTANCE_13_7_16|13|7|16|?|?| +|C2S_INSTANCE_GET_GATHERING_ITEM_REQ|13|8|1|0x8416ee|| +|S2C_INSTANCE_GET_GATHERING_ITEM_RES|13|8|2|0x7db8c0|採取アイテム取得に| +|C2S_INSTANCE_GET_DROP_ITEM_SET_LIST_REQ|13|9|1||| +|S2C_INSTANCE_GET_DROP_ITEM_SET_LIST_RES|13|9|2|0x7db440|ドロップアイテム配置リストを取得| +|C2S_INSTANCE_GET_DROP_ITEM_LIST_REQ|13|10|1|0x8414fe|| +|S2C_INSTANCE_GET_DROP_ITEM_LIST_RES|13|10|2|0x7db2a0|ドロップアイテムリストを取得| +|C2S_INSTANCE_GET_DROP_ITEM_REQ|13|11|1|0x84156e|| +|S2C_INSTANCE_GET_DROP_ITEM_RES|13|11|2|0x7db3c0|ドロップアイテムを取得| +|C2S_INSTANCE_13_12_16|13|12|16|?|?| +|C2S_INSTANCE_13_13_1_REQ|13|13|1||| +|S2C_INSTANCE_13_13_2_RES|13|13|2|0x7dc2b0|None| +|C2S_INSTANCE_TRANING_ROOM_GET_ENEMY_LIST_REQ|13|14|1|0x82c5d3|| +|S2C_INSTANCE_TRANING_ROOM_GET_ENEMY_LIST_RES|13|14|2|0x7dc310|トレーニング部屋敵リスト取得に| +|C2S_INSTANCE_TRANING_ROOM_SET_ENEMY_REQ|13|15|1|0x82c693|| +|S2C_INSTANCE_TRANING_ROOM_SET_ENEMY_RES|13|15|2|0x7dc3c0|トレーニング部屋敵セット要求に| +|C2S_INSTANCE_TREASURE_POINT_GET_CATEGORY_LIST_REQ|13|16|1|0x82c783|| +|S2C_INSTANCE_TREASURE_POINT_GET_CATEGORY_LIST_RES|13|16|2|0x7dc450|お宝ポイント カテゴリリスト取得に| +|C2S_INSTANCE_TREASURE_POINT_GET_LIST_REQ|13|17|1|0x82c863|| +|S2C_INSTANCE_TREASURE_POINT_GET_LIST_RES|13|17|2|0x7dc590|お宝ポイント ポイントリスト取得| +|C2S_INSTANCE_TREASURE_POINT_GET_INFO_REQ|13|18|1||| +|S2C_INSTANCE_TREASURE_POINT_GET_INFO_RES|13|18|2|0x7dc500|お宝ポイント ポイント情報取得| +|C2S_INSTANCE_13_19_16|13|19|16|?|?| +|C2S_INSTANCE_SET_OM_INSTANT_KEY_VALUE_REQ|13|20|1|0x82c4d4|| +|S2C_INSTANCE_SET_OM_INSTANT_KEY_VALUE_RES|13|20|2|0x7dc1f0|OMインスタンスエリア共有メモリ保存に| +|S2C_INSTANCE_13_20_16_NTC|13|20|16|0x7dc160|None| +|C2S_INSTANCE_GET_OM_INSTANT_KEY_VALUE_REQ|13|21|1||| +|S2C_INSTANCE_GET_OM_INSTANT_KEY_VALUE_RES|13|21|2|0x7dbd40|OMインスタンスエリア共有メモリ取得に| +|C2S_INSTANCE_GET_OM_INSTANT_KEY_VALUE_ALL_REQ|13|22|1|0x82c183|| +|S2C_INSTANCE_GET_OM_INSTANT_KEY_VALUE_ALL_RES|13|22|2|0x7dbc50|OMインスタンスエリア共有メモリ全取得に| +|C2S_INSTANCE_EXCHANGE_OM_INSTANT_KEY_VALUE_REQ|13|23|1|0x82bbb4|| +|S2C_INSTANCE_EXCHANGE_OM_INSTANT_KEY_VALUE_RES|13|23|2|0x7db090|OMインスタンスエリア共有メモリ交換に| +|S2C_INSTANCE_13_23_16_NTC|13|23|16|0x7db000|None| +|C2S_INSTANCE_SET_INSTANT_KEY_VALUE_UL_REQ|13|24|1||| +|S2C_INSTANCE_SET_INSTANT_KEY_VALUE_UL_RES|13|24|2|0x7dc0d0|インスタンスエリア共有メモリ保存(u32)に| +|C2S_INSTANCE_GET_INSTANT_KEY_VALUE_UL_REQ|13|25|1||| +|S2C_INSTANCE_GET_INSTANT_KEY_VALUE_UL_RES|13|25|2|0x7dbab0|インスタンスエリア共有メモリ取得(u32)に| +|C2S_INSTANCE_SET_INSTANT_KEY_VALUE_STR_REQ|13|26|1||| +|S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES|13|26|2|0x7dc040|インスタンスエリア共有メモリ保存(MtString)に| +|C2S_INSTANCE_GET_INSTANT_KEY_VALUE_STR_REQ|13|27|1||| +|S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES|13|27|2|0x7db9c0|インスタンスエリア共有メモリ取得(MtString)に| +|C2S_INSTANCE_13_28_16|13|28|16|?|?| +|S2C_INSTANCE_ENEMY_BREAK_REGION_NTC|13|29|16|0x7da7b0|None| <-- Presuntamente StageLayoutID + cosas +|S2C_INSTANCE_ENEMY_DIE_NTC|13|30|16|0x7da8c0|None| <-- Presuntamente StageLayoutID + uint +|S2C_INSTANCE_ENEMY_GROUP_DESTROY_NTC|13|31|16|0x7da9c0|None| <-- Presuntamente StageLayoutID + bool +|S2C_INSTANCE_13_32_16_NTC|13|32|16|0x7dab00|None| <-- (S2C_INSTANCE_ENEMY_GROUP_RESET_NTC?, S2C_INSTANCE_ENEMY_STAGE_BOSS_ANNIHILATE_NTC) +|S2C_INSTANCE_ENEMY_SUB_GROUP_APPEAR_NTC|13|33|16|0x7daef0|None| <-- Presuntamente StageLayoutID + byte +|S2C_INSTANCE_GATHERING_ENEMY_APPEAR_NTC|13|34|16|0x7db160|None| <-- Presuntamente StageLayoutID + mas cosas +|S2C_INSTANCE_13_35_16_NTC|13|35|16|0x7dae20|None| <-- (S2C_INSTANCE_ENEMY_GROUP_RESET_NTC?, S2C_INSTANCE_ENEMY_STAGE_BOSS_ANNIHILATE_NTC) +|S2C_INSTANCE_13_36_16_NTC|13|36|16|0x7dbfb0|None| +|S2C_INSTANCE_13_37_16_NTC|13|37|16|0x7dbf90|None| <-- Literalmente nada +|S2C_INSTANCE_13_38_16_NTC|13|38|16|0x7dbfa0|None| <-- Literalmente nada +|S2C_INSTANCE_POP_DROP_ITEM_NTC|13|39|16|0x7dbe30|None| <-- StageLayoutID, uint, byte, y una posicion? +|S2C_ENEMY_REPOP_NTC|13|40|16|0x7dad20|None| +|S2C_INSTANCE_ENCOUNTER_PAWN_NTC|13|41|16|0x7da720|None| <-- Presuntamente StageLayoutID + 3 uints +|S2C_INSTANCE_AREA_RESET_NTC|13|42|16|0x7dbe00|None| +|C2S_INSTANCE_GET_EX_OM_INFO_REQ|13|43|1||| +|S2C_INSTANCE_GET_EX_OM_INFO_RES|13|43|2|0x7db600|拡張OM情報取得に| + + +### Group: 14 - (WARP) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_WARP_RELEASE_WARP_POINT_REQ|14|0|1|0x840013|| +|S2C_WARP_RELEASE_WARP_POINT_RES|14|0|2|0x7ff430|ワープポイント解放要求に| +|S2C_WARP_14_0_16_NTC|14|0|16|0x7ff350|None| +|C2S_WARP_GET_RELEASE_WARP_POINT_LIST_REQ|14|1|1|0x83fb43|| +|S2C_WARP_GET_RELEASE_WARP_POINT_LIST_RES|14|1|2|0x7fec00|解放済みワープポイントリストを取得に| +|C2S_WARP_GET_WARP_POINT_LIST_REQ|14|2|1|0x83fd83|| +|S2C_WARP_GET_WARP_POINT_LIST_RES|14|2|2|0x7feef0|ワープポイントリストを取得に| +|C2S_WARP_WARP_REQ|14|3|1|0x840293|| +|S2C_WARP_WARP_RES|14|3|2|0x7ff580|ワープリクエストに| +|C2S_WARP_GET_FAVORITE_WARP_POINT_LIST_REQ|14|4|1|0x83fa63|| +|S2C_WARP_GET_FAVORITE_WARP_POINT_LIST_RES|14|4|2|0x7feb30|お気に入りワープポイントリストを取得に| +|C2S_WARP_FAVORITE_WARP_REQ|14|5|1||| +|S2C_WARP_FAVORITE_WARP_RES|14|5|2|0x7fe9e0|お気に入りワープリクエストに| +|C2S_WARP_REGISTER_FAVORITE_WARP_REQ|14|6|1|0x83ff23|| +|S2C_WARP_REGISTER_FAVORITE_WARP_RES|14|6|2|0x7ff290|お気に入りワープ登録に| +|C2S_WARP_PARTY_WARP_REQ|14|7|1|0x83fe63|| +|S2C_WARP_PARTY_WARP_RES|14|7|2|0x7ff200|同行ワープに| +|C2S_WARP_GET_AREA_WARP_POINT_LIST_REQ|14|8|1|0x83f983|| +|S2C_WARP_GET_AREA_WARP_POINT_LIST_RES|14|8|2|0x7fea80|エリア指定ワープ情報取得に| +|C2S_WARP_AREA_WARP_REQ|14|9|1|0x83f873|| +|S2C_WARP_AREA_WARP_RES|14|9|2|0x7fe940|現在のエリアからのワープリクエストに| +|C2S_WARP_14_10_16_NTC|14|10|16|0x840160|Despues de que un miembro de la party se teleporte. Sin datos (C2S_WARP_END_NTC?)| +|C2S_WARP_14_11_16_NTC|14|11|16|0x840080|Despues de que un miembro de la party termine de teleportarse. Solo un uint (C2S_WARP_END_NTC?)| +|C2S_WARP_GET_RETURN_LOCATION_REQ|14|12|1|0x83fc03|| +|S2C_WARP_GET_RETURN_LOCATION_RES|14|12|2|0x7fecf0|復帰位置の取得に| +|S2C_WARP_14_13_16_NTC|14|13|16|0x7fefe0|None| +|C2S_WARP_GET_START_POINT_LIST_REQ|14|14|1|0x83fcc3|| +|S2C_WARP_GET_START_POINT_LIST_RES|14|14|2|0x7fede0|ゲーム開始ポイントの取得に| + + +### Group: 15 +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +||15|0|16||Aparece cuando se crea un personaje nuevo, al reproducirse la cutscene| +||15|1|16||Aparece cuando se crea un personaje nuevo, al acabarse la cutscene| +|S2C_15_65535_255|15|65535|255|0x0|None| + + +### Group: 16 - (FRIEND) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_FRIEND_GET_FRIEND_LIST_REQ|16|0|1|0x828d03|| +|S2C_FRIEND_GET_FRIEND_LIST_RES|16|0|2|0x7d6750|フレンドリスト取得に| +|C2S_FRIEND_APPLY_FRIEND_REQ|16|1|1|0x828a53|| +|S2C_FRIEND_APPLY_FRIEND_RES|16|1|2|0x7d5f90|フレンド申請に| +|S2C_FRIEND_16_1_16_NTC|16|1|16|0x7d5db0|None| +|C2S_FRIEND_APPROVE_FRIEND_REQ|16|2|1|0x828b33|| +|S2C_FRIEND_APPROVE_FRIEND_RES|16|2|2|0x7d62c0|フレンド承認に| +|S2C_FRIEND_16_2_16_NTC|16|2|16|0x7d60a0|None| +|C2S_FRIEND_REMOVE_FRIEND_REQ|16|3|1|0x828f73|| +|S2C_FRIEND_REMOVE_FRIEND_RES|16|3|2|0x7d6b20|フレンド解除に| +|S2C_FRIEND_16_3_16_NTC|16|3|16|0x7d69e0|None| +|C2S_FRIEND_REGISTER_FAVORITE_FRIEND_REQ|16|4|1|0x828e83|| +|S2C_FRIEND_REGISTER_FAVORITE_FRIEND_RES|16|4|2|0x7d6950|お気に入りフレンド設定に| +|C2S_FRIEND_CANCEL_FRIEND_APPLICATION_REQ|16|5|1|0x828c23|| +|S2C_FRIEND_CANCEL_FRIEND_APPLICATION_RES|16|5|2|0x7d6590|フレンド申請キャンセルに| +|S2C_FRIEND_16_5_16_NTC|16|5|16|0x7d6460|None| +|C2S_FRIEND_GET_RECENT_CHARACTER_LIST_REQ|16|6|1|0x828dc3|| +|S2C_FRIEND_GET_RECENT_CHARACTER_LIST_RES|16|6|2|0x7d6840|最近遊んだプレイヤー取得に| + + +### Group: 17 - (BLACK) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_BLACK_LIST_GET_BLACK_LIST_REQ|17|0|1|0x820593|| +|S2C_BLACK_LIST_GET_BLACK_LIST_RES|17|0|2|0x7c6ba0|ブラックリスト取得に| +|C2S_BLACK_LIST_ADD_BLACK_LIST_REQ|17|1|1|0x8204b3|| +|S2C_BLACK_LIST_ADD_BLACK_LIST_RES|17|1|2|0x7c6a90|ブラックリスト追加に| +|C2S_BLACK_LIST_REMOVE_BLACK_LIST_REQ|17|2|1|0x820653|| +|S2C_BLACK_LIST_REMOVE_BLACK_LIST_RES|17|2|2|0x7c6d20|ブラックリスト削除に| + + +### Group: 18 - (GROUP) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_GROUP_CHAT_GROUP_CHAT_GET_MEMBER_LIST_REQ|18|0|1|0x82a383|| +|S2C_GROUP_CHAT_GROUP_CHAT_GET_MEMBER_LIST_RES|18|0|2|0x7d8d40|グループチャットメンバーリスト取得に| +|C2S_GROUP_CHAT_GROUP_CHAT_INVITE_CHARACTER_REQ|18|1|1|0x82a463|| +|S2C_GROUP_CHAT_GROUP_CHAT_INVITE_CHARACTER_RES|18|1|2|0x7d90b0|グループチャット招待に| +|S2C_GROUP_18_1_16_NTC|18|1|16|0x7d9030|None| +|C2S_GROUP_CHAT_GROUP_CHAT_LEAVE_CHARACTER_REQ|18|2|1|0x82a643|| +|S2C_GROUP_CHAT_GROUP_CHAT_LEAVE_CHARACTER_RES|18|2|2|0x7d9780|グループチャット退室に| +|S2C_GROUP_18_2_16_NTC|18|2|16|0x7d9700|None| +|C2S_GROUP_CHAT_GROUP_CHAT_KICK_CHARACTER_REQ|18|3|1|0x82a553|| +|S2C_GROUP_CHAT_GROUP_CHAT_KICK_CHARACTER_RES|18|3|2|0x7d9520|グループチャットキックに| +|S2C_GROUP_18_3_16_NTC|18|3|16|0x7d94a0|None| +|S2C_GROUP_18_4_16_NTC|18|4|16|0x7d8c90|None| + + +### Group: 19 - (SKILL) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_SKILL_GET_ACQUIRABLE_NORMAL_SKILL_LIST_REQ|19|0|1||| +|S2C_SKILL_GET_ACQUIRABLE_NORMAL_SKILL_LIST_RES|19|0|2|0x7faa80|習得可能ノーマルスキルリスト取得に| +|C2S_SKILL_GET_ACQUIRABLE_SKILL_LIST_REQ|19|1|1|0x83cd63|| +|S2C_SKILL_GET_ACQUIRABLE_SKILL_LIST_RES|19|1|2|0x7fab30|習得可能スキルリスト取得に| +|C2S_SKILL_GET_ACQUIRABLE_ABILITY_LIST_REQ|19|2|1|0x83cc73|| +|S2C_SKILL_GET_ACQUIRABLE_ABILITY_LIST_RES|19|2|2|0x7fa990|習得可能アビリティリスト取得に| +|C2S_SKILL_LEARN_NORMAL_SKILL_REQ|19|3|1|0x83db93|| +|S2C_SKILL_LEARN_NORMAL_SKILL_RES|19|3|2|0x7fbb70|ノーマルスキル習得に| +|C2S_SKILL_LEARN_SKILL_REQ|19|4|1|0x83df73|| +|S2C_SKILL_LEARN_SKILL_RES|19|4|2|0x7fc120|スキル習得に| +|C2S_SKILL_LEARN_ABILITY_REQ|19|5|1|0x83da83|| +|S2C_SKILL_LEARN_ABILITY_RES|19|5|2|0x7fb9c0|アビリティ習得に| +|C2S_SKILL_LEARN_PAWN_NORMAL_SKILL_REQ|19|6|1|0x83dd93|| +|S2C_SKILL_LEARN_PAWN_NORMAL_SKILL_RES|19|6|2|0x7fbe60|ポーンノーマルスキル習得に| +|C2S_SKILL_LEARN_PAWN_SKILL_REQ|19|7|1|0x8426ee|| +|S2C_SKILL_LEARN_PAWN_SKILL_RES|19|7|2|0x7fbfd0|ポーンカスタムスキル習得に| +|C2S_SKILL_LEARN_PAWN_ABILITY_REQ|19|8|1|0x83dc83|| +|S2C_SKILL_LEARN_PAWN_ABILITY_RES|19|8|2|0x7fbd10|ポーンアビリティ習得に| +|C2S_SKILL_GET_LEARNED_NORMAL_SKILL_LIST_REQ|19|9|1|0x83cfd3|| +|S2C_SKILL_GET_LEARNED_NORMAL_SKILL_LIST_RES|19|9|2|0x7fb000|習得済ノーマルスキルリストの取得に| +|C2S_SKILL_GET_LEARNED_SKILL_LIST_REQ|19|10|1|0x83d093|| +|S2C_SKILL_GET_LEARNED_SKILL_LIST_RES|19|10|2|0x7fb0b0|習得済スキルリストの取得に| +|C2S_SKILL_GET_LEARNED_ABILITY_LIST_REQ|19|11|1|0x83cf13|| +|S2C_SKILL_GET_LEARNED_ABILITY_LIST_RES|19|11|2|0x7faf50|習得済アビリティリストの取得に| +|C2S_SKILL_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_REQ|19|12|1|0x83d313|| +|S2C_SKILL_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_RES|19|12|2|0x7fb310|ポーン習得済ノーマルスキルリストの取得に| +|C2S_SKILL_GET_PAWN_LEARNED_SKILL_LIST_REQ|19|13|1|0x83d3f3|| +|S2C_SKILL_GET_PAWN_LEARNED_SKILL_LIST_RES|19|13|2|0x7fb3c0|ポーン習得済スキルリストの取得に| +|C2S_SKILL_GET_PAWN_LEARNED_ABILITY_LIST_REQ|19|14|1|0x83d233|| +|S2C_SKILL_GET_PAWN_LEARNED_ABILITY_LIST_RES|19|14|2|0x7fb260|ポーン習得済アビリティリストの取得に| +|C2S_SKILL_SET_SKILL_REQ|19|15|1|0x8428ce|| +|S2C_SKILL_SET_SKILL_RES|19|15|2|0x7fd380|スキル装備に| +|C2S_SKILL_CHANGE_EX_SKILL_REQ|19|16|1|0x83caa3|| +|S2C_SKILL_CHANGE_EX_SKILL_RES|19|16|2|0x7fa570|EXスキル切り替えに| +|C2S_SKILL_SET_ABILITY_REQ|19|17|1|0x84275e|| +|S2C_SKILL_SET_ABILITY_RES|19|17|2|0x7fc730|アビリティ装備に| +|C2S_SKILL_SET_PAWN_SKILL_REQ|19|18|1|0x84284e|| +|S2C_SKILL_SET_PAWN_SKILL_RES|19|18|2|0x7fcd60|ポーンカスタムスキル装備に| +|C2S_SKILL_SET_PAWN_ABILITY_REQ|19|19|1|0x8427ce|| +|S2C_SKILL_SET_PAWN_ABILITY_RES|19|19|2|0x7fcb90|ポーンアビリティ装備に| +|C2S_SKILL_SET_OFF_SKILL_REQ|19|20|1|0x83e523|| +|S2C_SKILL_SET_OFF_SKILL_RES|19|20|2|0x7fcab0|スキル解除に| +|C2S_SKILL_SET_OFF_ABILITY_REQ|19|21|1|0x83e243|| +|S2C_SKILL_SET_OFF_ABILITY_RES|19|21|2|0x7fc810|アビリティ解除に| +|C2S_SKILL_SET_OFF_PAWN_SKILL_REQ|19|22|1|0x83e413|| +|S2C_SKILL_SET_OFF_PAWN_SKILL_RES|19|22|2|0x7fc9c0|ポーンカスタムスキル解除に| +|C2S_SKILL_SET_OFF_PAWN_ABILITY_REQ|19|23|1|0x83e323|| +|S2C_SKILL_SET_OFF_PAWN_ABILITY_RES|19|23|2|0x7fc8e0|ポーンアビリティ解除に| +|C2S_SKILL_GET_SET_SKILL_LIST_REQ|19|24|1|0x83d9a3|| +|S2C_SKILL_GET_SET_SKILL_LIST_RES|19|24|2|0x7fb910|装備中スキルリストの取得に| +|C2S_SKILL_GET_SET_ABILITY_LIST_REQ|19|25|1|0x83d8e3|| +|S2C_SKILL_GET_SET_ABILITY_LIST_RES|19|25|2|0x7fb860|装備中アビリティリストの取得に| +|C2S_SKILL_GET_PAWN_SET_SKILL_LIST_REQ|19|26|1|0x83d5b3|| +|S2C_SKILL_GET_PAWN_SET_SKILL_LIST_RES|19|26|2|0x7fb520|ポーン装備中スキルリストの取得に| +|C2S_SKILL_GET_PAWN_SET_ABILITY_LIST_REQ|19|27|1|0x83d4d3|| +|S2C_SKILL_GET_PAWN_SET_ABILITY_LIST_RES|19|27|2|0x7fb470|ポーン装備中アビリティリストの取得に| +|C2S_SKILL_GET_CURRENT_SET_SKILL_LIST_REQ|19|28|1|0x83ce53|| +|S2C_SKILL_GET_CURRENT_SET_SKILL_LIST_RES|19|28|2|0x7fae10|装備中スキルリスト取得に| +|C2S_SKILL_GET_CURRENT_SET_ABILITY_LIST_REQ|19|29|1||| +|S2C_SKILL_GET_CURRENT_SET_ABILITY_LIST_RES|19|29|2|0x7fad40|装備中アビリティリスト取得に| +|C2S_SKILL_19_30_1_REQ|19|30|1||| +|S2C_SKILL_19_30_2_RES|19|30|2|0x7fb250|None| +|C2S_SKILL_19_31_1_REQ|19|31|1||| +|S2C_SKILL_19_31_2_RES|19|31|2|0x7fb240|None| +|C2S_SKILL_GET_RELEASE_SKILL_LIST_REQ|19|32|1|0x83d823|| +|S2C_SKILL_GET_RELEASE_SKILL_LIST_RES|19|32|2|0x7fb770|解放済みスキルリストの取得に| +|C2S_SKILL_GET_RELEASE_ABILITY_LIST_REQ|19|33|1|0x83d763|| +|S2C_SKILL_GET_RELEASE_ABILITY_LIST_RES|19|33|2|0x7fb680|解放済みアビリティリストの取得に| +|C2S_SKILL_REGISTER_PRESET_ABILITY_REQ|19|34|1|0x83e083|| +|S2C_SKILL_REGISTER_PRESET_ABILITY_RES|19|34|2|0x7fc6a0|プリセットアビリティの登録に| +|C2S_SKILL_SET_PRESET_ABILITY_NAME_REQ|19|35|1|0x83e8a3|| +|S2C_SKILL_SET_PRESET_ABILITY_NAME_RES|19|35|2|0x7fcfe0|プリセットアビリティ名の設定に| +|C2S_SKILL_GET_PRESET_ABILITY_LIST_REQ|19|36|1|0x83d6a3|| +|S2C_SKILL_GET_PRESET_ABILITY_LIST_RES|19|36|2|0x7fb5d0|プリセットアビリティリストの取得に| +|C2S_SKILL_SET_PRESET_ABILITY_LIST_REQ|19|37|1|0x83e7b3|| +|S2C_SKILL_SET_PRESET_ABILITY_LIST_RES|19|37|2|0x7fce70|プリセットアビリティ装備に| +|C2S_SKILL_SET_PAWN_PRESET_ABILITY_LIST_REQ|19|38|1||| +|S2C_SKILL_SET_PAWN_PRESET_ABILITY_LIST_RES|19|38|2|0x7fcc80|ポーンプリセットアビリティ装備に| +|C2S_SKILL_GET_ABILITY_COST_REQ|19|39|1|0x83cbb3|| +|S2C_SKILL_GET_ABILITY_COST_RES|19|39|2|0x7fa8b0|アビリティセット用コストの取得に| +|C2S_SKILL_GET_PAWN_ABILITY_COST_REQ|19|40|1|0x83d153|| +|S2C_SKILL_GET_PAWN_ABILITY_COST_RES|19|40|2|0x7fb160|ポーンアビリティセット用コストの取得に| +|S2C_SKILL_19_41_16_NTC|19|41|16|0x7fa270|None| +|S2C_SKILL_19_42_16_NTC|19|42|16|0x7fc2d0|None| +|S2C_SKILL_CUSTOM_SKILL_SET_NTC|19|43|16|0x7fa730|None| +|S2C_SKILL_19_44_16_NTC|19|44|16|0x7fa100|None| <-- uint byte uint byte (S2C_SKILL_ABILITY_SET_NTC? PAWN_?) +|S2C_SKILL_19_45_16_NTC|19|45|16|0x7fc600|None| <-- uint byte +|S2C_SKILL_19_46_16_NTC|19|46|16|0x7fc4f0|None| <-- uint byte uint byte (S2C_SKILL_ABILITY_SET_NTC? PAWN_?) +|S2C_SKILL_19_47_16_NTC|19|47|16|0x7fc3f0|None| <-- uint byte uint byte (S2C_SKILL_ABILITY_SET_NTC? PAWN_?) +|S2C_SKILL_19_48_16_NTC|19|48|16|0x7fd070|None| <-- uint CDataContextAcquirementData +|S2C_SKILL_19_49_16_NTC|19|49|16|0x7fd260|None| <-- uint CDataContextAcquirementData +|S2C_SKILL_19_50_16_NTC|19|50|16|0x7fabe0|None| + + +### Group: 20 - (SHOP) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_SHOP_GET_SHOP_GOODS_LIST_REQ|20|0|1|0x83c9c3|| +|S2C_SHOP_GET_SHOP_GOODS_LIST_RES|20|0|2|0x7fa010|商品リスト取得に| +|C2S_SHOP_BUY_SHOP_GOODS_REQ|20|1|1|0x84267e|| +|S2C_SHOP_BUY_SHOP_GOODS_RES|20|1|2|0x7f9f70|商品購入に| + + +### Group: 21 - (INN) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_INN_GET_STAY_PRICE_REQ|21|0|1|0x82b273|| +|S2C_INN_GET_STAY_PRICE_RES|21|0|2|0x7da210|宿泊費の取得に| +|C2S_INN_STAY_INN_REQ|21|1|1|0x84109e|| +|S2C_INN_STAY_INN_RES|21|1|2|0x7da410|宿泊に| +|C2S_INN_GET_PENALTY_HEAL_STAY_PRICE_REQ|21|5|1|0x82b1b3|| +|S2C_INN_GET_PENALTY_HEAL_STAY_PRICE_RES|21|5|2|0x7da130|弱化回復宿泊費の取得に| +|C2S_INN_STAY_PENALTY_HEAL_INN_REQ|21|6|1|0x82b4e3|| +|S2C_INN_STAY_PENALTY_HEAL_INN_RES|21|6|2|0x7da670|弱化回復宿泊に| + + +### Group: 22 - (POTION) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_POTION_JOB_ELEMENT_CHECK_REQ|22|0|1|0x835493|| +|S2C_POTION_JOB_ELEMENT_CHECK_RES|22|0|2|0x7ee240|ジョブ要素解放チェックに| +|C2S_POTION_JOB_ELEMENT_RELEASE_REQ|22|1|1|0x835583|| +|S2C_POTION_JOB_ELEMENT_RELEASE_RES|22|1|2|0x7ee320|ジョブ要素解放に| +|C2S_POTION_ORB_ELEMENT_CHECK_REQ|22|2|1|0x835673|| +|S2C_POTION_ORB_ELEMENT_CHECK_RES|22|2|2|0x7ee3b0|竜力の継承解放チェックに| +|C2S_POTION_ORB_ELEMENT_RELEASE_REQ|22|3|1|0x835753|| +|S2C_POTION_ORB_ELEMENT_RELEASE_RES|22|3|2|0x7ee480|竜力の継承解放に| +|C2S_POTION_ADVENTURE_UTILITY_CHECK_REQ|22|4|1|0x835103|| +|S2C_POTION_ADVENTURE_UTILITY_CHECK_RES|22|4|2|0x7edea0|冒険補助要素解放チェックに| +|C2S_POTION_ADVENTURE_UTILITY_RELEASE_REQ|22|5|1|0x8351e3|| +|S2C_POTION_ADVENTURE_UTILITY_RELEASE_RES|22|5|2|0x7edf80|冒険補助要素解放に| +|S2C_POTION_22_6_16_NTC|22|6|16|0x7ee1a0|None| +|S2C_POTION_22_7_16_NTC|22|7|16|0x7ee010|None| +|C2S_POTION_ELEMENT_GROUP_RELEASE_REQ|22|8|1|0x8353a3|| +|S2C_POTION_ELEMENT_GROUP_RELEASE_RES|22|8|2|0x7ee110|ポーショングループ要素解放に| +|C2S_POTION_ELEMENT_GROUP_CHECK_REQ|22|9|1|0x8352c3|| +|S2C_POTION_ELEMENT_GROUP_CHECK_RES|22|9|2|0x7ee060|ポーショングループ要素解放による成長要素の有無チェックに| + + +### Group: 23 - (AREA) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_AREA_GET_AREA_MASTER_INFO_REQ|23|0|1|0x81e533|| +|S2C_AREA_GET_AREA_MASTER_INFO_RES|23|0|2|0x7c4180|エリア情報取得に| +|C2S_AREA_23_1_1_REQ|23|1|1||| +|S2C_AREA_23_1_2_RES|23|1|2|0x7c44b0|None| +|C2S_AREA_AREA_RANK_UP_REQ|23|2|1|0x81e2a3|| +|S2C_AREA_AREA_RANK_UP_RES|23|2|2|0x7c3c30|エリアランクアップに| +|C2S_AREA_GET_AREA_SUPPLY_INFO_REQ|23|3|1|0x81e6f3|| +|S2C_AREA_GET_AREA_SUPPLY_INFO_RES|23|3|2|0x7c44c0|支給品リスト取得に| +|C2S_AREA_GET_AREA_SUPPLY_REQ|23|4|1|0x81e7d3|| +|S2C_AREA_GET_AREA_SUPPLY_RES|23|4|2|0x7c4570|支給品受け取りに| +|C2S_AREA_GET_AREA_POINT_DEBUG_REQ|23|5|1||| +|S2C_AREA_GET_AREA_POINT_DEBUG_RES|23|5|2|0x7c42a0|エリアポイント加算(デバッグ用)に| +|C2S_AREA_GET_AREA_RELEASE_LIST_REQ|23|7|1||| +|S2C_AREA_GET_AREA_RELEASE_LIST_RES|23|7|2|0x7c43e0|全エリア解放リスト取得に| +|C2S_AREA_GET_LEADER_AREA_RELEASE_LIST_REQ|23|8|1|0x81e8e3|| +|S2C_AREA_GET_LEADER_AREA_RELEASE_LIST_RES|23|8|2|0x7c4600|全エリア解放リスト取得(PTリーダー依存)に| +|C2S_AREA_GET_AREA_QUEST_HINT_LIST_REQ|23|9|1|0x81e613|| +|S2C_AREA_GET_AREA_QUEST_HINT_LIST_RES|23|9|2|0x7c4330|クエスト情報リスト取得に| +|C2S_AREA_BUY_AREA_QUEST_HINT_REQ|23|10|1|0x81e383|| +|S2C_AREA_BUY_AREA_QUEST_HINT_RES|23|10|2|0x7c3e90|エリア内クエスト情報購入に| +|C2S_AREA_GET_SPOT_INFO_LIST_REQ|23|11|1|0x81e9a3|| +|S2C_AREA_GET_SPOT_INFO_LIST_RES|23|11|2|0x7c46b0|スポット情報リスト取得に| +|C2S_AREA_GET_AREA_BASE_INFO_LIST_REQ|23|12|1|0x81e473|| +|S2C_AREA_GET_AREA_BASE_INFO_LIST_RES|23|12|2|0x7c3f70|エリアポイントリスト取得に| +|S2C_AREA_23_13_16_NTC|23|13|16|0x7c38c0|None| +|S2C_AREA_23_14_16_NTC|23|14|16|0x7c3a90|None| +|C2S_AREA_23_15_1_REQ|23|15|1||| +|S2C_AREA_23_15_2_RES|23|15|2|0x7c4760|None| +|S2C_AREA_23_16_16_NTC|23|16|16|0x7c4770|None| + + +### Group: 24 - (JOB_MASTER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_JOB_MASTER_GET_JOB_MASTER_ORDER_PROGRESS_REQ|24|0|1|0x82e4b3|| +|S2C_JOB_MASTER_GET_JOB_MASTER_ORDER_PROGRESS_RES|24|0|2|0x7e0a50|ジョブマスター課題進捗取得に| +|C2S_JOB_MASTER_REPORT_JOB_ORDER_PROGRESS_REQ|24|1|1|0x82e593|| +|S2C_JOB_MASTER_REPORT_JOB_ORDER_PROGRESS_RES|24|1|2|0x7e0f10|ジョブマスター課題報告に| +|C2S_JOB_MASTER_ACTIVATE_JOB_ORDER_REQ|24|2|1|0x841a6e|| +|S2C_JOB_MASTER_ACTIVATE_JOB_ORDER_RES|24|2|2|0x7e0950|ジョブマスター課題のアクティブ化に| +|C2S_JOB_24_3_1_REQ|24|3|1||| +|S2C_JOB_24_3_2_RES|24|3|2|0x7e0a40|None| +|S2C_JOB_24_4_16_NTC|24|4|16|0x7e0d60|None| +|S2C_JOB_24_5_16_NTC|24|5|16|0x7e0c70|None| +|S2C_JOB_24_6_16_NTC|24|6|16|0x7e0b70|None| + + +### Group: 25 - (ORB) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_ORB_DEVOTE_GET_ALL_ORB_ELEMENT_LIST_REQ|25|0|1||| +|S2C_ORB_DEVOTE_GET_ALL_ORB_ELEMENT_LIST_RES|25|0|2|0x7e63b0|オーブ成長要素リスト取得に| +|C2S_ORB_DEVOTE_GET_RELEASE_ORB_ELEMENT_LIST_REQ|25|1|1|0x830fe3|| +|S2C_ORB_DEVOTE_GET_RELEASE_ORB_ELEMENT_LIST_RES|25|1|2|0x7e6660|解放済みオーブ成長要素リスト取得に| +|C2S_ORB_DEVOTE_RELEASE_ORB_ELEMENT_REQ|25|2|1|0x8310a3|| +|S2C_ORB_DEVOTE_RELEASE_ORB_ELEMENT_RES|25|2|2|0x7e6710|オーブ成長要素解放に| +|C2S_ORB_DEVOTE_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_REQ|25|3|1|0x830f03|| +|S2C_ORB_DEVOTE_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_RES|25|3|2|0x7e65b0|ポーン用オーブ成長要素リスト取得に| +|C2S_ORB_DEVOTE_RELEASE_PAWN_ORB_ELEMENT_REQ|25|4|1|0x831183|| +|S2C_ORB_DEVOTE_RELEASE_PAWN_ORB_ELEMENT_RES|25|4|2|0x7e6810|ポーン用オーブ捧げに| +|C2S_ORB_DEVOTE_GET_ORB_GAIN_EXTEND_PARAM_REQ|25|5|1|0x830e43|| +|S2C_ORB_DEVOTE_GET_ORB_GAIN_EXTEND_PARAM_RES|25|5|2|0x7e64d0|オーブ成長による拡張パラメータ取得に| +|S2C_ORB_25_6_16_NTC|25|6|16|0x7e6430|None| + + +### Group: 26 - (PROFILE) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PROFILE_GET_CHARACTER_PROFILE_REQ|26|0|1|0x8358f3|| +|S2C_PROFILE_GET_CHARACTER_PROFILE_RES|26|0|2|0x7ee650|他人のキャラクター情報取得に| +|C2S_PROFILE_GET_MY_CHARACTER_PROFILE_REQ|26|1|1|0x8359d3|| +|S2C_PROFILE_GET_MY_CHARACTER_PROFILE_RES|26|1|2|0x7eec80|自分のキャラクター情報取得に| +|C2S_PROFILE_GET_AVAILABLE_BACKGROUND_LIST_REQ|26|2|1|0x835833|| +|S2C_PROFILE_GET_AVAILABLE_BACKGROUND_LIST_RES|26|2|2|0x7ee560|設定可能な背景画像リスト取得に| +|C2S_PROFILE_SET_ARISEN_PROFILE_REQ|26|3|1|0x835a93|| +|S2C_PROFILE_SET_ARISEN_PROFILE_RES|26|3|2|0x7eeeb0|覚者カードカスタマイズ情報設定に| +|C2S_PROFILE_26_4_1_REQ|26|4|1||| +|S2C_PROFILE_26_4_2_RES|26|4|2|0x7ee550|None| +|C2S_PROFILE_SET_PAWN_PROFILE_REQ|26|5|1|0x835f03|| +|S2C_PROFILE_SET_PAWN_PROFILE_RES|26|5|2|0x7ef210|ポーンカードカスタマイズ情報設定に| +|C2S_PROFILE_SET_PAWN_PROFILE_COMMENT_REQ|26|6|1|0x835e13|| +|S2C_PROFILE_SET_PAWN_PROFILE_COMMENT_RES|26|6|2|0x7ef180|ポーン紹介文設定に| +|C2S_PROFILE_UPDATE_ARISEN_PROFILE_SHARE_RANGE_REQ|26|7|1|0x8360f3|| +|S2C_PROFILE_UPDATE_ARISEN_PROFILE_SHARE_RANGE_RES|26|7|2|0x7ef330|覚者/ポーンカード公開範囲設定に| +|C2S_PROFILE_SET_OBJECTIVE_REQ|26|8|1||| +|S2C_PROFILE_SET_OBJECTIVE_RES|26|8|2|0x7ef0f0|目的設定に| +|C2S_PROFILE_SET_MATCHING_PROFILE_REQ|26|10|1|0x835c53|| +|S2C_PROFILE_SET_MATCHING_PROFILE_RES|26|10|2|0x7eefd0|マッチングプロフィール設定に| +|C2S_PROFILE_GET_MATCHING_PROFILE_REQ|26|11|1||| +|S2C_PROFILE_GET_MATCHING_PROFILE_RES|26|11|2|0x7eeb00|マッチングプロフィール取得に| +|C2S_PROFILE_SET_SHORTCUT_LIST_REQ|26|12|1|0x836013|| +|S2C_PROFILE_SET_SHORTCUT_LIST_RES|26|12|2|0x7ef2a0|ショートカットリスト設定に| +|C2S_PROFILE_GET_SHORTCUT_LIST_REQ|26|13|1||| +|S2C_PROFILE_GET_SHORTCUT_LIST_RES|26|13|2|0x7eede0|ショートカットリスト取得に| +|C2S_PROFILE_SET_COMMUNICATION_SHORTCUT_LIST_REQ|26|14|1|0x835b73|| +|S2C_PROFILE_SET_COMMUNICATION_SHORTCUT_LIST_RES|26|14|2|0x7eef40|コミュニケーションショートカットリスト設定に| +|C2S_PROFILE_GET_COMMUNICATION_SHORTCUT_LIST_REQ|26|15|1||| +|S2C_PROFILE_GET_COMMUNICATION_SHORTCUT_LIST_RES|26|15|2|0x7eea30|コミュニケーションショートカットリスト取得に| +|C2S_PROFILE_SET_MESSAGE_SET_REQ|26|16|1|0x835d33|| +|S2C_PROFILE_SET_MESSAGE_SET_RES|26|16|2|0x7ef060|メッセージセット設定に| +|C2S_PROFILE_GET_MESSAGE_SET_REQ|26|17|1||| +|S2C_PROFILE_GET_MESSAGE_SET_RES|26|17|2|0x7eebb0|メッセージセット取得に| +|S2C_PROFILE_26_18_16_NTC|26|18|16|0x7ef3c0|None| + + +### Group: 27 - (ACHIEVEMENT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_ACHIEVEMENT_ACHIEVEMENT_GET_PROGRESS_LIST_REQ|27|0|1|0x81dea3|| +|S2C_ACHIEVEMENT_ACHIEVEMENT_GET_PROGRESS_LIST_RES|27|0|2|0x7c3370|アチーブメント進捗リストの取得に| +|C2S_ACHIEVEMENT_ACHIEVEMENT_GET_REWARD_LIST_REQ|27|1|1|0x81e023|| +|S2C_ACHIEVEMENT_ACHIEVEMENT_GET_REWARD_LIST_RES|27|1|2|0x7c3500|アチーブメント報酬リストの取得に| +|C2S_ACHIEVEMENT_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_REQ|27|2|1|0x81dde3|| +|S2C_ACHIEVEMENT_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_RES|27|2|2|0x7c3280|家具アチーブメント報酬リスト取得に| +|C2S_ACHIEVEMENT_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_REQ|27|3|1|0x81df63|| +|S2C_ACHIEVEMENT_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_RES|27|3|2|0x7c3450|受け取り可能なアチーブメント報酬リスト取得に| +|C2S_ACHIEVEMENT_ACHIEVEMENT_REWARD_RECEIVE_REQ|27|4|1|0x81e0e3|| +|S2C_ACHIEVEMENT_ACHIEVEMENT_REWARD_RECEIVE_RES|27|4|2|0x7c3690|アチーブメント報酬の受け取りに| +|C2S_ACHIEVEMENT_27_5_1_REQ|27|5|1||| +|S2C_ACHIEVEMENT_27_5_2_RES|27|5|2|0x7c3760|None| +|C2S_ACHIEVEMENT_27_6_1_REQ|27|6|1||| +|S2C_ACHIEVEMENT_27_6_2_RES|27|6|2|0x7c3750|None| +|S2C_ACHIEVEMENT_27_7_16_NTC|27|7|16|0x7c3770|None| +|S2C_ACHIEVEMENT_27_8_16_NTC|27|8|16|0x7c2f80|None| +|S2C_ACHIEVEMENT_27_9_16_NTC|27|9|16|0x7c35b0|None| +|C2S_ACHIEVEMENT_ACHIEVEMENT_GET_CATEGORY_PROGRESS_LIST_REQ|27|10|1|0x81dd03|| +|S2C_ACHIEVEMENT_ACHIEVEMENT_GET_CATEGORY_PROGRESS_LIST_RES|27|10|2|0x7c31d0|指定カテゴリのアチーブメント進捗リストの取得に| + + +### Group: 28 - (GP) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_GP_GET_GP_REQ|28|0|1|0x8296a3|| +|S2C_GP_GET_GP_RES|28|0|2|0x7d73b0|GP取得要求に| +|C2S_GP_GET_GP_DETAIL_REQ|28|1|1|0x829503|| +|S2C_GP_GET_GP_DETAIL_RES|28|1|2|0x7d7200|GP詳細取得| +|C2S_GP_28_2_1_REQ|28|2|1|0x8295e3|| +|S2C_GP_28_2_2_RES|28|2|2|0x7d72b0|None| +|C2S_GP_GET_CAP_REQ|28|3|1|0x829383|| +|S2C_GP_GET_CAP_RES|28|3|2|0x7d7080|CAP取得要求に| +|C2S_GP_GET_CAP_TO_GP_CHANGE_LIST_REQ|28|4|1|0x829443|| +|S2C_GP_GET_CAP_TO_GP_CHANGE_LIST_RES|28|4|2|0x7d7150|CAPからGPへの変換テーブル取得要求に| +|C2S_GP_CHANGE_CAP_TO_GP_REQ|28|5|1|0x8291e3|| +|S2C_GP_CHANGE_CAP_TO_GP_RES|28|5|2|0x7d6dd0|CAPからGP変換要求に| +|C2S_GP_COG_GET_ID_REQ|28|6|1|0x8292c3|| +|S2C_GP_COG_GET_ID_RES|28|6|2|0x7d6ef0|COG ID取得要求に| +|C2S_GP_GP_SHOP_DISPLAY_GET_TYPE_REQ|28|7|1|0x82a143|| +|S2C_GP_GP_SHOP_DISPLAY_GET_TYPE_RES|28|7|2|0x7d8700|黄金石ショップメニュー取得に| +|C2S_GP_GP_SHOP_DISPLAY_GET_LINEUP_REQ|28|8|1|0x82a063|| +|S2C_GP_GP_SHOP_DISPLAY_GET_LINEUP_RES|28|8|2|0x7d8650|黄金石ショップ商品リスト取得に| +|C2S_GP_GP_SHOP_DISPLAY_BUY_REQ|28|9|1|0x829f73|| +|S2C_GP_GP_SHOP_DISPLAY_BUY_RES|28|9|2|0x7d8590|黄金石ショップ購入後の結果取得に| +|C2S_GP_GP_SHOP_GET_COURSE_LINEUP_REQ|28|10|1||| +|S2C_GP_GP_SHOP_GET_COURSE_LINEUP_RES|28|10|2|0x7d8950|黄金石ショップ:コースラインナップ取得要求に| +|C2S_GP_GP_SHOP_GET_ITEM_LINEUP_REQ|28|11|1||| +|S2C_GP_GP_SHOP_GET_ITEM_LINEUP_RES|28|11|2|0x7d8a20|黄金石ショップ:アイテムラインナップ取得要求に| +|C2S_GP_GP_SHOP_GET_PAWN_LINEUP_REQ|28|12|1||| +|S2C_GP_GP_SHOP_GET_PAWN_LINEUP_RES|28|12|2|0x7d8af0|黄金石ショップ:レジェンドポーンラインナップ取得要求に| +|C2S_GP_28_13_1_REQ|28|13|1||| +|S2C_GP_28_13_2_RES|28|13|2|0x7d8bc0|None| +|C2S_GP_28_14_1_REQ|28|14|1||| +|S2C_GP_28_14_2_RES|28|14|2|0x7d8bd0|None| +|C2S_GP_GP_SHOP_GET_BUY_HISTORY_REQ|28|15|1|0x82a203|| +|S2C_GP_GP_SHOP_GET_BUY_HISTORY_RES|28|15|2|0x7d87b0|黄金石ショップ:購入履歴取得要求に| +|C2S_GP_GP_SHOP_GET_CAP_CHARGE_URL_REQ|28|16|1|0x82a2c3|| +|S2C_GP_GP_SHOP_GET_CAP_CHARGE_URL_RES|28|16|2|0x7d8860|CAPチャージURL取得要求に| +|C2S_GP_GP_COURSE_GET_AVAILABLE_LIST_REQ|28|17|1|0x829a83|| +|S2C_GP_GP_COURSE_GET_AVAILABLE_LIST_RES|28|17|2|0x7d7980|黄金石ショップ:所持リスト取得要求に| +|C2S_GP_GP_COURSE_GET_VALID_LIST_REQ|28|18|1|0x829b43|| +|S2C_GP_GP_COURSE_GET_VALID_LIST_RES|28|18|2|0x7d7a30|黄金石ショップ:使用中リスト取得要求に| +|C2S_GP_GP_COURSE_USE_FROM_AVAILABLE_REQ|28|19|1|0x829cc3|| +|S2C_GP_GP_COURSE_USE_FROM_AVAILABLE_RES|28|19|2|0x7d8190|黄金石ショップ:所持使用要求に| +|C2S_GP_GP_COURSE_GET_VERSION_REQ|28|20|1||| +|S2C_GP_GP_COURSE_GET_VERSION_RES|28|20|2|0x7d7ae0|課金コースバージョン取得に| +|C2S_GP_28_21_1_REQ|28|21|1||| +|S2C_GP_28_21_2_RES|28|21|2|0x7d8410|None| +|C2S_GP_GP_EDIT_GET_VOICE_LIST_REQ|28|22|1|0x829da3|| +|S2C_GP_GP_EDIT_GET_VOICE_LIST_RES|28|22|2|0x7d8230|選択可能ボイスリスト取得に| +|C2S_GP_GP_SHOP_CAN_BUY_REQ|28|23|1|0x829e63|| +|S2C_GP_GP_SHOP_CAN_BUY_RES|28|23|2|0x7d84e0|課金商品購入可能状態の取得に| +|S2C_GP_28_24_16_NTC|28|24|16|0x7d6fd0|None| +|S2C_GP_28_25_16_NTC|28|25|16|0x7d8010|None| +|S2C_GP_28_26_16_NTC|28|26|16|0x7d78f0|None| +|S2C_GP_28_27_16_NTC|28|27|16|0x7d7770|None| +|S2C_GP_28_28_16_NTC|28|28|16|0x7d80c0|None| +|S2C_GP_28_29_16_NTC|28|29|16|0x7d7810|None| +|C2S_GP_GP_COURSE_EFFECT_MISMATCH_REQ|28|30|1|0x8298e3|| +|S2C_GP_GP_COURSE_EFFECT_MISMATCH_RES|28|30|2|0x7d7630|課金効能異常検知リクエスト完了| +|C2S_GP_GP_COURSE_INFO_RELOAD_REQ|28|31|1|0x829c03|| +|S2C_GP_GP_COURSE_INFO_RELOAD_RES|28|31|2|0x7d7b90|課金効能リスト取得要求完了| +|C2S_GP_GP_COURSE_EFFECT_RELOAD_REQ|28|32|1|0x8299c3|| +|S2C_GP_GP_COURSE_EFFECT_RELOAD_RES|28|32|2|0x7d76e0|課金効能リロード要求完了| +|C2S_GP_GET_VALID_CHAT_COM_GROUP_REQ|28|33|1|0x829823|| +|S2C_GP_GET_VALID_CHAT_COM_GROUP_RES|28|33|2|0x7d7570|購入済み定型文のグループIDリスト取得| +|C2S_GP_GET_UPDATE_APP_COURSE_BONUS_FLAG_REQ|28|34|1|0x829763|| +|S2C_GP_GET_UPDATE_APP_COURSE_BONUS_FLAG_RES|28|34|2|0x7d74c0|アプリコースボーナスの更新が必要か| +|C2S_GP_UPDATE_APP_COURSE_BONUS_REQ|28|35|1||| +|S2C_GP_UPDATE_APP_COURSE_BONUS_RES|28|35|2|0x7d8be0|アプリコースボーナスの更新| + + +### Group: 29 - (EQUIP) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_EQUIP_GET_CHARACTER_EQUIP_LIST_REQ|29|0|1|0x827f93|| +|S2C_EQUIP_GET_CHARACTER_EQUIP_LIST_RES|29|0|2|0x7d5340|装備リスト取得に| +|C2S_EQUIP_CHANGE_CHARACTER_EQUIP_REQ|29|1|1|0x827953|| +|S2C_EQUIP_CHANGE_CHARACTER_EQUIP_RES|29|1|2|0x7d47e0|装備変更に| +|S2C_EQUIP_29_1_16_NTC|29|1|16|0x7d4610|None| +|C2S_EQUIP_CHANGE_CHARACTER_STORAGE_EQUIP_REQ|29|2|1|0x827a33|| +|S2C_EQUIP_CHANGE_CHARACTER_STORAGE_EQUIP_RES|29|2|2|0x7d4870|倉庫装備変更に| +|C2S_EQUIP_GET_PAWN_EQUIP_LIST_REQ|29|3|1|0x8281d3|| +|S2C_EQUIP_GET_PAWN_EQUIP_LIST_RES|29|3|2|0x7d5620|ポーン装備リスト取得に| +|C2S_EQUIP_CHANGE_PAWN_EQUIP_REQ|29|4|1|0x827c03|| +|S2C_EQUIP_CHANGE_PAWN_EQUIP_RES|29|4|2|0x7d4d10|ポーン装備変更に| +|S2C_EQUIP_29_4_16_NTC|29|4|16|0x7d4bc0|None| +|C2S_EQUIP_CHANGE_PAWN_STORAGE_EQUIP_REQ|29|5|1|0x827cf3|| +|S2C_EQUIP_CHANGE_PAWN_STORAGE_EQUIP_RES|29|5|2|0x7d4dc0|ポーン倉庫装備変更に| +|C2S_EQUIP_CHANGE_CHARACTER_EQUIP_JOB_ITEM_REQ|29|6|1|0x827873|| +|S2C_EQUIP_CHANGE_CHARACTER_EQUIP_JOB_ITEM_RES|29|6|2|0x7d42f0|ジョブ専用アイテム装備変更に| +|S2C_EQUIP_29_6_16_NTC|29|6|16|0x7d4160|None| +|C2S_EQUIP_CHANGE_PAWN_EQUIP_JOB_ITEM_REQ|29|7|1|0x827b13|| +|S2C_EQUIP_CHANGE_PAWN_EQUIP_JOB_ITEM_RES|29|7|2|0x7d4a50|ポーンジョブ専用アイテム装備変更に| +|S2C_EQUIP_29_7_16_NTC|29|7|16|0x7d4920|None| +|C2S_EQUIP_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_REQ|29|8|1|0x828473|| +|S2C_EQUIP_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_RES|29|8|2|0x7d58e0|頭装備表示切り替えに| +|C2S_EQUIP_UPDATE_HIDE_PAWN_HEAD_ARMOR_REQ|29|9|1|0x828633|| +|S2C_EQUIP_UPDATE_HIDE_PAWN_HEAD_ARMOR_RES|29|9|2|0x7d5a60|ポーン頭装備表示切り替えに| +|C2S_EQUIP_UPDATE_HIDE_CHARACTER_LANTERN_REQ|29|10|1|0x828553|| +|S2C_EQUIP_UPDATE_HIDE_CHARACTER_LANTERN_RES|29|10|2|0x7d59a0|ランタン装備表示切り替えに| +|C2S_EQUIP_UPDATE_HIDE_PAWN_LANTERN_REQ|29|11|1|0x828713|| +|S2C_EQUIP_UPDATE_HIDE_PAWN_LANTERN_RES|29|11|2|0x7d5b10|ポーンランタン装備表示切り替えに| +|C2S_EQUIP_GET_EQUIP_PRESET_LIST_REQ|29|12|1|0x828113|| +|S2C_EQUIP_GET_EQUIP_PRESET_LIST_RES|29|12|2|0x7d5530|装備プリセットリスト取得に| +|C2S_EQUIP_UPDATE_EQUIP_PRESET_REQ|29|13|1|0x840fbe|| +|S2C_EQUIP_UPDATE_EQUIP_PRESET_RES|29|13|2|0x7d5850|装備プリセット更新に| +|C2S_EQUIP_UPDATE_EQUIP_PRESET_NAME_REQ|29|14|1|0x8282b3|| +|S2C_EQUIP_UPDATE_EQUIP_PRESET_NAME_RES|29|14|2|0x7d57c0|装備プリセット名更新に| +|C2S_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_REQ|29|15|1|0x828053|| +|S2C_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_RES|29|15|2|0x7d5480|ロックされているクレストリスト取得に| +|S2C_EQUIP_29_16_16_NTC|29|16|16|0x7d52c0|None| +|S2C_EQUIP_29_17_16_NTC|29|17|16|0x7d4470|None| +|S2C_EQUIP_29_18_16_NTC|29|18|16|0x7d5740|None| +|C2S_EQUIP_29_19_1_REQ|29|19|1||| +|S2C_EQUIP_29_19_2_RES|29|19|2|0x7d5470|None| +|C2S_EQUIP_29_20_1_REQ|29|20|1||| +|S2C_EQUIP_29_20_2_RES|29|20|2|0x7d5700|None| +|S2C_EQUIP_29_20_16_NTC|29|20|16|0x7d56f0|None| +|C2S_EQUIP_29_21_1_REQ|29|21|1||| +|S2C_EQUIP_29_21_2_RES|29|21|2|0x7d56e0|None| +|C2S_EQUIP_29_22_1_REQ|29|22|1||| +|S2C_EQUIP_29_22_2_RES|29|22|2|0x7d5720|None| +|S2C_EQUIP_29_22_16_NTC|29|22|16|0x7d5710|None| +|S2C_EQUIP_29_23_16_NTC|29|23|16|0x7d5730|None| + + +### Group: 30 - (CRAFT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CRAFT_GET_CRAFT_PROGRESS_LIST_REQ|30|0|1|0x825623|| +|S2C_CRAFT_GET_CRAFT_PROGRESS_LIST_RES|30|0|2|0x7d0b40|クラフト状況リスト取得に| +|C2S_CRAFT_START_CRAFT_REQ|30|1|1|0x840b9e|| +|S2C_CRAFT_START_CRAFT_RES|30|1|2|0x7d11e0|クラフト開始に| +|C2S_CRAFT_GET_CRAFT_PRODUCT_INFO_REQ|30|2|1|0x825423|| +|S2C_CRAFT_GET_CRAFT_PRODUCT_INFO_RES|30|2|2|0x7d0950|クラフト完成品情報取得に| +|C2S_CRAFT_GET_CRAFT_PRODUCT_REQ|30|3|1|0x825513|| +|S2C_CRAFT_GET_CRAFT_PRODUCT_RES|30|3|2|0x7d0a80|クラフト完成品受け取りに| +|C2S_CRAFT_CANCEL_CRAFT_REQ|30|4|1|0x824df3|| +|S2C_CRAFT_CANCEL_CRAFT_RES|30|4|2|0x7d00f0|クラフト中断に| +|C2S_CRAFT_START_EQUIP_GRADE_UP_REQ|30|5|1|0x840d4e|| +|S2C_CRAFT_START_EQUIP_GRADE_UP_RES|30|5|2|0x7d1560|武具強化に| +|C2S_CRAFT_START_ATTACH_ELEMENT_REQ|30|6|1|0x840b2e|| +|S2C_CRAFT_START_ATTACH_ELEMENT_RES|30|6|2|0x7d1100|エレメント付与に| +|C2S_CRAFT_START_DETACH_ELEMENT_REQ|30|7|1|0x840c5e|| +|S2C_CRAFT_START_DETACH_ELEMENT_RES|30|7|2|0x7d1270|エレメント破棄に| +|C2S_CRAFT_START_EQUIP_COLOR_CHANGE_REQ|30|8|1|0x840cce|| +|S2C_CRAFT_START_EQUIP_COLOR_CHANGE_RES|30|8|2|0x7d1350|武具カラー変更に| +|C2S_CRAFT_START_QUALITY_UP_REQ|30|9|1|0x840dce|| +|S2C_CRAFT_START_QUALITY_UP_RES|30|9|2|0x7d1600|クラフト品質改良要求に| +|C2S_CRAFT_CRAFT_SKILL_UP_REQ|30|10|1|0x824fb3|| +|S2C_CRAFT_CRAFT_SKILL_UP_RES|30|10|2|0x7d03d0|クラフトスキルアップに| +|C2S_CRAFT_30_11_1_REQ|30|11|1||| +|S2C_CRAFT_30_11_2_RES|30|11|2|0x7d0d20|None| +|C2S_CRAFT_RESET_CRAFTPOINT_REQ|30|12|1|0x825a73|| +|S2C_CRAFT_RESET_CRAFTPOINT_RES|30|12|2|0x7d1080|クラフトポイントリセットに| +|C2S_CRAFT_GET_CRAFT_SETTING_REQ|30|13|1|0x8256e3|| +|S2C_CRAFT_GET_CRAFT_SETTING_RES|30|13|2|0x7d0bf0|クラフト設定取得要求に| +|C2S_CRAFT_CRAFT_TIME_SAVE_REQ|30|14|1|0x840a4e|| +|S2C_CRAFT_CRAFT_TIME_SAVE_RES|30|14|2|0x7d0490|クラフト時間短縮要求に| +|C2S_CRAFT_GET_CRAFT_IR_COLLECTION_VALUE_LIST_REQ|30|15|1|0x825363|| +|S2C_CRAFT_GET_CRAFT_IR_COLLECTION_VALUE_LIST_RES|30|15|2|0x7d0850|クラフトIR補正値リスト取得要求に| +|C2S_CRAFT_RELEASED_CRAFT_RECIPE_LIST_GET_REQ|30|16|1||| +|S2C_CRAFT_RELEASED_CRAFT_RECIPE_LIST_GET_RES|30|16|2|0x7d0fb0|解放済みクラフトレシピリスト取得に| +|C2S_CRAFT_CRAFT_SKILL_ANALYZE_REQ|30|17|1|0x8409ae|| +|S2C_CRAFT_CRAFT_SKILL_ANALYZE_RES|30|17|2|0x7d0320|クラフトスキル分析に| +|S2C_CRAFT_30_18_16_NTC|30|18|16|0x7d07a0|None| +|S2C_CRAFT_30_19_16_NTC|30|19|16|0x7d01e0|None| +|S2C_CRAFT_30_20_16_NTC|30|20|16|0x7d0270|None| +|S2C_CRAFT_30_21_16_NTC|30|21|16|0x7d16f0|None| +|S2C_CRAFT_30_22_16_NTC|30|22|16|0x7d16e0|None| +|S2C_CRAFT_30_23_16_NTC|30|23|16|0x7d16d0|None| +|S2C_CRAFT_30_24_16_NTC|30|24|16|0x7d1750|None| +|C2S_CRAFT_DRAGON_SKILL_COMPOSE_REQ|30|25|1|0x825273|| +|S2C_CRAFT_DRAGON_SKILL_COMPOSE_RES|30|25|2|0x7d0650|竜スキル合成要求に| +|C2S_CRAFT_DRAGON_SKILL_ANALYZE_REQ|30|26|1|0x825193|| +|S2C_CRAFT_DRAGON_SKILL_ANALYZE_RES|30|26|2|0x7d0530|竜スキル合成分析要求に| + + +### Group: 31 - (CLAN) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CLAN_31_0_1_REQ|31|0|1||| +|S2C_CLAN_31_0_2_RES|31|0|2|0x7cab30|None| +|C2S_CLAN_CLAN_CREATE_REQ|31|1|1|0x822663|| +|S2C_CLAN_CLAN_CREATE_RES|31|1|2|0x7cace0|クラン作成に| +|C2S_CLAN_CLAN_UPDATE_REQ|31|2|1|0x824023|| +|S2C_CLAN_CLAN_UPDATE_RES|31|2|2|0x7cdcd0|クラン更新に| +|S2C_CLAN_31_2_16_NTC|31|2|16|0x7cdc50|None| +|C2S_CLAN_CLAN_GET_MEMBER_LIST_REQ|31|3|1|0x822a83|| +|S2C_CLAN_CLAN_GET_MEMBER_LIST_RES|31|3|2|0x7cb0f0|クランメンバー取得に| +|C2S_CLAN_CLAN_GET_MY_MEMBER_LIST_REQ|31|4|1|0x822ce3|| +|S2C_CLAN_CLAN_GET_MY_MEMBER_LIST_RES|31|4|2|0x7cb470|自分のクランメンバー取得に| +|C2S_CLAN_CLAN_SEARCH_REQ|31|5|1|0x823a13|| +|S2C_CLAN_CLAN_SEARCH_RES|31|5|2|0x7cd020|クラン検索に| +|C2S_CLAN_CLAN_GET_INFO_REQ|31|6|1|0x8228e3|| +|S2C_CLAN_CLAN_GET_INFO_RES|31|6|2|0x7caf20|クラン情報取得に| +|C2S_CLAN_CLAN_REGISTER_JOIN_REQ|31|7|1|0x8231e3|| +|S2C_CLAN_CLAN_REGISTER_JOIN_RES|31|7|2|0x7cc6d0|クラン加入申請に| +|S2C_CLAN_31_7_16_NTC|31|7|16|0x7cc550|None| +|C2S_CLAN_CLAN_CANCEL_JOIN_REQ|31|8|1|0x8223f3|| +|S2C_CLAN_CLAN_CANCEL_JOIN_RES|31|8|2|0x7caa80|クラン加入申請キャンセルに| +|S2C_CLAN_31_8_16_NTC|31|8|16|0x7ca9d0|None| +|C2S_CLAN_CLAN_GET_JOIN_REQUESTED_LIST_REQ|31|9|1|0x8229c3|| +|S2C_CLAN_CLAN_GET_JOIN_REQUESTED_LIST_RES|31|9|2|0x7cb030|クラン加入申請リスト取得に| +|C2S_CLAN_CLAN_GET_MY_JOIN_REQUEST_LIST_REQ|31|10|1|0x822c23|| +|S2C_CLAN_CLAN_GET_MY_JOIN_REQUEST_LIST_RES|31|10|2|0x7cb3a0|クラン加入申請中リスト取得に| +|C2S_CLAN_CLAN_APPROVE_JOIN_REQ|31|11|1|0x822183|| +|S2C_CLAN_CLAN_APPROVE_JOIN_RES|31|11|2|0x7ca510|クラン加入許可(拒否)に| +|C2S_CLAN_CLAN_LEAVE_MEMBER_REQ|31|12|1|0x822f63|| +|S2C_CLAN_CLAN_LEAVE_MEMBER_RES|31|12|2|0x7cbd50|クラン脱退に| +|S2C_CLAN_31_12_16_NTC|31|12|16|0x7cbc90|None| +|C2S_CLAN_CLAN_EXPEL_MEMBER_REQ|31|13|1|0x822743|| +|S2C_CLAN_CLAN_EXPEL_MEMBER_RES|31|13|2|0x7cade0|クラン除名に| +|C2S_CLAN_CLAN_NEGOTIATE_MASTER_REQ|31|14|1|0x823023|| +|S2C_CLAN_CLAN_NEGOTIATE_MASTER_RES|31|14|2|0x7cc170|クランマスター譲渡に| +|S2C_CLAN_31_14_16_NTC|31|14|16|0x7cbf30|None| +|C2S_CLAN_CLAN_SET_MEMBER_RANK_REQ|31|15|1|0x823bd3|| +|S2C_CLAN_CLAN_SET_MEMBER_RANK_RES|31|15|2|0x7cd240|クランメンバーランク設定に| +|S2C_CLAN_31_15_16_NTC|31|15|16|0x7cd170|None| +|C2S_CLAN_CLAN_GET_MEMBER_NUM_REQ|31|16|1||| +|S2C_CLAN_CLAN_GET_MEMBER_NUM_RES|31|16|2|0x7cb1a0|クランメンバー数取得に| +|C2S_CLAN_CLAN_SETTING_UPDATE_REQ|31|17|1|0x823af3|| +|S2C_CLAN_CLAN_SETTING_UPDATE_RES|31|17|2|0x7cd0e0|クラン設定更新要求に| +|C2S_CLAN_CLAN_INVITE_REQ|31|18|1|0x822e83|| +|S2C_CLAN_CLAN_INVITE_RES|31|18|2|0x7cb800|クラン直接勧誘に| +|S2C_CLAN_31_18_16_NTC|31|18|16|0x7cb5f0|None| +|C2S_CLAN_CLAN_INVITE_ACCEPT_REQ|31|19|1|0x822da3|| +|S2C_CLAN_CLAN_INVITE_ACCEPT_RES|31|19|2|0x7cb560|クラン直接勧誘承認に| +|C2S_CLAN_CLAN_SCOUT_ENTRY_REGISTER_REQ|31|20|1|0x823873|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_REGISTER_RES|31|20|2|0x7ccec0|クランスカウトエントリーに| +|C2S_CLAN_CLAN_SCOUT_ENTRY_CANCEL_REQ|31|21|1|0x823493|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_CANCEL_RES|31|21|2|0x7cc9d0|クランスカウトエントリー解除に| +|C2S_CLAN_CLAN_SCOUT_ENTRY_GET_MY_REQ|31|22|1|0x8236d3|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_GET_MY_RES|31|22|2|0x7ccc50|自分のクランスカウトエントリー取得に| +|C2S_CLAN_CLAN_SCOUT_ENTRY_SEARCH_REQ|31|23|1|0x823953|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_SEARCH_RES|31|23|2|0x7ccf70|クランスカウトエントリーリスト取得に| +|C2S_CLAN_CLAN_SCOUT_ENTRY_INVITE_REQ|31|24|1|0x823793|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_INVITE_RES|31|24|2|0x7cce20|クラン勧誘に| +|S2C_CLAN_31_24_16_NTC|31|24|16|0x7ccd30|None| +|C2S_CLAN_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_REQ|31|25|1|0x823613|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_RES|31|25|2|0x7ccba0|クラン勧誘中リスト取得に| +|C2S_CLAN_CLAN_SCOUT_ENTRY_CANCEL_INVITE_REQ|31|26|1|0x8233b3|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_CANCEL_INVITE_RES|31|26|2|0x7cc930|クラン勧誘キャンセルに| +|S2C_CLAN_31_26_16_NTC|31|26|16|0x7cc880|None| +|C2S_CLAN_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_REQ|31|27|1|0x823553|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_RES|31|27|2|0x7ccae0|クラン勧誘受けてるリスト取得に| +|C2S_CLAN_CLAN_SCOUT_ENTRY_APPROVE_INVITED_REQ|31|28|1|0x8232c3|| +|S2C_CLAN_CLAN_SCOUT_ENTRY_APPROVE_INVITED_RES|31|28|2|0x7cc780|クラン勧誘承認(拒否)に| +|C2S_CLAN_CLAN_GET_MY_INFO_REQ|31|29|1|0x822b63|| +|S2C_CLAN_CLAN_GET_MY_INFO_RES|31|29|2|0x7cb2b0|自クラン取得に| +|C2S_CLAN_CLAN_GET_HISTORY_REQ|31|30|1|0x822823|| +|S2C_CLAN_CLAN_GET_HISTORY_RES|31|30|2|0x7cae70|クランヒストリー取得に| +|C2S_CLAN_CLAN_BASE_GET_INFO_REQ|31|31|1|0x822273|| +|S2C_CLAN_CLAN_BASE_GET_INFO_RES|31|31|2|0x7ca610|クラン拠点情報取得に| +|C2S_CLAN_CLAN_BASE_RELEASE_REQ|31|32|1|0x822333|| +|S2C_CLAN_CLAN_BASE_RELEASE_RES|31|32|2|0x7ca750|クラン拠点解放に| +|C2S_CLAN_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_REQ|31|33|1|0x823f63|| +|S2C_CLAN_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_RES|31|33|2|0x7cd9b0|クランショップ買い切り商品リスト取得に| +|C2S_CLAN_CLAN_SHOP_GET_BUFF_ITEM_LIST_REQ|31|34|1|0x823ea3|| +|S2C_CLAN_CLAN_SHOP_GET_BUFF_ITEM_LIST_RES|31|34|2|0x7cd8f0|クランショップバフ商品リスト取得に| +|C2S_CLAN_CLAN_SHOP_BUY_FUNCTION_ITEM_REQ|31|35|1|0x823dc3|| +|S2C_CLAN_CLAN_SHOP_BUY_FUNCTION_ITEM_RES|31|35|2|0x7cd450|クランショップ買い切り商品購入に| +|C2S_CLAN_CLAN_SHOP_BUY_BUFF_ITEM_REQ|31|36|1|0x823ce3|| +|S2C_CLAN_CLAN_SHOP_BUY_BUFF_ITEM_RES|31|36|2|0x7cd2e0|クランショップバフ商品購入に| +|C2S_CLAN_CLAN_CONCIERGE_UPDATE_REQ|31|37|1|0x822573|| +|S2C_CLAN_CLAN_CONCIERGE_UPDATE_RES|31|37|2|0x7cac00|クラン管理人更新に| +|C2S_CLAN_CLAN_CONCIERGE_GET_LIST_REQ|31|38|1|0x8224b3|| +|S2C_CLAN_CLAN_CONCIERGE_GET_LIST_RES|31|38|2|0x7cab40|クラン管理人リスト取得に| +|C2S_CLAN_CLAN_PARTNER_PAWN_LIST_GET_REQ|31|39|1||| +|S2C_CLAN_CLAN_PARTNER_PAWN_LIST_GET_RES|31|39|2|0x7cc2f0|クランパートナーポーンリスト取得に| +|C2S_CLAN_CLAN_PARTNER_PAWN_DATA_GET_REQ|31|40|1|0x823103|| +|S2C_CLAN_CLAN_PARTNER_PAWN_DATA_GET_RES|31|40|2|0x7cc210|クランパートナーポーンデータ取得に| +|S2C_CLAN_31_41_16_NTC|31|41|16|0x7cba90|None| +|S2C_CLAN_31_42_16_NTC|31|42|16|0x7cb900|None| +|S2C_CLAN_31_43_16_NTC|31|43|16|0x7cbaf0|None| +|S2C_CLAN_31_44_16_NTC|31|44|16|0x7cb890|None| +|S2C_CLAN_31_45_16_NTC|31|45|16|0x7cc450|None| +|S2C_CLAN_31_46_16_NTC|31|46|16|0x7cc370|None| +|S2C_CLAN_31_47_16_NTC|31|47|16|0x7cbe20|None| +|S2C_CLAN_31_48_16_NTC|31|48|16|0x7cda70|None| +|S2C_CLAN_31_49_16_NTC|31|49|16|0x7cca80|None| +|S2C_CLAN_31_50_16_NTC|31|50|16|0x7cd5e0|None| +|S2C_CLAN_31_51_16_NTC|31|51|16|0x7ca800|None| +|C2S_CLAN_SET_FURNITURE_REQ|31|52|1|0x8241c3|| +|S2C_CLAN_SET_FURNITURE_RES|31|52|2|0x7cde80|クラン家具の設置に| +|C2S_CLAN_GET_FURNITURE_REQ|31|53|1|0x824103|| +|S2C_CLAN_GET_FURNITURE_RES|31|53|2|0x7cdd80|クラン家具の設置情報取得に| + + +### Group: 32 - (RANDOM) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_RANDOM_STAGE_RANDOM_STAGE_GET_INFO_REQ|32|0|1||| +|S2C_RANDOM_STAGE_RANDOM_STAGE_GET_INFO_RES|32|0|2|0x7f6130|ランダムステージ情報取得に| +|C2S_RANDOM_STAGE_RANDOM_STAGE_CLEAR_INFO_REQ|32|1|1||| +|S2C_RANDOM_STAGE_RANDOM_STAGE_CLEAR_INFO_RES|32|1|2|0x7f6090|None| + + +### Group: 33 - (JOB) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_JOB_GET_JOB_CHANGE_LIST_REQ|33|0|1|0x82e093|| +|S2C_JOB_GET_JOB_CHANGE_LIST_RES|33|0|2|0x7e05e0|ジョブチェンジリスト取得に| +|C2S_JOB_CHANGE_JOB_REQ|33|1|1|0x82d943|| +|S2C_JOB_CHANGE_JOB_RES|33|1|2|0x7de910|ジョブチェンジに| +|S2C_JOB_CHANGE_JOB_NTC|33|1|16|0x7de540|None| +|C2S_JOB_CHANGE_PAWN_JOB_REQ|33|2|1|0x82da23|| +|S2C_JOB_CHANGE_PAWN_JOB_RES|33|2|2|0x7df130|ポーンジョブチェンジに| +|S2C_JOB_CHANGE_PAWN_JOB_NTC|33|2|16|0x7ded70|None| +|S2C_JOB_33_3_16_NTC|33|3|16|0x7e1e70|None| <-- Paquete grande parecido (identico?) a los de cambiar de job. No está en PS4 +|S2C_JOB_33_4_16_NTC|33|4|16|0x7e21e0|None| <-- El de arriba pero para peones? No está en PS4 +|C2S_JOB_RESET_JOBPOINT_REQ|33|5|1||| +|S2C_JOB_RESET_JOBPOINT_RES|33|5|2|0x7e1a10|ジョブポイントリセットに| +|C2S_JOB_GET_EXP_MODE_REQ|33|6|1||| +|S2C_JOB_GET_EXP_MODE_RES|33|6|2|0x7e0540|経験値入手モードの取得に| +|C2S_JOB_UPDATE_EXP_MODE_REQ|33|7|1|0x82eb03|| +|S2C_JOB_UPDATE_EXP_MODE_RES|33|7|2|0x7e1c80|経験値入手モード更新に| +|C2S_JOB_GET_PLAY_POINT_LIST_REQ|33|8|1|0x82e153|| +|S2C_JOB_GET_PLAY_POINT_LIST_RES|33|8|2|0x7e0690|プレイポイント情報取得に| +|C2S_JOB_JOB_VALUE_SHOP_GET_LINEUP_REQ|33|9|1|0x82e2f3|| +|S2C_JOB_JOB_VALUE_SHOP_GET_LINEUP_RES|33|9|2|0x7e08a0|プレイポイントショップラインナップ取得| +|C2S_JOB_JOB_VALUE_SHOP_BUY_ITEM_REQ|33|10|1|0x8419de|| +|S2C_JOB_JOB_VALUE_SHOP_BUY_ITEM_RES|33|10|2|0x7e07c0|プレイポイントショップ購入| +|S2C_JOB_CHARACTER_JOB_EXP_UP_NTC|33|11|16|0x7df610|None| +|S2C_JOB_33_12_16_NTC|33|12|16|0x7dfa50|None| +|S2C_JOB_33_13_16_NTC|33|13|16|0x7df800|None| +|S2C_JOB_33_14_16_NTC|33|14|16|0x7dfd70|None| +|S2C_JOB_PAWN_JOB_EXP_UP_NTC|33|15|16|0x7e15b0|None| +|S2C_JOB_33_16_16_NTC|33|16|16|0x7e1890|None| +|S2C_JOB_33_17_16_NTC|33|17|16|0x7e17b0|None| +|S2C_JOB_33_18_16_NTC|33|18|16|0x7e1aa0|None| +|S2C_JOB_33_19_16_NTC|33|19|16|0x7e2540|None| +|S2C_JOB_33_20_16_NTC|33|20|16|0x7e2770|None| + + +### Group: 34 - (ENTRY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_ENTRY_BOARD_ENTRY_BOARD_LIST_REQ|34|0|1|0x8275f3|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_LIST_RES|34|0|2|0x7d3f10|ボード情報取得に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_LIST_REQ|34|1|1|0x840ece|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_LIST_RES|34|1|2|0x7d3880|エントリーボードアイテムリスト取得に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_CREATE_REQ|34|2|1|0x826b53|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_CREATE_RES|34|2|2|0x7d2bd0|エントリーボードアイテム作成に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_RECREATE_REQ|34|3|1|0x8274e3|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_RECREATE_RES|34|3|2|0x7d3bc0|エントリーボードアイテム再作成に| +|S2C_ENTRY_34_3_16_NTC|34|3|16|0x7d3aa0|None| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_ENTRY_REQ|34|4|1|0x826c63|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_ENTRY_RES|34|4|2|0x7d2d30|エントリーボードアイテム参加に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_LEAVE_REQ|34|5|1|0x827293|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_LEAVE_RES|34|5|2|0x7d37a0|エントリーボードアイテムから抜けるに| +|S2C_ENTRY_34_5_16_NTC|34|5|16|0x7d36b0|None| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_READY_REQ|34|6|1|0x827423|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_READY_RES|34|6|2|0x7d3a10|エントリーボード準備完了に| +|S2C_ENTRY_34_6_16_NTC|34|6|16|0x7d3960|None| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_FORCE_START_REQ|34|7|1|0x826e33|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_FORCE_START_RES|34|7|2|0x7d2fe0|エントリー強制開始に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_REQ|34|8|1|0x8270c3|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_RES|34|8|2|0x7d3400|エントリーボードアイテム情報取得に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_MYSELF_REQ|34|9|1|0x826fe3|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_MYSELF_RES|34|9|2|0x7d32d0|自身のエントリーボードアイテム情報取得に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_REQ|34|10|1|0x826d73|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_RES|34|10|2|0x7d2f20|エントリーボードアイテムタイムアウト延長に| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_LOCK_REQ|34|11|1||| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_LOCK_RES|34|11|2|0x7d3240|エントリーボードアイテムロックに| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_CHANGE_REQ|34|12|1|0x826ef3|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_CHANGE_RES|34|12|2|0x7d3160|エントリーボードアイテム情報変更に| +|S2C_ENTRY_34_12_16_NTC|34|12|16|0x7d3070|None| +|C2S_ENTRY_BOARD_ENTRY_BOARD_ITEM_INVITE_REQ|34|13|1|0x8271b3|| +|S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INVITE_RES|34|13|2|0x7d3580|エントリーボード招待に| +|S2C_ENTRY_34_13_16_NTC|34|13|16|0x7d34e0|None| +|S2C_ENTRY_34_14_16_NTC|34|14|16|0x7d2b70|None| +|S2C_ENTRY_34_15_16_NTC|34|15|16|0x7d3ef0|None| +|S2C_ENTRY_34_16_16_NTC|34|16|16|0x7d3cf0|None| +|S2C_ENTRY_34_17_16_NTC|34|17|16|0x7d3930|None| +|S2C_ENTRY_34_18_16_NTC|34|18|16|0x7d3de0|None| +|C2S_ENTRY_BOARD_PARTY_RECRUIT_CATEGORY_LIST_REQ|34|19|1|0x8277b3|| +|S2C_ENTRY_BOARD_PARTY_RECRUIT_CATEGORY_LIST_RES|34|19|2|0x7d4080|パーティ募集掲示板リスト取得に| +|C2S_ENTRY_BOARD_ITEM_KICK_REQ|34|20|1|0x8276d3|| +|S2C_ENTRY_BOARD_ITEM_KICK_RES|34|20|2|0x7d3ff0|エントリメンバーキックに| + + +### Group: 35 - (CONTEXT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CONTEXT_GET_LOBBY_PLAYER_CONTEXT_REQ|35|0|1||| +|S2C_CONTEXT_GET_LOBBY_PLAYER_CONTEXT_RES|35|0|2|0x7cf250|ロビープレイヤーコンテキスト取得に| +|S2C_CONTEXT_35_0_16_NTC|35|0|16|0x7cf0b0|None| +|C2S_CONTEXT_GET_PARTY_PLAYER_CONTEXT_REQ|35|1|1||| +|S2C_CONTEXT_GET_PARTY_PLAYER_CONTEXT_RES|35|1|2|0x7cf830|パーティプレイヤーコンテキスト取得に| +|S2C_CONTEXT_35_1_16_NTC|35|1|16|0x7cf570|None| +|C2S_CONTEXT_GET_ALL_PLAYER_CONTEXT_REQ|35|2|1||| +|S2C_CONTEXT_GET_ALL_PLAYER_CONTEXT_RES|35|2|2|0x7cefd0|全部入りプレイヤーコンテキスト取得に| +|S2C_CONTEXT_35_2_16_NTC|35|2|16|0x7cee70|None| +|C2S_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_REQ|35|3|1||| +|S2C_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_RES|35|3|2|0x7cf480|パーティマイポーンコンテキスト取得に| +|S2C_CONTEXT_35_3_16_NTC|35|3|16|0x7cf330|None| +|C2S_CONTEXT_GET_PARTY_RENTED_PAWN_CONTEXT_REQ|35|4|1||| +|S2C_CONTEXT_GET_PARTY_RENTED_PAWN_CONTEXT_RES|35|4|2|0x7cfa20|パーティレンタル済みポーンコンテキスト取得に| +|S2C_CONTEXT_35_4_16_NTC|35|4|16|0x7cf910|None| +|C2S|35|5|16||| +|C2S|35|6|16||| +|C2S_CONTEXT_GET_SET_CONTEXT_REQ|35|7|1|0x824a53|| +|S2C_CONTEXT_GET_SET_CONTEXT_RES|35|7|2|0x7cfb10|セットコンテキスト取得に| +|C2S_CONTEXT_SET_CONTEXT_BASE_NTC|35|8|16|0x824BA0|| +|C2S_CONTEXT_SET_CONTEXT_NTC|35|9|16|0x824C80|| +|C2S_CONTEXT_MASTER_THROW_REQ|35|10|1|0x824b33|| +|S2C_CONTEXT_MASTER_THROW_RES|35|10|2|0x7cfe50|マスター移譲に| +|S2C_CONTEXT_MASTER_THROW_NTC|35|10|16|0x7cfd60|None| <-- Mismos datos que 35_14_16 +|S2C_CONTEXT_SET_CONTEXT_BASE_NTC|35|11|16|0x7cfee0|None| +|S2C_CONTEXT_35_12_16_NTC|35|12|16|0x7d0060|None| <-- CDataContextSetBase + algo mas de contexto que no parece estar en la PS4 +|S2C_CONTEXT_SET_CONTEXT_NTC|35|13|16|0x7cffe0|None| +|S2C_CONTEXT_MASTER_CHANGE_NTC|35|14|16|0x7cfba0|None| <-- Hace spawn de enemigos +|S2C_CONTEXT_MASTER_INFO_NTC|35|15|16|0x7cfc80|None| <-- Hace lo mismo que 35_14_16 + + +### Group: 36 - (BAZAAR) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_BAZAAR_GET_CHARACTER_LIST_REQ|36|0|1|0x81fc53|| +|S2C_BAZAAR_GET_CHARACTER_LIST_RES|36|0|2|0x7c6130|バザー利用状況取得に| +|C2S_BAZAAR_GET_ITEM_LIST_REQ|36|1|1|0x81ff93|| +|S2C_BAZAAR_GET_ITEM_LIST_RES|36|1|2|0x7c6480|バザーアイテム情報一覧取得に| +|C2S_BAZAAR_GET_ITEM_INFO_REQ|36|2|1|0x81feb3|| +|S2C_BAZAAR_GET_ITEM_INFO_RES|36|2|2|0x7c6390|バザーアイテムごとのバザー情報取得に| +|C2S_BAZAAR_GET_ITEM_HISTORY_INFO_REQ|36|3|1|0x81fdd3|| +|S2C_BAZAAR_GET_ITEM_HISTORY_INFO_RES|36|3|2|0x7c62a0|バザーアイテムごとのバザー履歴情報取得に| +|C2S_BAZAAR_EXHIBIT_REQ|36|4|1|0x8404de|| +|S2C_BAZAAR_EXHIBIT_RES|36|4|2|0x7c6080|バザー出品開始に| +|C2S_BAZAAR_RE_EXHIBIT_REQ|36|5|1|0x8202e3|| +|S2C_BAZAAR_RE_EXHIBIT_RES|36|5|2|0x7c6830|バザー再出品開始に| +|C2S_BAZAAR_CANCEL_REQ|36|6|1|0x81faa3|| +|S2C_BAZAAR_CANCEL_RES|36|6|2|0x7c5fd0|バザー出品キャンセルに| +|C2S_BAZAAR_PROCEEDS_REQ|36|7|1|0x84055e|| +|S2C_BAZAAR_PROCEEDS_RES|36|7|2|0x7c66d0|バザーアイテム購入に| +|S2C_BAZAAR_36_7_16_NTC|36|7|16|0x7c65e0|None| +|C2S_BAZAAR_RECEIVE_PROCEEDS_REQ|36|8|1|0x820223|| +|S2C_BAZAAR_RECEIVE_PROCEEDS_RES|36|8|2|0x7c6780|バザー売上金受け取りに| +|C2S_BAZAAR_GET_ITEM_PRICE_LIMIT_REQ|36|9|1|0x820073|| +|S2C_BAZAAR_GET_ITEM_PRICE_LIMIT_RES|36|9|2|0x7c6510|バザー出品価格制限取得| +|C2S_BAZAAR_36_10_1_REQ|36|10|1||| +|S2C_BAZAAR_36_10_2_RES|36|10|2|0x7c65d0|None| +|C2S_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_REQ|36|11|1|0x81fd13|| +|S2C_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_RES|36|11|2|0x7c61f0|バザー出品可能上限取得に| + + +### Group: 37 - (MAIL) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_MAIL_MAIL_GET_LIST_HEAD_REQ|37|0|1|0x82f293|| +|S2C_MAIL_MAIL_GET_LIST_HEAD_RES|37|0|2|0x7e3130|メールリストヘッダ取得に| +|C2S_MAIL_MAIL_GET_LIST_DATA_REQ|37|1|1|0x82f0e3|| +|S2C_MAIL_MAIL_GET_LIST_DATA_RES|37|1|2|0x7e2f90|メールリスト本体取得に| +|C2S_MAIL_MAIL_GET_LIST_FOOT_REQ|37|2|1|0x82f1d3|| +|S2C_MAIL_MAIL_GET_LIST_FOOT_RES|37|2|2|0x7e30a0|メールリスト取得終了に| +|C2S_MAIL_MAIL_GET_TEXT_REQ|37|3|1|0x82f353|| +|S2C_MAIL_MAIL_GET_TEXT_RES|37|3|2|0x7e31c0|メール本文取得に| +|C2S_MAIL_MAIL_DELETE_REQ|37|4|1|0x82f003|| +|S2C_MAIL_MAIL_DELETE_RES|37|4|2|0x7e2ed0|メール削除に| +|C2S_MAIL_MAIL_SEND_REQ|37|5|1|0x82f433|| +|S2C_MAIL_MAIL_SEND_RES|37|5|2|0x7e3400|メール送信に| +|S2C_MAIL_37_5_16_NTC|37|5|16|0x7e3330|None| +|C2S_MAIL_SYSTEM_MAIL_GET_LIST_HEAD_REQ|37|6|1|0x82f8a3|| +|S2C_MAIL_SYSTEM_MAIL_GET_LIST_HEAD_RES|37|6|2|0x7e3fb0|お知らせメールリストヘッダ取得に| +|C2S_MAIL_SYSTEM_MAIL_GET_LIST_DATA_REQ|37|7|1|0x82f6f3|| +|S2C_MAIL_SYSTEM_MAIL_GET_LIST_DATA_RES|37|7|2|0x7e3e40|お知らせメールリスト本体取得に| +|C2S_MAIL_SYSTEM_MAIL_GET_LIST_FOOT_REQ|37|8|1|0x82f7e3|| +|S2C_MAIL_SYSTEM_MAIL_GET_LIST_FOOT_RES|37|8|2|0x7e3f20|お知らせメールリスト取得終了に| +|C2S_MAIL_SYSTEM_MAIL_GET_TEXT_REQ|37|9|1|0x82f963|| +|S2C_MAIL_SYSTEM_MAIL_GET_TEXT_RES|37|9|2|0x7e4050|お知らせメール本文取得に| +|C2S_MAIL_SYSTEM_MAIL_GET_ITEM_REQ|37|10|1||| +|S2C_MAIL_SYSTEM_MAIL_GET_ITEM_RES|37|10|2|0x7e3ce0|お知らせメール添付アイテム取得に| +|C2S_MAIL_SYSTEM_MAIL_GET_ALL_ITEM_REQ|37|11|1|0x82f603|| +|S2C_MAIL_SYSTEM_MAIL_GET_ALL_ITEM_RES|37|11|2|0x7e3c10|お知らせメール添付アイテム全取得に| +|C2S_MAIL_SYSTEM_MAIL_DELETE_REQ|37|12|1|0x82f523|| +|S2C_MAIL_SYSTEM_MAIL_DELETE_RES|37|12|2|0x7e34d0|お知らせメール削除に| +|S2C_MAIL_37_13_16_NTC|37|13|16|0x7e4180|None| + + +### Group: 38 - (RANKING) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_RANKING_BOARD_LIST_REQ|38|0|1|0x83a2e3|| +|S2C_RANKING_BOARD_LIST_RES|38|0|2|0x7f61f0|ランキングボードリストの取得に| +|C2S_RANKING_RANK_LIST_REQ|38|1|1|0x83a5a3|| +|S2C_RANKING_RANK_LIST_RES|38|1|2|0x7f6440|ランキング情報リストを順位で取得に| +|C2S_RANKING_RANK_LIST_BY_QUEST_SCHEDULE_ID_REQ|38|2|1|0x83a493|| +|S2C_RANKING_RANK_LIST_BY_QUEST_SCHEDULE_ID_RES|38|2|2|0x7f6390|ランキング情報リストを順位で取得に| +|C2S_RANKING_RANK_LIST_BY_CHARACTER_ID_REQ|38|3|1|0x83a3a3|| +|S2C_RANKING_RANK_LIST_BY_CHARACTER_ID_RES|38|3|2|0x7f62e0|ランキング情報リストをキャラクタIDで取得に| +|C2S_RANKING_38_4_1_REQ|38|4|1||| +|S2C_RANKING_38_4_2_RES|38|4|2|0x7f62d0|None| + + +### Group: 39 - (GACHA) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_GACHA_GACHA_LIST_REQ|39|0|1|0x829123|| +|S2C_GACHA_GACHA_LIST_RES|39|0|2|0x7d6cf0|ガチャリスト取得に| +|C2S_GACHA_GACHA_BUY_REQ|39|1|1|0x84102e|| +|S2C_GACHA_GACHA_BUY_RES|39|1|2|0x7d6c30|ガチャ購入取得に| + + +### Group: 40 +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_40_2_1_REQ|40|2|1||| +|S2C_40_2_2_RES|40|2|2|0x7d2290|None| + + +### Group: 41 - (CHARACTER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CHARACTER_EDIT_GET_UNLOCKED_EDIT_PARTS_LIST_REQ|41|0|1||| +|S2C_CHARACTER_EDIT_GET_UNLOCKED_EDIT_PARTS_LIST_RES|41|0|2|0x7c82d0|使用可能エディットパーツリスト取得に| +|C2S_CHARACTER_EDIT_GET_UNLOCKED_PAWN_EDIT_PARTS_LIST_REQ|41|1|1||| +|S2C_CHARACTER_EDIT_GET_UNLOCKED_PAWN_EDIT_PARTS_LIST_RES|41|1|2|0x7c83a0|使用可能ポーンエディットパーツリスト取得に| +|C2S_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_REQ|41|2|1|0x84074e|| +|S2C_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_RES|41|2|2|0x7c8550|キャラクタエディット更新| +|C2S_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_REQ|41|3|1|0x84084e|| +|S2C_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_RES|41|3|2|0x7c8c40|ポーンエディット更新| +|S2C_CHARACTER_41_4_16_NTC|41|4|16|0x7c88e0|None| +|C2S_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_EX_REQ|41|5|1|0x8406be|| +|S2C_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_EX_RES|41|5|2|0x7c8420|キャラクタエディット拡張更新| +|C2S_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_EX_REQ|41|6|1|0x8407ce|| +|S2C_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_EX_RES|41|6|2|0x7c8a50|ポーンエディット拡張更新| +|S2C_CHARACTER_41_7_16_NTC|41|7|16|0x7c8640|None| +|C2S_CHARACTER_EDIT_GET_SHOP_PRICE_REQ|41|8|1|0x8214b3|| +|S2C_CHARACTER_EDIT_GET_SHOP_PRICE_RES|41|8|2|0x7c81e0|美容院と従者の転生の価格の取得| + + +### Group: 42 - (PHOTO) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PHOTO_PHOTO_GET_AUTH_ADDRESS_REQ|42|1|1|0x834f83|| +|S2C_PHOTO_PHOTO_GET_AUTH_ADDRESS_RES|42|1|2|0x7edd70|フォトアップロード認証用アドレス取得に| + + +### Group: 43 - (LOADING) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_LOADING_INFO_LOADING_GET_INFO_REQ|43|0|1|0x82ebe3|| +|S2C_LOADING_INFO_LOADING_GET_INFO_RES|43|0|2|0x7e28d0|ロード画面情報取得応答| + + +### Group: 44 - (CERT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CERT_CLIENT_CHALLENGE_REQ|44|0|1|0x84063e|| +|S2C_CERT_CLIENT_CHALLENGE_RES|44|0|2|0x7c70c0|暗号化した共通鍵と共通鍵で暗号化した合言葉のやりとりに| +|S2C_CERT_44_1_16_NTC|44|1|16|0x7c7250|None| + + +### Group: 45 - (STAMP) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_STAMP_BONUS_GET_LIST_REQ|45|0|1|0x83f463|| +|S2C_STAMP_BONUS_GET_LIST_RES|45|0|2|0x7fe140|None| +|C2S_STAMP_BONUS_CHECK_REQ|45|1|1|0x83f3a3|| +|S2C_STAMP_BONUS_CHECK_RES|45|1|2|0x7fe070|None| +|C2S_STAMP_BONUS_UPDATE_REQ|45|2|1||| +|S2C_STAMP_BONUS_UPDATE_RES|45|2|2|0x7fe310|スタンプボーナスの情報更新| +|C2S_STAMP_BONUS_RECIEVE_DAILY_REQ|45|3|1|0x83f523|| +|S2C_STAMP_BONUS_RECIEVE_DAILY_RES|45|3|2|0x7fe1f0|連続スタンプボーナスの受取要求| +|C2S_STAMP_BONUS_RECIEVE_TOTAL_REQ|45|4|1|0x83f613|| +|S2C_STAMP_BONUS_RECIEVE_TOTAL_RES|45|4|2|0x7fe280|累計スタンプボーナスの受取要求| + + +### Group: 46 - (NG) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_NG_WORD_NG_WORD_GET_LIST_REQ|46|0|1||| +|S2C_NG_WORD_NG_WORD_GET_LIST_RES|46|0|2|0x7e61e0|禁止文言リストの取得| + + +### Group: 47 - (EVENT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_EVENT_CODE_EVENT_CODE_INPUT_REQ|47|0|1|0x8287f3|| +|S2C_EVENT_CODE_EVENT_CODE_INPUT_RES|47|0|2|0x7d5bc0|イベントコードの入力に| + + +### Group: 48 - (DLC) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_DLC_DLC_GET_BOUGHT_REQ|48|0|1|0x826a73|| +|S2C_DLC_DLC_GET_BOUGHT_RES|48|0|2|0x7d2750|DLC購入履歴取得| +|C2S_DLC_DLC_USE_REQ|48|1|1||| +|S2C_DLC_DLC_USE_RES|48|1|2|0x7d2920|DLC商品の使用| +|C2S_DLC_DLC_GET_HISTORY_REQ|48|2|1||| +|S2C_DLC_DLC_GET_HISTORY_RES|48|2|2|0x7d2830|DLC使用履歴取得| +|C2S_DLC_48_3_1_REQ|48|3|1||| +|S2C_DLC_48_3_2_RES|48|3|2|0x7d2a30|None| +|S2C_DLC_48_3_16_NTC|48|3|16|0x7d2a20|None| +|S2C_DLC_48_4_16_NTC|48|4|16|0x7d2740|None| + + +### Group: 49 - (SUPPORT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_SUPPORT_POINT_SUPPORT_POINT_GET_RATE_REQ|49|0|1|0x83f6d3|| +|S2C_SUPPORT_POINT_SUPPORT_POINT_GET_RATE_RES|49|0|2|0x7fe3a0|サポートポイント還元率リスト取得要求に| +|C2S_SUPPORT_POINT_SUPPORT_POINT_USE_REQ|49|1|1|0x83f793|| +|S2C_SUPPORT_POINT_SUPPORT_POINT_USE_RES|49|1|2|0x7fe480|サポートポイント使用に| + + +### Group: 50 - (ITEM) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_ITEM_SORT_GET_ITEM_SORTDATA_BIN_REQ|50|0|1|0x82d5c3|| +|S2C_ITEM_SORT_GET_ITEM_SORTDATA_BIN_RES|50|0|2|0x7ddb80|アイテムソートデータ取得要求に| +|S2C_ITEM_50_0_16_NTC|50|0|16|0x7ddab0|None| +|C2S_ITEM_SORT_SET_ITEM_SORTDATA_BIN_REQ|50|1|1|0x84186e|| +|S2C_ITEM_SORT_SET_ITEM_SORTDATA_BIN_RES|50|1|2|0x7ddc30|アイテムソートデータ保存要求に| + + +### Group: 51 - (DISPEL) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_DISPEL_GET_DISPEL_ITEM_LIST_REQ|51|0|1|0x8266e3|| +|S2C_DISPEL_GET_DISPEL_ITEM_LIST_RES|51|0|2|0x7d23d0|None| +|C2S_DISPEL_EXCHANGE_DISPEL_ITEM_REQ|51|1|1|0x826603|| +|S2C_DISPEL_EXCHANGE_DISPEL_ITEM_RES|51|1|2|0x7d2320|解呪アイテム交換に| +|C2S_DISPEL_GET_DISPEL_ITEM_SETTING_REQ|51|2|1|0x8267c3|| +|S2C_DISPEL_GET_DISPEL_ITEM_SETTING_RES|51|2|2|0x7d24b0|解呪アイテム設定情報取得要求に| +|C2S_DISPEL_LOCK_SETTING_REQ|51|3|1|0x826963|| +|S2C_DISPEL_LOCK_SETTING_RES|51|3|2|0x7d2640|解呪ロック設定に| +|C2S_DISPEL_GET_LOCK_SETTING_REQ|51|4|1|0x8268a3|| +|S2C_DISPEL_GET_LOCK_SETTING_RES|51|4|2|0x7d25a0|解呪ロック設定情報取得要求に| + + +### Group: 52 - (MY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_MY_ROOM_MY_ROOM_RELEASE_REQ|52|0|1|0x830923|| +|S2C_MY_ROOM_MY_ROOM_RELEASE_RES|52|0|2|0x7e5d10|自室解放に| +|C2S_MY_ROOM_FURNITURE_LIST_GET_REQ|52|1|1|0x8306a3|| +|S2C_MY_ROOM_FURNITURE_LIST_GET_RES|52|1|2|0x7e5a90|自室家具リスト取得に| +|C2S_MY_ROOM_FURNITURE_LAYOUT_REQ|52|2|1|0x8305c3|| +|S2C_MY_ROOM_FURNITURE_LAYOUT_RES|52|2|2|0x7e59c0|自室家具設置に| +|C2S_MY_ROOM_MY_ROOM_BGM_UPDATE_REQ|52|3|1|0x830843|| +|S2C_MY_ROOM_MY_ROOM_BGM_UPDATE_RES|52|3|2|0x7e5c80|自室BGM変更に| +|C2S_MY_ROOM_OTHER_ROOM_LAYOUT_GET_REQ|52|4|1|0x830ac3|| +|S2C_MY_ROOM_OTHER_ROOM_LAYOUT_GET_RES|52|4|2|0x7e5f30|他人の部屋情報取得| +|C2S_MY_52_5_1_REQ|52|5|1|0x8309e3|| +|S2C_MY_52_5_2_RES|52|5|2|0x7e5ec0|None| +|S2C_MY_52_5_16_NTC|52|5|16|0x7e5d90|None| +|C2S_MY_ROOM_UPDATE_PLANETARIUM_REQ|52|6|1|0x830c83|| +|S2C_MY_ROOM_UPDATE_PLANETARIUM_RES|52|6|2|0x7e6150|自室のプラネタリウムの状態の更新| +|C2S_MY_ROOM_GET_OTHER_ROOM_PERMISSION_REQ|52|7|1|0x830763|| +|S2C_MY_ROOM_GET_OTHER_ROOM_PERMISSION_RES|52|7|2|0x7e5b60|他人自室の公開範囲の取得| +|C2S_MY_ROOM_SET_OTHER_ROOM_PERMISSION_REQ|52|8|1|0x830ba3|| +|S2C_MY_ROOM_SET_OTHER_ROOM_PERMISSION_RES|52|8|2|0x7e60c0|他人自室の公開範囲の設定| + + +### Group: 53 - (PARTNER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PARTNER_PAWN_PARTNER_PAWN_SET_REQ|53|0|1|0x831333|| +|S2C_PARTNER_PAWN_PARTNER_PAWN_SET_RES|53|0|2|0x7e69c0|パートナーポーン設定に| +|C2S_PARTNER_PAWN_RELEASED_EDIT_PARTS_LIST_GET_REQ|53|1|1||| +|S2C_PARTNER_PAWN_RELEASED_EDIT_PARTS_LIST_GET_RES|53|1|2|0x7e6f10|解放済みエディットパーツリスト取得に| +|C2S_PARTNER_PAWN_RELEASED_EMOTION_LIST_GET_REQ|53|2|1||| +|S2C_PARTNER_PAWN_RELEASED_EMOTION_LIST_GET_RES|53|2|2|0x7e6fe0|解放済みエモーションリスト取得に| +|C2S_PARTNER_PAWN_RELEASED_PAWN_TALK_LIST_GET_REQ|53|3|1||| +|S2C_PARTNER_PAWN_RELEASED_PAWN_TALK_LIST_GET_RES|53|3|2|0x7e70b0|解放済みパートナーポーン会話リスト取得に| +|C2S_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_LIST_GET_REQ|53|4|1|0x8315c3|| +|S2C_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_LIST_GET_RES|53|4|2|0x7e6c60|ポーン好感度による解放可能要素リスト取得に| +|C2S_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_GET_REQ|53|5|1|0x8314d3|| +|S2C_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_GET_RES|53|5|2|0x7e6b70|ポーン好感度による要素解放に| +|C2S_PARTNER_PAWN_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_REQ|53|6|1|0x831413|| +|S2C_PARTNER_PAWN_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_RES|53|6|2|0x7e6a80|ポーン好感度による解放済み要素リスト取得に| +|C2S_PARTNER_PAWN_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_REQ|53|7|1|0x831273|| +|S2C_PARTNER_PAWN_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_RES|53|7|2|0x7e68e0|次に欠片を渡せるまでの時間(sec)を取得に| +|C2S_PARTNER_PAWN_PRESENT_FOR_PARTNER_PAWN_REQ|53|8|1|0x831683|| +|S2C_PARTNER_PAWN_PRESENT_FOR_PARTNER_PAWN_RES|53|8|2|0x7e6e40|パートナーポーンにプレゼントに| +|S2C_PARTNER_53_9_16_NTC|53|9|16|0x7e6d50|None| + + +### Group: 54 - (CRAFT) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_CRAFT_RECIPE_GET_CRAFT_RECIPE_REQ|54|0|1|0x825963|| +|S2C_CRAFT_RECIPE_GET_CRAFT_RECIPE_RES|54|0|2|0x7d0eb0|クラフト生産レシピ取得に| +|C2S_CRAFT_RECIPE_GET_CRAFT_RECIPE_DESIGNATE_REQ|54|1|1|0x825873|| +|S2C_CRAFT_RECIPE_GET_CRAFT_RECIPE_DESIGNATE_RES|54|1|2|0x7d0df0|クラフト生産レシピ取得に| +|C2S_CRAFT_RECIPE_GET_CRAFT_GRADEUP_RECIPE_REQ|54|2|1|0x840abe|| +|S2C_CRAFT_RECIPE_GET_CRAFT_GRADEUP_RECIPE_RES|54|2|2|0x7d0d30|クラフト強化レシピ取得に| + + +### Group: 55 - (JOB_ORB) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_JOB_ORB_TREE_GET_JOB_ORB_TREE_STATUS_LIST_REQ|55|0|1|0x82e933|| +|S2C_JOB_ORB_TREE_GET_JOB_ORB_TREE_STATUS_LIST_RES|55|0|2|0x7e1330|全ジョブオーブツリーの状態リスト取得に| +|C2S_JOB_ORB_TREE_GET_ALL_JOB_ORB_ELEMENT_LIST_REQ|55|1|1|0x82e763|| +|S2C_JOB_ORB_TREE_GET_ALL_JOB_ORB_ELEMENT_LIST_RES|55|1|2|0x7e11d0|指定ジョブのジョブオーブツリー全報酬要素リスト取得に| +|C2S_JOB_ORB_TREE_RELEASE_JOB_ORB_ELEMENT_REQ|55|2|1|0x82ea13|| +|S2C_JOB_ORB_TREE_RELEASE_JOB_ORB_ELEMENT_RES|55|2|2|0x7e1400|オーブ成長要素の解放に| +|C2S_JOB_ORB_TREE_GET_CURRENCY_EXCHANGE_LIST_REQ|55|3|1|0x82e853|| +|S2C_JOB_ORB_TREE_GET_CURRENCY_EXCHANGE_LIST_RES|55|3|2|0x7e1280|通貨両替レート情報取得| +|C2S_JOB_ORB_TREE_EXCHANGE_CURRENCY_REQ|55|4|1|0x82e673|| +|S2C_JOB_ORB_TREE_EXCHANGE_CURRENCY_RES|55|4|2|0x7e10e0|通貨両替| +|S2C_JOB_ORB_55_5_16_NTC|55|5|16|0x7e1530|None| + + +### Group: 56 - (SERVER) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_SERVER_UI_SERVER_UI_COMMAND_REQ|56|0|1|0x84260e|| +|S2C_SERVER_UI_SERVER_UI_COMMAND_RES|56|0|2|0x7f9c10|サーバー制御UIコマンド応答| +|S2C_SERVER_56_1_16_NTC|56|1|16|0x7f9bb0|None| + + +### Group: 57 - (BOX) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_BOX_GACHA_BOX_GACHA_LIST_REQ|57|0|1|0x8208e3|| +|S2C_BOX_GACHA_BOX_GACHA_LIST_RES|57|0|2|0x7c6f40|BOXガチャリスト取得に| +|C2S_BOX_GACHA_BOX_GACHA_BUY_REQ|57|1|1|0x8405ce|| +|S2C_BOX_GACHA_BOX_GACHA_BUY_RES|57|1|2|0x7c6dd0|BOXガチャ購入取得に| +|C2S_BOX_GACHA_BOX_GACHA_RESET_REQ|57|2|1|0x8209a3|| +|S2C_BOX_GACHA_BOX_GACHA_RESET_RES|57|2|2|0x7c7020|BOXガチャリセットに| +|C2S_BOX_GACHA_BOX_GACHA_DRAW_INFO_REQ|57|3|1|0x820803|| +|S2C_BOX_GACHA_BOX_GACHA_DRAW_INFO_RES|57|3|2|0x7c6e90|BOXガチャアイテム情報に| + + +### Group: 58 - (PAWN) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_INFO_REQ|58|0|1|0x832d33|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_INFO_RES|58|0|2|0x7ea0a0|ポーン隊出撃情報取得| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_MY_SALLY_INFO_REQ|58|1|1|0x8329e3|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_MY_SALLY_INFO_RES|58|1|2|0x7e9cf0|ポーン隊出撃情報取得に| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_REQ|58|2|1|0x832903|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_RES|58|2|2|0x7e9c60|ポーン隊出撃回数補充に| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_SALLY_REQ|58|3|1|0x832eb3|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_SALLY_RES|58|3|2|0x7ea200|ポーン隊出撃に| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_REQ|58|4|1|0x832823|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_RES|58|4|2|0x7e9bd0|ポーン隊黄金石出撃に| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_REWARD_REQ|58|5|1|0x832df3|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_REWARD_RES|58|5|2|0x7ea150|ポーン隊報酬リストの取得| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_CANCEL_SALLY_REQ|58|6|1|0x832763|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CANCEL_SALLY_RES|58|6|2|0x7e9b20|ポーン隊の出撃キャンセルに| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_REQ|58|7|1|0x832c73|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_RES|58|7|2|0x7e9fe0|ポーン隊報酬有無・セット応答| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_REQ|58|8|1|0x832aa3|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_RES|58|8|2|0x7e9de0|ポーン隊報酬アイテムリスト応答| +|C2S_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_REQ|58|9|1|0x832b83|| +|S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_RES|58|9|2|0x7e9ef0|ポーン隊報酬アイテム拾う応答| + + +### Group: 59 - (INFINITY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_INFINITY_DELIVERY_GET_CURRENT_EVENT_REQ|59|0|1|0x82ac83|| +|S2C_INFINITY_DELIVERY_GET_CURRENT_EVENT_RES|59|0|2|0x7d9d00|開催中イベント取得に| +|C2S_INFINITY_DELIVERY_GET_CATEGORY_FROM_NPC_REQ|59|1|1|0x82a813|| +|S2C_INFINITY_DELIVERY_GET_CATEGORY_FROM_NPC_RES|59|1|2|0x7d9900|カテゴリ取得に| +|C2S_INFINITY_DELIVERY_GET_REQUIRED_REQ|59|2|1|0x82afe3|| +|S2C_INFINITY_DELIVERY_GET_REQUIRED_RES|59|2|2|0x7d9ff0|納品項目取得に| +|C2S_INFINITY_DELIVERY_DELIVER_CLIENT_REQ|59|3|1|0x82a723|| +|S2C_INFINITY_DELIVERY_DELIVER_CLIENT_RES|59|3|2|0x7d9820|納品要求に| +|C2S_INFINITY_DELIVERY_GET_CATEGORY_STATUS_REQ|59|4|1|0x82aba3|| +|S2C_INFINITY_DELIVERY_GET_CATEGORY_STATUS_RES|59|4|2|0x7d9c20|納品状況取得に| +|C2S_INFINITY_DELIVERY_GET_EVENT_STATUS_REQ|59|5|1|0x82ad43|| +|S2C_INFINITY_DELIVERY_GET_EVENT_STATUS_RES|59|5|2|0x7d9de0|納品状況取得に| +|C2S_INFINITY_DELIVERY_GET_NUM_BORDER_INFO_REQ|59|6|1|0x82ae23|| +|S2C_INFINITY_DELIVERY_GET_NUM_BORDER_INFO_RES|59|6|2|0x7d9e90|大口納品個数ボーダー情報取得に| +|C2S_INFINITY_DELIVERY_GET_RANKING_BORDER_INFO_REQ|59|7|1|0x82af03|| +|S2C_INFINITY_DELIVERY_GET_RANKING_BORDER_INFO_RES|59|7|2|0x7d9f40|大口納品ランキングボーダー情報取得に| +|C2S_INFINITY_DELIVERY_GET_CATEGORY_LIST_REQ|59|8|1|0x82a9d3|| +|S2C_INFINITY_DELIVERY_GET_CATEGORY_LIST_RES|59|8|2|0x7d9ac0|大口納品カテゴリリスト取得に| +|C2S_INFINITY_DELIVERY_GET_CATEGORY_INFO_REQ|59|9|1|0x82a8f3|| +|S2C_INFINITY_DELIVERY_GET_CATEGORY_INFO_RES|59|9|2|0x7d99e0|大口納品カテゴリ情報取得に| +|C2S_INFINITY_DELIVERY_GET_CATEGORY_RANKING_REQ|59|10|1|0x82aa93|| +|S2C_INFINITY_DELIVERY_GET_CATEGORY_RANKING_RES|59|10|2|0x7d9b70|大口納品カテゴリランキング取得に| +|C2S_INFINITY_DELIVERY_RECEIVE_BORDER_REWARD_REQ|59|11|1|0x82b0c3|| +|S2C_INFINITY_DELIVERY_RECEIVE_BORDER_REWARD_RES|59|11|2|0x7da0a0|大口納品報酬受け取りに| + + +### Group: 60 - (NPC) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_NPC_GET_NPC_EXTENDED_FACILITY_REQ|60|0|1|0x830d63|| +|S2C_NPC_GET_NPC_EXTENDED_FACILITY_RES|60|0|2|0x7e62d0|NPC追加施設機能取得| +|S2C_NPC_60_1_16_NTC|60|1|16|0x7e62c0|None| + + +### Group: 61 - (PAWN) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PAWN_TRAINING_GET_TRAINING_STATUS_REQ|61|0|1|0x834be3|| +|S2C_PAWN_TRAINING_GET_TRAINING_STATUS_RES|61|0|2|0x7ed6d0|ポーン思考育成情報取得| +|C2S_PAWN_TRAINING_SET_TRAINING_STATUS_REQ|61|1|1|0x841eee|| +|S2C_PAWN_TRAINING_SET_TRAINING_STATUS_RES|61|1|2|0x7ed8b0|ポーン思考育成情報設定| +|C2S_PAWN_TRAINING_GET_PREPARETION_INFO_TO_ADVICE_REQ|61|2|1|0x834b23|| +|S2C_PAWN_TRAINING_GET_PREPARETION_INFO_TO_ADVICE_RES|61|2|2|0x7ed380|指導前の情報の取得| +|S2C_PAWN_61_3_16_NTC|61|3|16|0x7ed530|None| +|S2C_PAWN_61_4_16_NTC|61|4|16|0x7ed180|None| +|S2C_PAWN_61_5_16_NTC|61|5|16|0x7ed0a0|None| + + +### Group: 62 - (SEASON) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_SEASON_DUNGEON_GET_ID_FROM_NPC_ID_REQ|62|0|1|0x83b423|| +|S2C_SEASON_DUNGEON_GET_ID_FROM_NPC_ID_RES|62|0|2|0x7f78c0|納品状況取得に| +|C2S_SEASON_DUNGEON_GET_INFO_REQ|62|1|1|0x83b503|| +|S2C_SEASON_DUNGEON_GET_INFO_RES|62|1|2|0x7f7990|納品状況取得に| +|C2S_SEASON_DUNGEON_GET_EXTEND_INFO_REQ|62|2|1|0x83b263|| +|S2C_SEASON_DUNGEON_GET_EXTEND_INFO_RES|62|2|2|0x7f7760|シーズンダンジョン拡張情報取得に| +|C2S_SEASON_DUNGEON_COMPLETE_REQ|62|3|1|0x83ac33|| +|S2C_SEASON_DUNGEON_COMPLETE_RES|62|3|2|0x7f6ff0|シーズンダンジョンコンプリートに| +|C2S_SEASON_DUNGEON_OPEN_COMPLETE_DOOR_REQ|62|4|1|0x83b933|| +|S2C_SEASON_DUNGEON_OPEN_COMPLETE_DOOR_RES|62|4|2|0x7f8120|シーズンダンジョンコンプリート扉開閉に| +|C2S_SEASON_DUNGEON_EXEC_EX_RESERVATION_REQ|62|5|1|0x83aef3|| +|S2C_SEASON_DUNGEON_EXEC_EX_RESERVATION_RES|62|5|2|0x7f7410|納品状況取得に| +|C2S_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_NPC_ID_REQ|62|6|1|0x83afd3|| +|S2C_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_NPC_ID_RES|62|6|2|0x7f74f0|納品状況取得に| +|C2S_SEASON_DUNGEON_GET_EXTENDABLE_BLOCKADE_LIST_FROM_NPC_ID_REQ|62|7|1|0x83b183|| +|S2C_SEASON_DUNGEON_GET_EXTENDABLE_BLOCKADE_LIST_FROM_NPC_ID_RES|62|7|2|0x7f76b0|シーズンダンジョン開拓可能封鎖リストの取得に| +|C2S_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_OM_REQ|62|8|1|0x84215e|| +|S2C_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_OM_RES|62|8|2|0x7f75d0|OMに紐づいた封鎖ID取得に| +|C2S_SEASON_DUNGEON_GET_EX_REQUIRED_ITEM_REQ|62|9|1|0x83b343|| +|S2C_SEASON_DUNGEON_GET_EX_REQUIRED_ITEM_RES|62|9|2|0x7f7810|納品状況取得に| +|C2S_SEASON_DUNGEON_DELIVER_ITEM_FOR_EX_REQ|62|10|1|0x83ad13|| +|S2C_SEASON_DUNGEON_DELIVER_ITEM_FOR_EX_RES|62|10|2|0x7f7080|納品状況取得に| +|S2C_SEASON_62_13_16_NTC|62|13|16|0x7f81b0|None| +|S2C_SEASON_62_14_16_NTC|62|14|16|0x7f8350|None| +|S2C_SEASON_62_15_16_NTC|62|15|16|0x7f8630|None| +|S2C_SEASON_62_16_16_NTC|62|16|16|0x7f8c60|None| +|S2C_SEASON_62_17_16_NTC|62|17|16|0x7f8b80|None| +|C2S_SEASON_DUNGEON_GET_SOUL_ORDEAL_LIST_FROM_OM_REQ|62|18|1|0x8421ce|| +|S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_LIST_FROM_OM_RES|62|18|2|0x7f7a50|OMに紐づいた英霊の試練情報取得に| +|C2S_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_FOR_VIEW_REQ|62|19|1|0x84223e|| +|S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_FOR_VIEW_RES|62|19|2|0x7f7b00|試練の報酬りすと取得に| +|C2S_SEASON_DUNGEON_SOUL_ORDEAL_READY_REQ|62|20|1|0x83bf04|| +|S2C_SEASON_DUNGEON_SOUL_ORDEAL_READY_RES|62|20|2|0x7f87f0|英霊の試練準備に| +|C2S_SEASON_DUNGEON_SOUL_ORDEAL_CANCEL_READY_REQ|62|21|1|0x83bd53|| +|S2C_SEASON_DUNGEON_SOUL_ORDEAL_CANCEL_READY_RES|62|21|2|0x7f8550|英霊の試練準備キャンセルに| +|S2C_SEASON_62_22_16_NTC|62|22|16|0x7f8740|None| +|S2C_SEASON_62_23_16_NTC|62|23|16|0x7f88d0|None| +|C2S_SEASON_DUNGEON_EXECUTE_SOUL_ORDEAL_REQ|62|24|1|0x8420ee|| +|S2C_SEASON_DUNGEON_EXECUTE_SOUL_ORDEAL_RES|62|24|2|0x7f7330|英霊の試練起動に| +|C2S_SEASON_DUNGEON_INTERRUPT_SOUL_ORDEAL_REQ|62|25|1|0x83b853|| +|S2C_SEASON_DUNGEON_INTERRUPT_SOUL_ORDEAL_RES|62|25|2|0x7f7c60|英霊の試練中断に| +|S2C_SEASON_62_26_16_NTC|62|26|16|0x7f8970|None| +|S2C_SEASON_62_27_16_NTC|62|27|16|0x7f8a70|None| +|S2C_SEASON_62_28_16_NTC|62|28|16|0x7f7240|None| +|S2C_SEASON_62_29_16_NTC|62|29|16|0x7f7160|None| +|S2C_SEASON_62_30_16_NTC|62|30|16|0x7f8040|None| +|C2S_SEASON_DUNGEON_IS_UNLOCKED_KEY_POINT_DOOR_REQ|62|31|1||| +|S2C_SEASON_DUNGEON_IS_UNLOCKED_KEY_POINT_DOOR_RES|62|31|2|0x7f7d40|シーズンダンジョンキーポイント扉解放状況取得に| +|C2S_SEASON_DUNGEON_IS_UNLOCKED_SOUL_ORDEAL_DOOR_REQ|62|32|1||| +|S2C_SEASON_DUNGEON_IS_UNLOCKED_SOUL_ORDEAL_DOOR_RES|62|32|2|0x7f7e20|シーズンダンジョン英霊の試練扉解放状況取得に| +|C2S_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_REQ|62|33|1|0x8422be|| +|S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_RES|62|33|2|0x7f7bb0|シーズンダンジョン英霊の試練報酬取得に| +|C2S_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_REQ|62|34|1|0x8423be|| +|S2C_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_RES|62|34|2|0x7f82a0|シーズンダンジョン英霊の試練報酬取得に| +|C2S_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_BUFF_REQ|62|35|1|0x84232e|| +|S2C_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_BUFF_RES|62|35|2|0x7f81c0|シーズンダンジョン英霊の試練バフ取得に| +|C2S_SEASON_DUNGEON_UPDATE_KEY_POINT_DOOR_STATUS_REQ|62|36|1|0x84258e|| +|S2C_SEASON_DUNGEON_UPDATE_KEY_POINT_DOOR_STATUS_RES|62|36|2|0x7f8dc0|シーズンダンジョンキーポイント封鎖扉ステータス取得に| +|S2C_SEASON_62_37_16_NTC|62|37|16|0x7f7f00|None| +|S2C_SEASON_62_38_16_NTC|62|38|16|0x7f6ad0|None| +|S2C_SEASON_62_39_16_NTC|62|39|16|0x7f6e40|None| + + +### Group: 63 +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|S2C_63_0_16_NTC|63|0|16|0x7d1ae0|None| +|S2C_63_1_16_NTC|63|1|16|0x7d1b80|None| +|S2C_63_2_16_NTC|63|2|16|0x7d1be0|None| +|S2C_63_3_16_NTC|63|3|16|0x7d1f50|None| +|S2C_63_6_16_NTC|63|6|16|0x7d2150|None| +|S2C_63_7_16_NTC|63|7|16|0x7d2000|None| +|S2C_63_10_16_NTC|63|10|16|0x7d1e60|None| + + +### Group: 64 - (MANDRAGORA) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_MANDRAGORA_GET_MY_MANDRAGORA_REQ|64|0|1|0x830363|| +|S2C_MANDRAGORA_GET_MY_MANDRAGORA_RES|64|0|2|0x7e4dc0|所持マンドラゴラ取得| +|C2S_MANDRAGORA_CREATE_MY_MANDRAGORA_REQ|64|1|1|0x82fee3|| +|S2C_MANDRAGORA_CREATE_MY_MANDRAGORA_RES|64|1|2|0x7e46d0|マンドラゴラを作成| +|C2S_MANDRAGORA_CHANGE_SOIL_REQ|64|2|1|0x82fd13|| +|S2C_MANDRAGORA_CHANGE_SOIL_RES|64|2|2|0x7e44e0|土を変える| +|C2S_MANDRAGORA_GET_CRAFT_RECIPE_LIST_REQ|64|3|1|0x830193|| +|S2C_MANDRAGORA_GET_CRAFT_RECIPE_LIST_RES|64|3|2|0x7e4b50|生産レシピ取得| +|C2S_MANDRAGORA_BEGIN_CRAFT_REQ|64|4|1|0x841bee|| +|S2C_MANDRAGORA_BEGIN_CRAFT_RES|64|4|2|0x7e4250|育成開始| +|C2S_MANDRAGORA_CHANGE_GOLDEN_CRAFT_REQ|64|5|1|0x82fb13|| +|S2C_MANDRAGORA_CHANGE_GOLDEN_CRAFT_RES|64|5|2|0x7e4350|黄金石育成に変更| +|C2S_MANDRAGORA_GET_MANURE_ITEM_LIST_REQ|64|6|1|0x830283|| +|S2C_MANDRAGORA_GET_MANURE_ITEM_LIST_RES|64|6|2|0x7e4c50|肥料アイテムの確認| +|C2S_MANDRAGORA_FINISH_CRAFT_CHECK_REQ|64|7|1|0x82ffc3|| +|S2C_MANDRAGORA_FINISH_CRAFT_CHECK_RES|64|7|2|0x7e4900|育成完了確認| +|S2C_MANDRAGORA_64_7_16_NTC|64|7|16|0x7e47e0|None| +|C2S_MANDRAGORA_FINISH_ITEM_GET_REQ|64|8|1|0x8300a3|| +|S2C_MANDRAGORA_FINISH_ITEM_GET_RES|64|8|2|0x7e4a50|育成完了アイテム受け取り| +|C2S_MANDRAGORA_GET_SPECIES_LIST_REQ|64|9|1|0x8304e3|| +|S2C_MANDRAGORA_GET_SPECIES_LIST_RES|64|9|2|0x7e57e0|図鑑一覧取得に| +|C2S_MANDRAGORA_CHANGE_SPECIES_REQ|64|10|1|0x82fdf3|| +|S2C_MANDRAGORA_CHANGE_SPECIES_RES|64|10|2|0x7e45d0|見た目(種類)を変える| +|C2S_MANDRAGORA_CHANGE_NAME_REQ|64|11|1|0x82fc23|| +|S2C_MANDRAGORA_CHANGE_NAME_RES|64|11|2|0x7e43e0|名前を変える| +|C2S_MANDRAGORA_GET_SPECIES_CATEGORY_LIST_REQ|64|12|1|0x830423|| +|S2C_MANDRAGORA_GET_SPECIES_CATEGORY_LIST_RES|64|12|2|0x7e5630|図鑑カテゴリリスト再取得| + + +### Group: 65 - (EQUIP_ENHANCED) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|S2C_EQUIP_65_0_16_NTC|65|0|16|0x7d5220|None| +|C2S_EQUIP_ENHANCED_SUB_REQ|65|1|1||| +|S2C_EQUIP_ENHANCED_SUB_RES|65|1|2|0x7d5190|武器新化:サブ強化通知| +|C2S_EQUIP_ENHANCED_AWAKEN_REQ|65|2|1||| +|S2C_EQUIP_ENHANCED_AWAKEN_RES|65|2|2|0x7d4e70|武器新化:覚醒進化通知| +|C2S_EQUIP_ENHANCED_GET_PACKS_REQ|65|3|1|0x827eb3|| +|S2C_EQUIP_ENHANCED_GET_PACKS_RES|65|3|2|0x7d5030|進化パック取得| +|C2S_EQUIP_ENHANCED_ENHANCE_ITEM_REQ|65|4|1|0x840f3e|| +|S2C_EQUIP_ENHANCED_ENHANCE_ITEM_RES|65|4|2|0x7d4f00|進化リクエストの通知| + + +### Group: 66 - (JOB_EMBLEM) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_JOB_EMBLEM_GET_EMBLEM_LIST_REQ|66|0|1|0x82dd03|| +|S2C_JOB_EMBLEM_GET_EMBLEM_LIST_RES|66|0|2|0x7dffc0|全ジョブの証情報取得| +|C2S_JOB_EMBLEM_GET_EMBLEM_REQ|66|1|1||| +|S2C_JOB_EMBLEM_GET_EMBLEM_RES|66|1|2|0x7e0070|証情報取得| +|C2S_JOB_EMBLEM_UPDATE_LEVEL_REQ|66|2|1|0x82de93|| +|S2C_JOB_EMBLEM_UPDATE_LEVEL_RES|66|2|2|0x7e0240|ジョブの証レベルアップ| +|C2S_JOB_EMBLEM_UPDATE_PARAM_LEVEL_REQ|66|3|1|0x82df83|| +|S2C_JOB_EMBLEM_UPDATE_PARAM_LEVEL_RES|66|3|2|0x7e0330|ジョブの証パラメータアップ| +|C2S_JOB_EMBLEM_RESET_PARAM_LEVEL_REQ|66|4|1|0x84195e|| +|S2C_JOB_EMBLEM_RESET_PARAM_LEVEL_RES|66|4|2|0x7e00e0|ジョブの証パラメータリセット| +|C2S_JOB_EMBLEM_ATTACH_ELEMENT_REQ|66|5|1|0x8418ce|| +|S2C_JOB_EMBLEM_ATTACH_ELEMENT_RES|66|5|2|0x7dfdd0|ジョブの証クレスト継承| +|C2S_JOB_EMBLEM_DETTACH_ELEMENT_REQ|66|6|1|0x82dbf3|| +|S2C_JOB_EMBLEM_DETTACH_ELEMENT_RES|66|6|2|0x7dfec0|ジョブの証クレスト破棄| +|S2C_JOB_EMBLEM_66_7_16_NTC|66|7|16|0x7e0480|None| + + +### Group: 67 - (RECYCLE) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_RECYCLE_GET_INFO_REQ|67|0|1|0x83a6b3|| +|S2C_RECYCLE_GET_INFO_RES|67|0|2|0x7f64f0|None| +|C2S_RECYCLE_GET_LOT_FORECAST_REQ|67|1|1|0x83a793|| +|S2C_RECYCLE_GET_LOT_FORECAST_RES|67|1|2|0x7f65a0|リサイクル抽選予想取得| +|C2S_RECYCLE_START_EXCHANGE_REQ|67|2|1|0x83a953|| +|S2C_RECYCLE_START_EXCHANGE_RES|67|2|2|0x7f66e0|リサイクル開始| +|C2S_RECYCLE_RESET_COUNT_REQ|67|3|1|0x83a873|| +|S2C_RECYCLE_RESET_COUNT_RES|67|3|2|0x7f6650|リサイクル回数リセット| + + +### Group: 68 +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|S2C_68_0_1|68|0|1|0x7f6790|None| +|S2C_68_1_1|68|1|1|0x7f6920|None| + + +### Group: 69 - (PAWN) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_PAWN_SP_SKILL_GET_ACTIVE_SKILL_REQ|69|0|1|0x834793|| +|S2C_PAWN_SP_SKILL_GET_ACTIVE_SKILL_RES|69|0|2|0x7eca50|ポーン特技のセット情報の取得| +|C2S_PAWN_SP_SKILL_GET_STOCK_SKILL_REQ|69|1|1|0x834883|| +|S2C_PAWN_SP_SKILL_GET_STOCK_SKILL_RES|69|1|2|0x7ecc10|ストックにあるポーン特技を取得| +|C2S_PAWN_SP_SKILL_GET_MAX_SKILL_NUM_REQ|69|2|1||| +|S2C_PAWN_SP_SKILL_GET_MAX_SKILL_NUM_RES|69|2|2|0x7ecb70|スキル上限値を取得| +|C2S_PAWN_SP_SKILL_SET_ACTIVE_SKILL_REQ|69|3|1|0x841e7e|| +|S2C_PAWN_SP_SKILL_SET_ACTIVE_SKILL_RES|69|3|2|0x7ecf00|ポーン特技を設定する| +|C2S_PAWN_SP_SKILL_DELETE_STOCK_SKILL_REQ|69|4|1|0x841e0e|| +|S2C_PAWN_SP_SKILL_DELETE_STOCK_SKILL_RES|69|4|2|0x7ec9c0|ストックのポーン特技を削除する| +|S2C_PAWN_69_5_16_NTC|69|5|16|0x7ecd50|None| +|S2C_PAWN_69_6_16_NTC|69|6|16|0x7ec870|None| +|C2S_PAWN_SP_SKILL_USE_ITEM_REQ|69|7|1|0x834a33|| +|S2C_PAWN_SP_SKILL_USE_ITEM_RES|69|7|2|0x7ecf90|ポーン特技のアイテムを使う| + + +### Group: 70 - (ACTION) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_ACTION_SET_PLAYER_ACTION_HISTORY_REQ|70|0|1|0x81e1c3|| +|S2C_ACTION_SET_PLAYER_ACTION_HISTORY_RES|70|0|2|0x7c3840|プレイヤーの行動履歴の設定| + + +### Group: 71 - (BATTLE) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_BATTLE_71_0_1_REQ|71|0|1||| +|S2C_BATTLE_71_0_2_RES|71|0|2|0x7c52d0|None| +|C2S_BATTLE_CONTENT_REWARD_LIST_REQ|71|1|1|0x81f9c3|| +|S2C_BATTLE_CONTENT_REWARD_LIST_RES|71|1|2|0x7c5ee0|バトルコンテンツ:報酬リストを取得| +|C2S_BATTLE_CONTENT_GET_REWARD_REQ|71|2|1|0x81efd3|| +|S2C_BATTLE_CONTENT_GET_REWARD_RES|71|2|2|0x7c5190|バトルコンテンツ:報酬の取得| +|S2C_BATTLE_71_2_16_NTC|71|2|16|0x7c50d0|None| +|C2S_BATTLE_CONTENT_CONTENT_ENTRY_REQ|71|3|1|0x81eb63|| +|S2C_BATTLE_CONTENT_CONTENT_ENTRY_RES|71|3|2|0x7c4c50|コンテンツのエントリーに| +|S2C_BATTLE_71_3_16_NTC|71|3|16|0x7c4b70|None| +|C2S_BATTLE_CONTENT_CONTENT_FIRST_FHASE_CHANGE_REQ|71|4|1|0x81ec53|| +|S2C_BATTLE_CONTENT_CONTENT_FIRST_FHASE_CHANGE_RES|71|4|2|0x7c4d30|バトルコンテンツ最初のフェーズ変更| +|C2S_BATTLE_CONTENT_CONTENT_RESET_REQ|71|5|1|0x81ed43|| +|S2C_BATTLE_CONTENT_CONTENT_RESET_RES|71|5|2|0x7c4e80|バトルコンテンツ:リセット| +|S2C_BATTLE_71_5_16_NTC|71|5|16|0x7c4dc0|None| +|C2S_BATTLE_CONTENT_GET_CONTENT_STATUS_FROM_OM_REQ|71|6|1|0x84033e|| +|S2C_BATTLE_CONTENT_GET_CONTENT_STATUS_FROM_OM_RES|71|6|2|0x7c4f30|OMからのコンテンツ情報取得に| +|C2S_BATTLE_CONTENT_GET_PHASE_TO_CHANGE_FROM_OM_REQ|71|7|1|0x8403ae|| +|S2C_BATTLE_CONTENT_GET_PHASE_TO_CHANGE_FROM_OM_RES|71|7|2|0x7c4fe0|OMからのフェーズ情報取得に| +|C2S_BATTLE_CONTENT_PHASE_ENTRY_BEGIN_RECRUITMENT_REQ|71|8|1|0x84041e|| +|S2C_BATTLE_CONTENT_PHASE_ENTRY_BEGIN_RECRUITMENT_RES|71|8|2|0x7c5880|一斉ステージ移動待ち受け開始に| +|C2S_BATTLE_CONTENT_PHASE_ENTRY_GET_RECRUITMENT_STATE_REQ|71|9|1|0x81f643|| +|S2C_BATTLE_CONTENT_PHASE_ENTRY_GET_RECRUITMENT_STATE_RES|71|9|2|0x7c5a30|一斉ステージ移動待ち受け状態取得に| +|C2S_BATTLE_CONTENT_PHASE_ENTRY_READY_REQ|71|10|1|0x81f803|| +|S2C_BATTLE_CONTENT_PHASE_ENTRY_READY_RES|71|10|2|0x7c5c90|一斉ステージ移動準備に| +|S2C_BATTLE_71_10_16_NTC|71|10|16|0x7c5bc0|None| +|C2S_BATTLE_CONTENT_PHASE_ENTRY_READY_CANCEL_REQ|71|11|1|0x81f723|| +|S2C_BATTLE_CONTENT_PHASE_ENTRY_READY_CANCEL_RES|71|11|2|0x7c5ae0|一斉ステージ移動準備キャンセルに| +|S2C_BATTLE_71_12_16_NTC|71|12|16|0x7c5d70|None| +|S2C_BATTLE_71_13_16_NTC|71|13|16|0x7c5960|None| +|S2C_BATTLE_71_14_16_NTC|71|14|16|0x7c56b0|None| +|S2C_BATTLE_71_15_16_NTC|71|15|16|0x7c4ab0|None| +|C2S_BATTLE_CONTENT_RESET_INFO_REQ|71|16|1|0x81f8e3|| +|S2C_BATTLE_CONTENT_RESET_INFO_RES|71|16|2|0x7c5df0|バトルコンテンツ:リセット情報の取得| +|C2S_BATTLE_CONTENT_INSTANT_CLEAR_INFO_REQ|71|17|1|0x81f173|| +|S2C_BATTLE_CONTENT_INSTANT_CLEAR_INFO_RES|71|17|2|0x7c52e0|バトルコンテンツ即時クリア情報取得| +|C2S_BATTLE_CONTENT_CHARACTER_INFO_REQ|71|18|1|0x81ea83|| +|S2C_BATTLE_CONTENT_CHARACTER_INFO_RES|71|18|2|0x7c4930|バトルコンテンツ:進行情報の取得| +|S2C_BATTLE_71_19_16_NTC|71|19|16|0x7c49d0|None| +|C2S_BATTLE_CONTENT_PARTY_MEMBER_INFO_REQ|71|20|1|0x81f363|| +|S2C_BATTLE_CONTENT_PARTY_MEMBER_INFO_RES|71|20|2|0x7c5460|パーティメンバのバトルコンテンツ情報を取得| +|C2S_BATTLE_CONTENT_PARTY_MEMBER_INFO_UPDATE_REQ|71|21|1|0x81f453|| +|S2C_BATTLE_CONTENT_PARTY_MEMBER_INFO_UPDATE_RES|71|21|2|0x7c5620|特定のパーティメンバーのバトルコンテンツ情報更新| +|S2C_BATTLE_71_21_16_NTC|71|21|16|0x7c5550|None| +|C2S_BATTLE_CONTENT_INFO_LIST_REQ|71|22|1|0x81f0b3|| +|S2C_BATTLE_CONTENT_INFO_LIST_RES|71|22|2|0x7c5220|バトルコンテンツ情報を取得| +|C2S_BATTLE_CONTENT_INSTANT_COMPLETE_REQ|71|23|1|0x81f253|| +|S2C_BATTLE_CONTENT_INSTANT_COMPLETE_RES|71|23|2|0x7c53d0|バトルコンテンツ即時クリア| + + +### Group: 72 - (DAILY) +|Name|GroupID|ID|Sub ID|Code Address|Comment| +|---|---|---|---|---|---| +|C2S_DAILY_MISSION_LIST_GET_REQ|72|0|1|0x826133|| +|S2C_DAILY_MISSION_LIST_GET_RES|72|0|2|0x7d1950|デイリーミッションのリストの取得に| +|S2C_DAILY_72_1_16_NTC|72|1|16|0x7d1760|None| +|C2S_DAILY_MISSION_REWARD_RECEIVE_REQ|72|2|1|0x8261f3|| +|S2C_DAILY_MISSION_REWARD_RECEIVE_RES|72|2|2|0x7d1a50|デイリーミッションの報酬受け取りに| +|C2S_DAILY_MISSION_EVENT_LIST_GET_REQ|72|3|1|0x826053|| +|S2C_DAILY_MISSION_EVENT_LIST_GET_RES|72|3|2|0x7d18b0|デイリーミッション:期間イベントのリストの取得に| \ No newline at end of file diff --git a/research/ddon_game_packet_handler_dump_notated.json b/research/ddon_game_packet_handler_dump_notated.json new file mode 100644 index 000000000..293a2c891 --- /dev/null +++ b/research/ddon_game_packet_handler_dump_notated.json @@ -0,0 +1,13054 @@ +[ + { + "Count": 12, + "EntriesAddr": 34782024, + "GroupID": 0, + "GroupName": "CONNECTION", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8186432, + "HandlerComment": "PING に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_PING_RES", + "ID": 0, + "PacketName": "S2C_CONNECTION_PING_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8184976, + "HandlerComment": "ログインに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_LOGIN_RES", + "ID": 1, + "PacketName": "S2C_CONNECTION_LOGIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8185280, + "HandlerComment": "ログアウトに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_LOGOUT_RES", + "ID": 2, + "PacketName": "S2C_CONNECTION_LOGOUT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8184384, + "HandlerComment": "ログインお知らせメッセージの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_GET_LOGIN_ANNOUNCEMENT_RES", + "ID": 3, + "PacketName": "S2C_CONNECTION_GET_LOGIN_ANNOUNCEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8184624, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_0_4_16", + "ID": 4, + "PacketName": "S2C_CONNECTION_0_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8185440, + "HandlerComment": "サーバー移動(入る)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_MOVE_IN_SERVER_RES", + "ID": 5, + "PacketName": "S2C_CONNECTION_MOVE_IN_SERVER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8185632, + "HandlerComment": "サーバー移動(出る)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_MOVE_OUT_SERVER_RES", + "ID": 6, + "PacketName": "S2C_CONNECTION_MOVE_OUT_SERVER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8186576, + "HandlerComment": "他サーバーのロビーの部屋予約に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_RESERVE_SERVER_RES", + "ID": 7, + "PacketName": "S2C_CONNECTION_RESERVE_SERVER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8183632, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_0_9_16", + "ID": 9, + "PacketName": "S2C_CONNECTION_0_9_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8186880, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_0_10_16", + "ID": 10, + "PacketName": "S2C_CONNECTION_0_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8184032, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_0_11_16", + "ID": 11, + "PacketName": "S2C_CONNECTION_0_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8185936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONNECTION_0_12_16", + "ID": 12, + "PacketName": "S2C_CONNECTION_0_12_16", + "SubID": 16 + } + ] + }, + { + "Count": 14, + "EntriesAddr": 34796904, + "GroupID": 1, + "GroupName": "SERVER", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8361792, + "HandlerComment": "サーバーリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_GET_SERVER_LIST_RES", + "ID": 0, + "PacketName": "S2C_SERVER_GET_SERVER_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8360048, + "HandlerComment": "ゲーム設定の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_GET_GAME_SETTING_RES", + "ID": 1, + "PacketName": "S2C_SERVER_GET_GAME_SETTING_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8362016, + "HandlerComment": "ワールド情報の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_GET_WORLD_INFO_RES", + "ID": 2, + "PacketName": "S2C_SERVER_GET_WORLD_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8361408, + "HandlerComment": "サーバー時間の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_GET_REAL_TIME_RES", + "ID": 4, + "PacketName": "S2C_SERVER_GET_REAL_TIME_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8362432, + "HandlerComment": "報告サイトURL取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_REPORT_SITE_GET_ADDRESS_RES", + "ID": 5, + "PacketName": "S2C_SERVER_REPORT_SITE_GET_ADDRESS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8363152, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_1_6_2", + "ID": 6, + "PacketName": "S2C_SERVER_1_6_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8363344, + "HandlerComment": "天気予報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_WEATHER_FORECAST_GET_RES", + "ID": 7, + "PacketName": "S2C_SERVER_WEATHER_FORECAST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8359728, + "HandlerComment": "ゲーム内時間、天候、月齢の基本情報取得の結果", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_GAME_TIME_GET_BASEINFO_RES", + "ID": 8, + "PacketName": "S2C_SERVER_GAME_TIME_GET_BASEINFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8361616, + "HandlerComment": "スクリーンショットカテゴリの取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_GET_SCREEN_SHOT_CATEGORY_RES", + "ID": 9, + "PacketName": "S2C_SERVER_GET_SCREEN_SHOT_CATEGORY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8362672, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_1_10_16", + "ID": 10, + "PacketName": "S2C_SERVER_1_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8363712, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_1_11_16", + "ID": 11, + "PacketName": "S2C_SERVER_1_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8359584, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_1_12_16", + "ID": 12, + "PacketName": "S2C_SERVER_1_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8363520, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_1_13_16", + "ID": 13, + "PacketName": "S2C_SERVER_1_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8362208, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_1_14_16", + "ID": 14, + "PacketName": "S2C_SERVER_1_14_16", + "SubID": 16 + } + ] + }, + { + "Count": 36, + "EntriesAddr": 34779384, + "GroupID": 2, + "GroupName": "CHARACTER", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8159008, + "HandlerComment": "キャラクター確定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_DECIDE_CHARACTER_ID_RES", + "ID": 0, + "PacketName": "S2C_CHARACTER_DECIDE_CHARACTER_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8165616, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_1_1", + "ID": 1, + "PacketName": "S2C_CHARACTER_2_1_1", + "SubID": 1 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8157312, + "HandlerComment": "キャラクター検索に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_CHARACTER_SEARCH_RES", + "ID": 2, + "PacketName": "S2C_CHARACTER_CHARACTER_SEARCH_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8156000, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_3_16", + "ID": 3, + "PacketName": "S2C_CHARACTER_2_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8157552, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_4_16", + "ID": 4, + "PacketName": "S2C_CHARACTER_2_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8157040, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_5_16", + "ID": 5, + "PacketName": "S2C_CHARACTER_2_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8156160, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_6_16", + "ID": 6, + "PacketName": "S2C_CHARACTER_2_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8158624, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_7_16", + "ID": 7, + "PacketName": "S2C_CHARACTER_2_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8163232, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_8_16", + "ID": 8, + "PacketName": "S2C_CHARACTER_2_8_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8164080, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_9_16", + "ID": 9, + "PacketName": "S2C_CHARACTER_2_9_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8163856, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_10_16", + "ID": 10, + "PacketName": "S2C_CHARACTER_2_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8163728, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_11_16", + "ID": 11, + "PacketName": "S2C_CHARACTER_2_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8157936, + "HandlerComment": "コミュニティキャラクターステータス取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_RES", + "ID": 12, + "PacketName": "S2C_CHARACTER_COMMUNITY_CHARACTER_STATUS_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8156832, + "HandlerComment": "キャラクタ復活(復活力消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_CHARACTER_POINT_REVIVE_RES", + "ID": 16, + "PacketName": "S2C_CHARACTER_CHARACTER_POINT_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8156416, + "HandlerComment": "キャラクタ復活(黄金石消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_CHARACTER_GOLDEN_REVIVE_RES", + "ID": 17, + "PacketName": "S2C_CHARACTER_CHARACTER_GOLDEN_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8156640, + "HandlerComment": "キャラクタ復活(デスペナ付与)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_CHARACTER_PENALTY_REVIVE_RES", + "ID": 18, + "PacketName": "S2C_CHARACTER_CHARACTER_PENALTY_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8166256, + "HandlerComment": "ポーン復活(復活力消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_PAWN_POINT_REVIVE_RES", + "ID": 22, + "PacketName": "S2C_CHARACTER_PAWN_POINT_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8166016, + "HandlerComment": "ポーン復活(黄金石消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_PAWN_GOLDEN_REVIVE_RES", + "ID": 23, + "PacketName": "S2C_CHARACTER_PAWN_GOLDEN_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8165648, + "HandlerComment": "復活力チャージ可能時間取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_GET_REVIVE_CHARGEABLE_TIME_RES", + "ID": 24, + "PacketName": "S2C_CHARACTER_GET_REVIVE_CHARGEABLE_TIME_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8157760, + "HandlerComment": "復活力チャージに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_CHARGE_REVIVE_POINT_RES", + "ID": 25, + "PacketName": "S2C_CHARACTER_CHARGE_REVIVE_POINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8165840, + "HandlerComment": "復活力取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_GET_REVIVE_POINT_RES", + "ID": 26, + "PacketName": "S2C_CHARACTER_GET_REVIVE_POINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8167264, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_27_16", + "ID": 27, + "PacketName": "S2C_CHARACTER_2_27_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8162976, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_28_16", + "ID": 28, + "PacketName": "S2C_CHARACTER_2_28_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8167568, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_29_16", + "ID": 29, + "PacketName": "S2C_CHARACTER_2_29_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8163136, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_30_16", + "ID": 30, + "PacketName": "S2C_CHARACTER_2_30_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8166736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_31_16", + "ID": 31, + "PacketName": "S2C_CHARACTER_2_31_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8162704, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_32_16", + "ID": 32, + "PacketName": "S2C_CHARACTER_2_32_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8167168, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_33_16", + "ID": 33, + "PacketName": "S2C_CHARACTER_2_33_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8162880, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_34_16", + "ID": 34, + "PacketName": "S2C_CHARACTER_2_34_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8157216, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_35_16", + "ID": 35, + "PacketName": "S2C_CHARACTER_2_35_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8166480, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_36_16", + "ID": 36, + "PacketName": "S2C_CHARACTER_2_36_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8168096, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_37_16", + "ID": 37, + "PacketName": "S2C_CHARACTER_2_37_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8166576, + "HandlerComment": "オンラインステータス設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_SET_ONLINE_STATUS_RES", + "ID": 38, + "PacketName": "S2C_CHARACTER_SET_ONLINE_STATUS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8167920, + "HandlerComment": "ゲームモードのスイッチ要求", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_SWITCH_GAME_MODE_RES", + "ID": 39, + "PacketName": "S2C_CHARACTER_SWITCH_GAME_MODE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8167664, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_2_39_16", + "ID": 39, + "PacketName": "S2C_CHARACTER_2_39_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8158720, + "HandlerComment": "モードキャラ作成", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_CREATE_MODE_CHARACTER_EDIT_PARAM_RES", + "ID": 40, + "PacketName": "S2C_CHARACTER_CREATE_MODE_CHARACTER_EDIT_PARAM_RES", + "SubID": 2 + } + ] + }, + { + "Count": 5, + "EntriesAddr": 34789152, + "GroupID": 3, + "GroupName": "LOBBY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8269024, + "HandlerComment": "ロビーの入室に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_LOBBY_LOBBY_JOIN_RES", + "ID": 0, + "PacketName": "S2C_LOBBY_LOBBY_JOIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8269312, + "HandlerComment": "ロビーの退室に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_LOBBY_LOBBY_LEAVE_RES", + "ID": 1, + "PacketName": "S2C_LOBBY_LOBBY_LEAVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8268352, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_LOBBY_LOBBY_CHAT_MSG_RES", + "ID": 2, + "PacketName": "S2C_LOBBY_LOBBY_CHAT_MSG_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8268208, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_LOBBY_3_2_16", + "ID": 2, + "PacketName": "S2C_LOBBY_3_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8268496, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_LOBBY_3_4_16", + "ID": 4, + "PacketName": "S2C_LOBBY_3_4_16", + "SubID": 16 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34780464, + "GroupID": 4, + "GroupName": "CHAT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8168496, + "HandlerComment": "個人チャット発言に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHAT_SEND_TELL_MSG_RES", + "ID": 0, + "PacketName": "S2C_CHAT_SEND_TELL_MSG_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8168224, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHAT_4_0_16", + "ID": 0, + "PacketName": "S2C_CHAT_4_0_16", + "SubID": 16 + } + ] + }, + { + "Count": 4, + "EntriesAddr": 34799064, + "GroupID": 5, + "GroupName": "USER", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8381744, + "HandlerComment": "ユーザーリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_USER_LIST_GET_USER_LIST_RES", + "ID": 0, + "PacketName": "S2C_USER_LIST_GET_USER_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8382592, + "HandlerComment": "ユーザーリストの最大人数指定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_USER_LIST_USER_LIST_MAX_NUM_RES", + "ID": 1, + "PacketName": "S2C_USER_LIST_USER_LIST_MAX_NUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8381920, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_USER_5_2_16", + "ID": 2, + "PacketName": "S2C_USER_5_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8382368, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_USER_5_3_16", + "ID": 3, + "PacketName": "S2C_USER_5_3_16", + "SubID": 16 + } + ] + }, + { + "Count": 36, + "EntriesAddr": 34790304, + "GroupID": 6, + "GroupName": "PARTY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8288144, + "HandlerComment": "パーティ作成に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_CREATE_RES", + "ID": 0, + "PacketName": "S2C_PARTY_PARTY_CREATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8292288, + "HandlerComment": "パーティ要請(要請側)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_RES", + "ID": 1, + "PacketName": "S2C_PARTY_PARTY_INVITE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8291824, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_1_16", + "ID": 1, + "PacketName": "S2C_PARTY_6_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8289120, + "HandlerComment": "パーティ要請(キャラ)(要請側)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_CHARACTER_RES", + "ID": 2, + "PacketName": "S2C_PARTY_PARTY_INVITE_CHARACTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8288976, + "HandlerComment": "パーティ要請キャンセル(要請側)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_CANCEL_RES", + "ID": 3, + "PacketName": "S2C_PARTY_PARTY_INVITE_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8288800, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_3_16", + "ID": 3, + "PacketName": "S2C_PARTY_6_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8292144, + "HandlerComment": "パーティ要請拒否(要請受ける側)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_REFUSE_RES", + "ID": 4, + "PacketName": "S2C_PARTY_PARTY_INVITE_REFUSE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8292000, + "HandlerComment": "パーティ要請受諾(要請受ける側)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_PREPARE_ACCEPT_RES", + "ID": 5, + "PacketName": "S2C_PARTY_PARTY_INVITE_PREPARE_ACCEPT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8291936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_5_16", + "ID": 5, + "PacketName": "S2C_PARTY_6_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8289904, + "HandlerComment": "要請受諾エントリーに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_ENTRY_RES", + "ID": 6, + "PacketName": "S2C_PARTY_PARTY_INVITE_ENTRY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8289760, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_6_16", + "ID": 6, + "PacketName": "S2C_PARTY_6_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8289616, + "HandlerComment": "要請受諾エントリーキャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_INVITE_ENTRY_CANCEL_RES", + "ID": 7, + "PacketName": "S2C_PARTY_PARTY_INVITE_ENTRY_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8289376, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_7_16", + "ID": 7, + "PacketName": "S2C_PARTY_6_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8293152, + "HandlerComment": "パーティ参加に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_JOIN_RES", + "ID": 8, + "PacketName": "S2C_PARTY_PARTY_JOIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8292912, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_8_16", + "ID": 8, + "PacketName": "S2C_PARTY_6_8_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8288304, + "HandlerComment": "パーティコンテンツ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_GET_CONTENT_NUMBER_RES", + "ID": 9, + "PacketName": "S2C_PARTY_PARTY_GET_CONTENT_NUMBER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8294192, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_10_2", + "ID": 10, + "PacketName": "S2C_PARTY_6_10_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8293968, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_10_16", + "ID": 10, + "PacketName": "S2C_PARTY_6_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8294880, + "HandlerComment": "パーティメンバーキックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_MEMBER_KICK_RES", + "ID": 11, + "PacketName": "S2C_PARTY_PARTY_MEMBER_KICK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8294672, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_11_16", + "ID": 11, + "PacketName": "S2C_PARTY_6_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8286752, + "HandlerComment": "パーティ解散に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_BREAKUP_RES", + "ID": 12, + "PacketName": "S2C_PARTY_PARTY_BREAKUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8286672, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_12_16", + "ID": 12, + "PacketName": "S2C_PARTY_6_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8287792, + "HandlerComment": "パーティリーダー変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_CHANGE_LEADER_RES", + "ID": 13, + "PacketName": "S2C_PARTY_PARTY_CHANGE_LEADER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8287600, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_13_16", + "ID": 13, + "PacketName": "S2C_PARTY_6_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8296128, + "HandlerComment": "パーティ検索に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_SEARCH_RES", + "ID": 14, + "PacketName": "S2C_PARTY_PARTY_SEARCH_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8295872, + "HandlerComment": "パーティメンバー汎用フラグ操作に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_PARTY_MEMBER_SET_VALUE_RES", + "ID": 15, + "PacketName": "S2C_PARTY_PARTY_MEMBER_SET_VALUE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8295680, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_15_16", + "ID": 15, + "PacketName": "S2C_PARTY_6_15_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8290048, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_16_16", + "ID": 16, + "PacketName": "S2C_PARTY_6_16_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8292480, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_17_16", + "ID": 17, + "PacketName": "S2C_PARTY_6_17_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8288464, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_18_16", + "ID": 18, + "PacketName": "S2C_PARTY_6_18_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8290224, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_19_16", + "ID": 19, + "PacketName": "S2C_PARTY_6_19_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8295536, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_20_16", + "ID": 20, + "PacketName": "S2C_PARTY_6_20_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8295168, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_21_16", + "ID": 21, + "PacketName": "S2C_PARTY_6_21_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8286896, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_22_16", + "ID": 22, + "PacketName": "S2C_PARTY_6_22_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8296352, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_24_16", + "ID": 24, + "PacketName": "S2C_PARTY_6_24_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8296576, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTY_6_26_16", + "ID": 26, + "PacketName": "S2C_PARTY_6_26_16", + "SubID": 16 + } + ] + }, + { + "Count": 9, + "EntriesAddr": 34796520, + "GroupID": 7, + "GroupName": "QUICK", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8347552, + "HandlerComment": "クイックパーティ登録要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_PARTY_REGISTER_RES", + "ID": 0, + "PacketName": "S2C_QUICK_PARTY_REGISTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8346992, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_7_0_16", + "ID": 0, + "PacketName": "S2C_QUICK_7_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8347392, + "HandlerComment": "クイックパーティクエスト用登録要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_PARTY_REGISTER_QUEST_RES", + "ID": 1, + "PacketName": "S2C_QUICK_PARTY_REGISTER_QUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8347296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_7_1_16", + "ID": 1, + "PacketName": "S2C_QUICK_7_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8346672, + "HandlerComment": "クイックパーティエントリー要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_PARTY_ENTRY_RES", + "ID": 3, + "PacketName": "S2C_QUICK_PARTY_ENTRY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8346576, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_7_3_16", + "ID": 3, + "PacketName": "S2C_QUICK_7_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8346304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_7_5_16", + "ID": 5, + "PacketName": "S2C_QUICK_7_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8346816, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_7_6_16", + "ID": 6, + "PacketName": "S2C_QUICK_7_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8347696, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUICK_7_7_16", + "ID": 7, + "PacketName": "S2C_QUICK_7_7_16", + "SubID": 16 + } + ] + }, + { + "Count": 48, + "EntriesAddr": 34791168, + "GroupID": 8, + "GroupName": "PAWN", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8296800, + "HandlerComment": "マイポーン作成に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_CREATE_MYPAWN_RES", + "ID": 0, + "PacketName": "S2C_PAWN_CREATE_MYPAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8297072, + "HandlerComment": "マイポーン削除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_DELETE_MYPAWN_RES", + "ID": 1, + "PacketName": "S2C_PAWN_DELETE_MYPAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8301440, + "HandlerComment": "マイポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_MYPAWN_LIST_RES", + "ID": 2, + "PacketName": "S2C_PAWN_GET_MYPAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8301008, + "HandlerComment": "マイポーンデータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_MYPAWN_DATA_RES", + "ID": 3, + "PacketName": "S2C_PAWN_GET_MYPAWN_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8304880, + "HandlerComment": "登録されてるポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_REGISTERED_PAWN_LIST_RES", + "ID": 4, + "PacketName": "S2C_PAWN_GET_REGISTERED_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8304624, + "HandlerComment": "登録されてるポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_RES", + "ID": 5, + "PacketName": "S2C_PAWN_GET_REGISTERED_PAWN_LIST_BY_CHARACTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8304352, + "HandlerComment": "登録されてるポーンデータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_REGISTERED_PAWN_DATA_RES", + "ID": 6, + "PacketName": "S2C_PAWN_GET_REGISTERED_PAWN_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8308384, + "HandlerComment": "ポーンレンタル要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_RENT_REGISTERED_PAWN_RES", + "ID": 7, + "PacketName": "S2C_PAWN_RENT_REGISTERED_PAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8305408, + "HandlerComment": "レンタルポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_RENTED_PAWN_LIST_RES", + "ID": 8, + "PacketName": "S2C_PAWN_GET_RENTED_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8305136, + "HandlerComment": "レンタルポーンデータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_RENTED_PAWN_DATA_RES", + "ID": 9, + "PacketName": "S2C_PAWN_GET_RENTED_PAWN_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8308560, + "HandlerComment": "ポーン返却に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_RETURN_RENTED_PAWN_RES", + "ID": 10, + "PacketName": "S2C_PAWN_RETURN_RENTED_PAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8302288, + "HandlerComment": "パーティ内のポーンデータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_PARTY_PAWN_DATA_RES", + "ID": 11, + "PacketName": "S2C_PAWN_GET_PARTY_PAWN_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8305984, + "HandlerComment": "マイポーンのパーティー参加に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_JOIN_PARTY_MYPAWN_RES", + "ID": 12, + "PacketName": "S2C_PAWN_JOIN_PARTY_MYPAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8305664, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_12_16", + "ID": 12, + "PacketName": "S2C_PAWN_8_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8306592, + "HandlerComment": "レンタルポーンのパーティー参加に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_JOIN_PARTY_RENTED_PAWN_RES", + "ID": 13, + "PacketName": "S2C_PAWN_JOIN_PARTY_RENTED_PAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8300064, + "HandlerComment": "お気に入りポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_FAVORITE_PAWN_LIST_RES", + "ID": 14, + "PacketName": "S2C_PAWN_GET_FAVORITE_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8308704, + "HandlerComment": "お気に入りポーン登録に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SET_FAVORITE_PAWN_RES", + "ID": 15, + "PacketName": "S2C_PAWN_SET_FAVORITE_PAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8296928, + "HandlerComment": "お気に入りポーン抹消に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_DELETE_FAVORITE_PAWN_RES", + "ID": 16, + "PacketName": "S2C_PAWN_DELETE_FAVORITE_PAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8302032, + "HandlerComment": "公式ポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_OFFICIAL_PAWN_LIST_RES", + "ID": 17, + "PacketName": "S2C_PAWN_GET_OFFICIAL_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8300400, + "HandlerComment": "レジェンドポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_LEGEND_PAWN_LIST_RES", + "ID": 18, + "PacketName": "S2C_PAWN_GET_LEGEND_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8307856, + "HandlerComment": "ポーンロストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_PAWN_LOST_RES", + "ID": 19, + "PacketName": "S2C_PAWN_PAWN_LOST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8307440, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_19_16", + "ID": 19, + "PacketName": "S2C_PAWN_8_19_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8300656, + "HandlerComment": "ロストポーンポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_LOST_PAWN_LIST_RES", + "ID": 20, + "PacketName": "S2C_PAWN_GET_LOST_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8307104, + "HandlerComment": "ロストポーン復活に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_LOST_PAWN_REVIVE_RES", + "ID": 21, + "PacketName": "S2C_PAWN_LOST_PAWN_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8306928, + "HandlerComment": "ロストポーン復活(復活力消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_LOST_PAWN_POINT_REVIVE_RES", + "ID": 22, + "PacketName": "S2C_PAWN_LOST_PAWN_POINT_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8306736, + "HandlerComment": "ロストポーン復活(黄金石消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_LOST_PAWN_GOLDEN_REVIVE_RES", + "ID": 23, + "PacketName": "S2C_PAWN_LOST_PAWN_GOLDEN_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8307264, + "HandlerComment": "ロストポーン復活(通貨消費)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_LOST_PAWN_WALLET_REVIVE_RES", + "ID": 24, + "PacketName": "S2C_PAWN_LOST_PAWN_WALLET_REVIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8308192, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_25_2", + "ID": 25, + "PacketName": "S2C_PAWN_8_25_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8308064, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_25_16", + "ID": 25, + "PacketName": "S2C_PAWN_8_25_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8313424, + "HandlerComment": "ポーンリアクションリスト更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_UPDATE_PAWN_REACTION_LIST_RES", + "ID": 26, + "PacketName": "S2C_PAWN_UPDATE_PAWN_REACTION_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8313152, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_26_16", + "ID": 26, + "PacketName": "S2C_PAWN_8_26_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8313664, + "HandlerComment": "ポーン公開設定更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_UPDATE_PAWN_SHARE_RANGE_RES", + "ID": 27, + "PacketName": "S2C_PAWN_UPDATE_PAWN_SHARE_RANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8303040, + "HandlerComment": "ポーンレンタル履歴リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_PAWN_HISTORY_LIST_RES", + "ID": 28, + "PacketName": "S2C_PAWN_GET_PAWN_HISTORY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8304176, + "HandlerComment": "ポーン総合評価取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_PAWN_TOTAL_SCORE_RES", + "ID": 29, + "PacketName": "S2C_PAWN_GET_PAWN_TOTAL_SCORE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8301776, + "HandlerComment": "野良ポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_NORA_PAWN_LIST_RES", + "ID": 30, + "PacketName": "S2C_PAWN_GET_NORA_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8300224, + "HandlerComment": "購入済みポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_FREE_RENTAL_PAWN_LIST_RES", + "ID": 31, + "PacketName": "S2C_PAWN_GET_FREE_RENTAL_PAWN_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8301584, + "HandlerComment": "野良ポーンデータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_GET_NORA_PAWN_DATA_RES", + "ID": 32, + "PacketName": "S2C_PAWN_GET_NORA_PAWN_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8303728, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_33_16", + "ID": 33, + "PacketName": "S2C_PAWN_8_33_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8302528, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_34_16", + "ID": 34, + "PacketName": "S2C_PAWN_8_34_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8303888, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_35_16", + "ID": 35, + "PacketName": "S2C_PAWN_8_35_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8303296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_36_16", + "ID": 36, + "PacketName": "S2C_PAWN_8_36_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8306352, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_37_16", + "ID": 37, + "PacketName": "S2C_PAWN_8_37_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8313824, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_38_16", + "ID": 38, + "PacketName": "S2C_PAWN_8_38_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8299696, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_39_16", + "ID": 39, + "PacketName": "S2C_PAWN_8_39_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8299184, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_40_16", + "ID": 40, + "PacketName": "S2C_PAWN_8_40_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8299296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_8_41_16", + "ID": 41, + "PacketName": "S2C_PAWN_8_41_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8299408, + "HandlerComment": "特殊ポーンの一括レンタル", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXTRA_JOIN_PARTY_RES", + "ID": 42, + "PacketName": "S2C_PAWN_EXTRA_JOIN_PARTY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8299552, + "HandlerComment": "特殊ポーンの一括離脱", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXTRA_LEAVE_PARTY_RES", + "ID": 43, + "PacketName": "S2C_PAWN_EXTRA_LEAVE_PARTY_RES", + "SubID": 2 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34779120, + "GroupID": 9, + "GroupName": "BINARY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8153312, + "HandlerComment": "キャラクターバイナリ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BINARY_SAVE_GET_CHARACTER_BIN_SAVEDATA_RES", + "ID": 0, + "PacketName": "S2C_BINARY_SAVE_GET_CHARACTER_BIN_SAVEDATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8153600, + "HandlerComment": "キャラクターバイナリ情報セットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BINARY_SAVE_SET_CHARACTER_BIN_SAVEDATA_RES", + "ID": 1, + "PacketName": "S2C_BINARY_SAVE_SET_CHARACTER_BIN_SAVEDATA_RES", + "SubID": 2 + } + ] + }, + { + "Count": 27, + "EntriesAddr": 34787544, + "GroupID": 10, + "GroupName": "ITEM", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8250416, + "HandlerComment": "所持アイテム使用に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_USE_BAG_ITEM_RES", + "ID": 0, + "PacketName": "S2C_ITEM_USE_BAG_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8250288, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_10_0_16", + "ID": 0, + "PacketName": "S2C_ITEM_10_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8250544, + "HandlerComment": "ジョブ専用アイテム使用(複数スロット)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_USE_JOB_ITEMS_RES", + "ID": 1, + "PacketName": "S2C_ITEM_USE_JOB_ITEMS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8247024, + "HandlerComment": "指定倉庫のキャッシュリクエストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_LOAD_STORAGE_ITEM_RES", + "ID": 2, + "PacketName": "S2C_ITEM_LOAD_STORAGE_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8246592, + "HandlerComment": "倉庫アイテムリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_STORAGE_ITEM_LIST_RES", + "ID": 3, + "PacketName": "S2C_ITEM_GET_STORAGE_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8245536, + "HandlerComment": "指定アイテム所持状態の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_ITEM_STORE_LIST_RES", + "ID": 4, + "PacketName": "S2C_ITEM_GET_ITEM_STORE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8242896, + "HandlerComment": "倉庫アイテム消費に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_CONSUME_STORAGE_ITEM_RES", + "ID": 5, + "PacketName": "S2C_ITEM_CONSUME_STORAGE_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8245872, + "HandlerComment": "宅配アイテムリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_POST_ITEM_LIST_RES", + "ID": 6, + "PacketName": "S2C_ITEM_GET_POST_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8247168, + "HandlerComment": "アイテム移動に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_MOVE_ITEM_RES", + "ID": 7, + "PacketName": "S2C_ITEM_MOVE_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8247456, + "HandlerComment": "アイテム売却に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_SELL_ITEM_RES", + "ID": 8, + "PacketName": "S2C_ITEM_SELL_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8245360, + "HandlerComment": "アイテムストレージ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_ITEM_STORAGE_INFO_RES", + "ID": 9, + "PacketName": "S2C_ITEM_GET_ITEM_STORAGE_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8243920, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_10_10_16", + "ID": 10, + "PacketName": "S2C_ITEM_10_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8243760, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_10_11_16", + "ID": 11, + "PacketName": "S2C_ITEM_10_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8248704, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_10_12_16", + "ID": 12, + "PacketName": "S2C_ITEM_10_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8248512, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_10_13_16", + "ID": 13, + "PacketName": "S2C_ITEM_10_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8249952, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_10_14_16", + "ID": 14, + "PacketName": "S2C_ITEM_10_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8245744, + "HandlerComment": "代価", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_PAY_COST_RES", + "ID": 15, + "PacketName": "S2C_ITEM_GET_PAY_COST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8246848, + "HandlerComment": "落し物リスト取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_VALUABLE_ITEM_LIST_RES", + "ID": 16, + "PacketName": "S2C_ITEM_GET_VALUABLE_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8247312, + "HandlerComment": "落し物の再取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_RECOVERY_VALUABLE_ITEM_RES", + "ID": 17, + "PacketName": "S2C_ITEM_RECOVERY_VALUABLE_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8245088, + "HandlerComment": "アイテムストレージカスタム設定取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_ITEM_STORAGE_CUSTOM_RES", + "ID": 18, + "PacketName": "S2C_ITEM_GET_ITEM_STORAGE_CUSTOM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8249808, + "HandlerComment": "アイテムストレージカスタム設定更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_UPDATE_ITEM_STORAGE_CUSTOM_RES", + "ID": 19, + "PacketName": "S2C_ITEM_UPDATE_ITEM_STORAGE_CUSTOM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8244912, + "HandlerComment": "EQUIP_RARE_TYPE対象のアイテムリストの取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_EQUIP_RARE_TYPE_ITEMS_RES", + "ID": 20, + "PacketName": "S2C_ITEM_GET_EQUIP_RARE_TYPE_ITEMS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8242752, + "HandlerComment": "アイテム破棄売却フラグ変更完了", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_CHANGE_ATTR_DISCARD_RES", + "ID": 21, + "PacketName": "S2C_ITEM_CHANGE_ATTR_DISCARD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8244432, + "HandlerComment": "指定ストレージ(デフォルト:レスタニア側)の空き枠数取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_DEFAULT_STORAGE_EMPTY_SLOT_NUM_RES", + "ID": 22, + "PacketName": "S2C_ITEM_GET_DEFAULT_STORAGE_EMPTY_SLOT_NUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8246352, + "HandlerComment": "指定アイテムIDの所持品取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_SPECIFIED_HAVING_ITEM_LIST_RES", + "ID": 23, + "PacketName": "S2C_ITEM_GET_SPECIFIED_HAVING_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8243040, + "HandlerComment": "具現化に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_EMBODY_ITEMS_RES", + "ID": 24, + "PacketName": "S2C_ITEM_EMBODY_ITEMS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8244672, + "HandlerComment": "具現化コストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_GET_EMBODY_PAY_COST_RES", + "ID": 25, + "PacketName": "S2C_ITEM_GET_EMBODY_PAY_COST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 146, + "EntriesAddr": 34793016, + "GroupID": 11, + "GroupName": "QUEST", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8328144, + "HandlerComment": "ライトクエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_LIGHT_QUEST_LIST_RES", + "ID": 0, + "PacketName": "S2C_QUEST_GET_LIGHT_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8332640, + "HandlerComment": "セットクエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_SET_QUEST_LIST_RES", + "ID": 1, + "PacketName": "S2C_QUEST_GET_SET_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8332512, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_1_16", + "ID": 1, + "PacketName": "S2C_QUEST_11_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8328848, + "HandlerComment": "メインクエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_MAIN_QUEST_LIST_RES", + "ID": 2, + "PacketName": "S2C_QUEST_GET_MAIN_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8328688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_2_16", + "ID": 2, + "PacketName": "S2C_QUEST_11_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8333168, + "HandlerComment": "チュートリアルクエストリストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_TUTORIAL_QUEST_LIST_RES", + "ID": 3, + "PacketName": "S2C_QUEST_GET_TUTORIAL_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8328368, + "HandlerComment": "抽選クエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_LOT_QUEST_LIST_RES", + "ID": 4, + "PacketName": "S2C_QUEST_GET_LOT_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8330160, + "HandlerComment": "パッケージクエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_PACKAGE_QUEST_LIST_RES", + "ID": 5, + "PacketName": "S2C_QUEST_GET_PACKAGE_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8329104, + "HandlerComment": "モブハントクエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_MOB_HUNT_QUEST_LIST_RES", + "ID": 6, + "PacketName": "S2C_QUEST_GET_MOB_HUNT_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8334768, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_7_16", + "ID": 7, + "PacketName": "S2C_QUEST_11_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8332992, + "HandlerComment": "期間限定クエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_TIME_LIMITED_QUEST_LIST_RES", + "ID": 8, + "PacketName": "S2C_QUEST_GET_TIME_LIMITED_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8333504, + "HandlerComment": "世界管理クエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_WORLD_MANAGE_QUEST_LIST_RES", + "ID": 9, + "PacketName": "S2C_QUEST_GET_WORLD_MANAGE_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8333344, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_9_16", + "ID": 9, + "PacketName": "S2C_QUEST_11_9_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8327552, + "HandlerComment": "エンドコンテンツクエストリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_END_CONTENTS_GROUP_RES", + "ID": 10, + "PacketName": "S2C_QUEST_GET_END_CONTENTS_GROUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8331424, + "HandlerComment": "スケジューラIDからクエストIDの取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_QUEST_SCHEDULE_INFO_RES", + "ID": 11, + "PacketName": "S2C_QUEST_GET_QUEST_SCHEDULE_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8328544, + "HandlerComment": "メインクエストクリア情報の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_MAIN_QUEST_COMPLETE_INFO_RES", + "ID": 12, + "PacketName": "S2C_QUEST_GET_MAIN_QUEST_COMPLETE_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8331648, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_13_2", + "ID": 13, + "PacketName": "S2C_QUEST_11_13_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8332336, + "HandlerComment": "新聞用セットクエスト情報リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_SET_QUEST_INFO_LIST_RES", + "ID": 14, + "PacketName": "S2C_QUEST_GET_SET_QUEST_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8326000, + "HandlerComment": "新聞用循環コンテンツ情報リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_NEWS_LIST_RES", + "ID": 15, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_NEWS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8329984, + "HandlerComment": "UI用パッケージクエスト情報リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_PACKAGE_QUEST_INFO_RES", + "ID": 16, + "PacketName": "S2C_QUEST_GET_PACKAGE_QUEST_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8329808, + "HandlerComment": "UI用パッケージクエスト詳細情報の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_PACKAGE_QUEST_INFO_DETAIL_RES", + "ID": 17, + "PacketName": "S2C_QUEST_GET_PACKAGE_QUEST_INFO_DETAIL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8320192, + "HandlerComment": "パッケージクエストポイントの増加に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_ADD_PACKAGE_QUEST_POINT_RES", + "ID": 18, + "PacketName": "S2C_QUEST_ADD_PACKAGE_QUEST_POINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8325472, + "HandlerComment": "新聞用エリアボーナスリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_AREA_BONUS_LIST_RES", + "ID": 19, + "PacketName": "S2C_QUEST_GET_AREA_BONUS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8341072, + "HandlerComment": "クエスト受注に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_QUEST_ORDER_RES", + "ID": 20, + "PacketName": "S2C_QUEST_QUEST_ORDER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8340928, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_20_16", + "ID": 20, + "PacketName": "S2C_QUEST_11_20_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8341584, + "HandlerComment": "クエスト進行に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_QUEST_PROGRESS_RES", + "ID": 21, + "PacketName": "S2C_QUEST_QUEST_PROGRESS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8341392, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_21_16", + "ID": 21, + "PacketName": "S2C_QUEST_11_21_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8334128, + "HandlerComment": "リーダーへのクエスト進行要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_LEADER_QUEST_PROGRESS_REQUEST_RES", + "ID": 22, + "PacketName": "S2C_QUEST_LEADER_QUEST_PROGRESS_REQUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8333968, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_22_16", + "ID": 22, + "PacketName": "S2C_QUEST_11_22_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8334592, + "HandlerComment": "ボードクエスト課金即時クリア応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_LIGHT_QUEST_GP_COMPLETE_RES", + "ID": 23, + "PacketName": "S2C_QUEST_LIGHT_QUEST_GP_COMPLETE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8320928, + "HandlerComment": "クエスト配信チェックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_CHECK_QUEST_DISTRIBUTION_RES", + "ID": 24, + "PacketName": "S2C_QUEST_CHECK_QUEST_DISTRIBUTION_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8339904, + "HandlerComment": "クエストキャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_QUEST_CANCEL_RES", + "ID": 25, + "PacketName": "S2C_QUEST_QUEST_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8339760, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_25_16", + "ID": 25, + "PacketName": "S2C_QUEST_11_25_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_26_16", + "ID": 26, + "PacketName": "S2C_QUEST_11_26_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344448, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_27_16", + "ID": 27, + "PacketName": "S2C_QUEST_11_27_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8324048, + "HandlerComment": "配信終了クエストキャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_END_DISTRIBUTION_QUEST_CANCEL_RES", + "ID": 28, + "PacketName": "S2C_QUEST_END_DISTRIBUTION_QUEST_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8340080, + "HandlerComment": "クエストクリアフラグクリアに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_QUEST_COMPLETE_FLAG_CLEAR_RES", + "ID": 29, + "PacketName": "S2C_QUEST_QUEST_COMPLETE_FLAG_CLEAR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8330912, + "HandlerComment": "クエスト詳細情報の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_QUEST_DETAIL_LIST_RES", + "ID": 30, + "PacketName": "S2C_QUEST_GET_QUEST_DETAIL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8330736, + "HandlerComment": "クエストクリアリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_QUEST_COMPLETE_LIST_RES", + "ID": 31, + "PacketName": "S2C_QUEST_GET_QUEST_COMPLETE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8345136, + "HandlerComment": "優先クエストの設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_SET_PRIORITY_QUEST_RES", + "ID": 32, + "PacketName": "S2C_QUEST_SET_PRIORITY_QUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344944, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_32_16", + "ID": 32, + "PacketName": "S2C_QUEST_11_32_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8320704, + "HandlerComment": "優先クエストの解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_CANCEL_PRIORITY_QUEST_RES", + "ID": 33, + "PacketName": "S2C_QUEST_CANCEL_PRIORITY_QUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8330560, + "HandlerComment": "優先クエストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_PRIORITY_QUEST_RES", + "ID": 34, + "PacketName": "S2C_QUEST_GET_PRIORITY_QUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8332816, + "HandlerComment": "セットクエストの公開日時リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_SET_QUEST_OPEN_DATE_LIST_RES", + "ID": 35, + "PacketName": "S2C_QUEST_GET_SET_QUEST_OPEN_DATE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8331088, + "HandlerComment": "クエストレイアウトフラグの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_QUEST_LAYOUT_FLAG_RES", + "ID": 36, + "PacketName": "S2C_QUEST_GET_QUEST_LAYOUT_FLAG_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8327296, + "HandlerComment": "循環コンテンツ状態リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_STATE_LIST_RES", + "ID": 37, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_STATE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8327008, + "HandlerComment": "循環コンテンツ本編情報リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_RES", + "ID": 38, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_SITUATION_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8336912, + "HandlerComment": "プレイエントリーに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_PLAY_ENTRY_RES", + "ID": 39, + "PacketName": "S2C_QUEST_PLAY_ENTRY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8336688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_39_16", + "ID": 39, + "PacketName": "S2C_QUEST_11_39_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8336496, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_40_2", + "ID": 40, + "PacketName": "S2C_QUEST_11_40_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8336272, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_40_16", + "ID": 40, + "PacketName": "S2C_QUEST_11_40_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8338864, + "HandlerComment": "プレイスタートに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_PLAY_START_RES", + "ID": 41, + "PacketName": "S2C_QUEST_PLAY_START_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8339216, + "HandlerComment": "クエスト時間計測開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_PLAY_START_TIMER_RES", + "ID": 42, + "PacketName": "S2C_QUEST_PLAY_START_TIMER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8339072, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_42_16", + "ID": 42, + "PacketName": "S2C_QUEST_11_42_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8337936, + "HandlerComment": "コンテンツプレイ中断要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_PLAY_INTERRUPT_RES", + "ID": 43, + "PacketName": "S2C_QUEST_PLAY_INTERRUPT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8337488, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_43_16", + "ID": 43, + "PacketName": "S2C_QUEST_11_43_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8337248, + "HandlerComment": "コンテンツプレイ中断応答に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_PLAY_INTERRUPT_ANSWER_RES", + "ID": 44, + "PacketName": "S2C_QUEST_PLAY_INTERRUPT_ANSWER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8336128, + "HandlerComment": "エンドコンテンツ終了に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_PLAY_END_RES", + "ID": 45, + "PacketName": "S2C_QUEST_PLAY_END_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335984, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_45_16", + "ID": 45, + "PacketName": "S2C_QUEST_11_45_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8321904, + "HandlerComment": "循環コンテンツプレイスタートに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_CYCLE_CONTENTS_PLAY_START_RES", + "ID": 46, + "PacketName": "S2C_QUEST_CYCLE_CONTENTS_PLAY_START_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8321744, + "HandlerComment": "循環コンテンツ終了に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_CYCLE_CONTENTS_PLAY_END_RES", + "ID": 47, + "PacketName": "S2C_QUEST_CYCLE_CONTENTS_PLAY_END_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8321552, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_47_16", + "ID": 47, + "PacketName": "S2C_QUEST_11_47_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8326416, + "HandlerComment": "循環コンテンツポイントリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_POINT_LIST_RES", + "ID": 48, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8326176, + "HandlerComment": "循環コンテンツ現在ポイントリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_NOW_POINT_LIST_RES", + "ID": 49, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_NOW_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8325824, + "HandlerComment": "循環コンテンツボーダー報酬リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_RES", + "ID": 50, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_BORDER_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8326656, + "HandlerComment": "循環コンテンツランキング報酬リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_RES", + "ID": 51, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_RANKING_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8326832, + "HandlerComment": "循環コンテンツ報酬受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_CYCLE_CONTENTS_REWARD_RES", + "ID": 52, + "PacketName": "S2C_QUEST_GET_CYCLE_CONTENTS_REWARD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335808, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_53_2", + "ID": 53, + "PacketName": "S2C_QUEST_11_53_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335824, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_54_2", + "ID": 54, + "PacketName": "S2C_QUEST_11_54_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8333680, + "HandlerComment": "循環コンテンツルーレット課金応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GP_CYCLE_CONTENTS_ROULETTE_RES", + "ID": 55, + "PacketName": "S2C_QUEST_GP_CYCLE_CONTENTS_ROULETTE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8325648, + "HandlerComment": "新聞用エリア情報リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_AREA_INFO_LIST_RES", + "ID": 56, + "PacketName": "S2C_QUEST_GET_AREA_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8331248, + "HandlerComment": "パーティボーナス対象クエストリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_QUEST_PARTY_BONUS_LIST_RES", + "ID": 57, + "PacketName": "S2C_QUEST_GET_QUEST_PARTY_BONUS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8343856, + "HandlerComment": "リーダの受注条件送信に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_RES", + "ID": 58, + "PacketName": "S2C_QUEST_SEND_LEADER_QUEST_ORDER_CONDITION_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8343696, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_58_16", + "ID": 58, + "PacketName": "S2C_QUEST_11_58_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344160, + "HandlerComment": "リーダの受注待ちクエスト送信に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_SEND_LEADER_WAIT_ORDER_QUEST_LIST_RES", + "ID": 59, + "PacketName": "S2C_QUEST_SEND_LEADER_WAIT_ORDER_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344000, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_59_16", + "ID": 59, + "PacketName": "S2C_QUEST_11_59_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8340528, + "HandlerComment": "クエストログ通知に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_QUEST_LOG_INFO_RES", + "ID": 61, + "PacketName": "S2C_QUEST_QUEST_LOG_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8332144, + "HandlerComment": "報酬ボックスリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_REWARD_BOX_LIST_RES", + "ID": 62, + "PacketName": "S2C_QUEST_GET_REWARD_BOX_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8331968, + "HandlerComment": "報酬ボックスリスト数の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_REWARD_BOX_LIST_NUM_RES", + "ID": 63, + "PacketName": "S2C_QUEST_GET_REWARD_BOX_LIST_NUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8331824, + "HandlerComment": "報酬ボックスアイテムの受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_REWARD_BOX_ITEM_RES", + "ID": 64, + "PacketName": "S2C_QUEST_GET_REWARD_BOX_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8329616, + "HandlerComment": "循環コンテンツ報酬リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_RES", + "ID": 65, + "PacketName": "S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8329456, + "HandlerComment": "循環コンテンツ報酬リスト数の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_RES", + "ID": 66, + "PacketName": "S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_LIST_NUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8329280, + "HandlerComment": "循環コンテンツ報酬アイテムの受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_RES", + "ID": 67, + "PacketName": "S2C_QUEST_GET_NOT_RECV_CYCLE_CONTENTS_REWARD_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8334304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_68_16", + "ID": 68, + "PacketName": "S2C_QUEST_11_68_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323888, + "HandlerComment": "納品に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DELIVER_ITEM_RES", + "ID": 69, + "PacketName": "S2C_QUEST_DELIVER_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323680, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_69_16", + "ID": 69, + "PacketName": "S2C_QUEST_11_69_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323520, + "HandlerComment": "納品決定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DECIDE_DELIVERY_ITEM_RES", + "ID": 70, + "PacketName": "S2C_QUEST_DECIDE_DELIVERY_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323376, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_70_16", + "ID": 70, + "PacketName": "S2C_QUEST_11_70_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8330336, + "HandlerComment": "パーティークエスト進行情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_PARTY_QUEST_PROGRESS_INFO_RES", + "ID": 71, + "PacketName": "S2C_QUEST_GET_PARTY_QUEST_PROGRESS_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322736, + "HandlerComment": "(デバッグ用)メインクエストジャンプに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DEBUG_MAIN_QUEST_JUMP_RES", + "ID": 73, + "PacketName": "S2C_QUEST_DEBUG_MAIN_QUEST_JUMP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_73_16", + "ID": 73, + "PacketName": "S2C_QUEST_11_73_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323216, + "HandlerComment": "(デバッグ用)クエストリセットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DEBUG_QUEST_RESET_RES", + "ID": 74, + "PacketName": "S2C_QUEST_DEBUG_QUEST_RESET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323056, + "HandlerComment": "(デバッグ用)クエスト全リセットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DEBUG_QUEST_RESET_ALL_RES", + "ID": 75, + "PacketName": "S2C_QUEST_DEBUG_QUEST_RESET_ALL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322144, + "HandlerComment": "(デバッグ用)循環コンテンツ成果ポイントのアップロードに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_RES", + "ID": 76, + "PacketName": "S2C_QUEST_DEBUG_CYCLE_CONTENTS_POINT_UPLOAD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323360, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_77_2", + "ID": 77, + "PacketName": "S2C_QUEST_11_77_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322432, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_78_2", + "ID": 78, + "PacketName": "S2C_QUEST_11_78_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322576, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_79_2", + "ID": 79, + "PacketName": "S2C_QUEST_11_79_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322288, + "HandlerComment": "(デバッグ用)敵セットプリセット固定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_DEBUG_ENEMY_SET_PRESET_FIX_RES", + "ID": 80, + "PacketName": "S2C_QUEST_DEBUG_ENEMY_SET_PRESET_FIX_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8322912, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_82_16", + "ID": 82, + "PacketName": "S2C_QUEST_11_82_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8345296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_83_16", + "ID": 83, + "PacketName": "S2C_QUEST_11_83_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8342896, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_84_16", + "ID": 84, + "PacketName": "S2C_QUEST_11_84_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8340384, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_85_16", + "ID": 85, + "PacketName": "S2C_QUEST_11_85_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8321088, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_86_16", + "ID": 86, + "PacketName": "S2C_QUEST_11_86_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8340896, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_87_16", + "ID": 87, + "PacketName": "S2C_QUEST_11_87_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8328672, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_88_16", + "ID": 88, + "PacketName": "S2C_QUEST_11_88_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8333856, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_89_16", + "ID": 89, + "PacketName": "S2C_QUEST_11_89_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8341776, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_90_16", + "ID": 90, + "PacketName": "S2C_QUEST_11_90_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8340240, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_91_16", + "ID": 91, + "PacketName": "S2C_QUEST_11_91_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335152, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_92_16", + "ID": 92, + "PacketName": "S2C_QUEST_11_92_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_93_16", + "ID": 93, + "PacketName": "S2C_QUEST_11_93_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335008, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_94_16", + "ID": 94, + "PacketName": "S2C_QUEST_11_94_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8324224, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_95_16", + "ID": 95, + "PacketName": "S2C_QUEST_11_95_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335776, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_96_16", + "ID": 96, + "PacketName": "S2C_QUEST_11_96_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8342080, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_97_16", + "ID": 97, + "PacketName": "S2C_QUEST_11_97_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8321232, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_98_16", + "ID": 98, + "PacketName": "S2C_QUEST_11_98_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8324752, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_99_16", + "ID": 99, + "PacketName": "S2C_QUEST_11_99_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8324928, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_100_16", + "ID": 100, + "PacketName": "S2C_QUEST_11_100_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8345648, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_101_16", + "ID": 101, + "PacketName": "S2C_QUEST_11_101_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335840, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_102_16", + "ID": 102, + "PacketName": "S2C_QUEST_11_102_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8339360, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_103_16", + "ID": 103, + "PacketName": "S2C_QUEST_11_103_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8338720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_104_16", + "ID": 104, + "PacketName": "S2C_QUEST_11_104_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8339520, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_105_16", + "ID": 105, + "PacketName": "S2C_QUEST_11_105_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8346144, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_106_16", + "ID": 106, + "PacketName": "S2C_QUEST_11_106_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8338256, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_107_16", + "ID": 107, + "PacketName": "S2C_QUEST_11_107_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8337104, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_108_16", + "ID": 108, + "PacketName": "S2C_QUEST_11_108_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8341936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_109_16", + "ID": 109, + "PacketName": "S2C_QUEST_11_109_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8324336, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_110_16", + "ID": 110, + "PacketName": "S2C_QUEST_11_110_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335792, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_111_16", + "ID": 111, + "PacketName": "S2C_QUEST_11_111_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335760, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_112_16", + "ID": 112, + "PacketName": "S2C_QUEST_11_112_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335744, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_113_16", + "ID": 113, + "PacketName": "S2C_QUEST_11_113_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8342192, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_114_16", + "ID": 114, + "PacketName": "S2C_QUEST_11_114_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8342704, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_115_16", + "ID": 115, + "PacketName": "S2C_QUEST_11_115_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8341280, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_116_16", + "ID": 116, + "PacketName": "S2C_QUEST_11_116_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8343056, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_117_16", + "ID": 117, + "PacketName": "S2C_QUEST_11_117_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8334928, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_118_16", + "ID": 118, + "PacketName": "S2C_QUEST_11_118_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335456, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_119_16", + "ID": 119, + "PacketName": "S2C_QUEST_11_119_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8335600, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_120_16", + "ID": 120, + "PacketName": "S2C_QUEST_11_120_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8327968, + "HandlerComment": "レベルボーナス情報リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_LEVEL_BONUS_LIST_RES", + "ID": 121, + "PacketName": "S2C_QUEST_GET_LEVEL_BONUS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8325072, + "HandlerComment": "冒険ガイドクエストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_LIST_RES", + "ID": 122, + "PacketName": "S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8325248, + "HandlerComment": "冒険ガイドクエスト通知の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_NOTICE_RES", + "ID": 123, + "PacketName": "S2C_QUEST_GET_ADVENTURE_GUIDE_QUEST_NOTICE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344720, + "HandlerComment": "ナビゲーションクエストセットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_SET_NAVIGATION_QUEST_RES", + "ID": 124, + "PacketName": "S2C_QUEST_SET_NAVIGATION_QUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8344592, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_124_16", + "ID": 124, + "PacketName": "S2C_QUEST_11_124_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8320480, + "HandlerComment": "ナビゲーションクエストのキャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_CANCEL_NAVIGATION_QUEST_RES", + "ID": 125, + "PacketName": "S2C_QUEST_CANCEL_NAVIGATION_QUEST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8320336, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_125_16", + "ID": 125, + "PacketName": "S2C_QUEST_11_125_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8323040, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_11_126_16", + "ID": 126, + "PacketName": "S2C_QUEST_11_126_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8327728, + "HandlerComment": "エンドコンテンツ募集リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_QUEST_GET_END_CONTENTS_RECRUIT_LIST_RES", + "ID": 127, + "PacketName": "S2C_QUEST_GET_END_CONTENTS_RECRUIT_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 14, + "EntriesAddr": 34798560, + "GroupID": 12, + "GroupName": "STAGE", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8378848, + "HandlerComment": "ステージリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_GET_STAGE_LIST_RES", + "ID": 0, + "PacketName": "S2C_STAGE_GET_STAGE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8378000, + "HandlerComment": "エリアチェンジリクエストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_AREA_CHANGE_RES", + "ID": 1, + "PacketName": "S2C_STAGE_AREA_CHANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8378144, + "HandlerComment": "特殊ステージ移動ID取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_GET_SP_AREA_CHANGE_ID_FROM_NPC_ID_RES", + "ID": 2, + "PacketName": "S2C_STAGE_GET_SP_AREA_CHANGE_ID_FROM_NPC_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8378544, + "HandlerComment": "特殊ステージ移動リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_GET_SP_AREA_CHANGE_LIST_FROM_OM_RES", + "ID": 3, + "PacketName": "S2C_STAGE_GET_SP_AREA_CHANGE_LIST_FROM_OM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8378368, + "HandlerComment": "特殊ステージ移動情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_GET_SP_AREA_CHANGE_INFO_RES", + "ID": 4, + "PacketName": "S2C_STAGE_GET_SP_AREA_CHANGE_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8379616, + "HandlerComment": "一斉ステージ移動待ち受け開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_UNISON_AREA_CHANGE_BEGIN_RECRUITMENT_RES", + "ID": 5, + "PacketName": "S2C_STAGE_UNISON_AREA_CHANGE_BEGIN_RECRUITMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8379936, + "HandlerComment": "一斉ステージ移動待ち受け状態取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_UNISON_AREA_CHANGE_GET_RECRUITMENT_STATE_RES", + "ID": 6, + "PacketName": "S2C_STAGE_UNISON_AREA_CHANGE_GET_RECRUITMENT_STATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8380256, + "HandlerComment": "一斉ステージ移動準備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_UNISON_AREA_CHANGE_READY_RES", + "ID": 7, + "PacketName": "S2C_STAGE_UNISON_AREA_CHANGE_READY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8380112, + "HandlerComment": "一斉ステージ移動準備キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_UNISON_AREA_CHANGE_READY_CANCEL_RES", + "ID": 8, + "PacketName": "S2C_STAGE_UNISON_AREA_CHANGE_READY_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8380400, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_12_9_16", + "ID": 9, + "PacketName": "S2C_STAGE_12_9_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8379760, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_12_10_16", + "ID": 10, + "PacketName": "S2C_STAGE_12_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8379040, + "HandlerComment": "チケットダンジョンカテゴリ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_GET_TICKET_DUNGEON_CATEGORY_LIST_RES", + "ID": 11, + "PacketName": "S2C_STAGE_GET_TICKET_DUNGEON_CATEGORY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8379216, + "HandlerComment": "チケットダンジョン情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_GET_TICKET_DUNGEON_INFO_LIST_RES", + "ID": 12, + "PacketName": "S2C_STAGE_GET_TICKET_DUNGEON_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8379392, + "HandlerComment": "DebugText", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAGE_IS_EXIST_APP_CHARACTER_RES", + "ID": 13, + "PacketName": "S2C_STAGE_IS_EXIST_APP_CHARACTER_RES", + "SubID": 2 + } + ] + }, + { + "Count": 39, + "EntriesAddr": 34786608, + "GroupID": 13, + "GroupName": "INSTANCE", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8238272, + "HandlerComment": "敵セットリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_ENEMY_SET_LIST_RES", + "ID": 0, + "PacketName": "S2C_INSTANCE_GET_ENEMY_SET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8236160, + "HandlerComment": "敵死亡リクエスト結果に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_ENEMY_KILL_RES", + "ID": 3, + "PacketName": "S2C_INSTANCE_ENEMY_KILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8239968, + "HandlerComment": "アイテムセットリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_ITEM_SET_LIST_RES", + "ID": 5, + "PacketName": "S2C_INSTANCE_GET_ITEM_SET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8238928, + "HandlerComment": "採取アイテムリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_GATHERING_ITEM_LIST_RES", + "ID": 6, + "PacketName": "S2C_INSTANCE_GET_GATHERING_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8239296, + "HandlerComment": "採取アイテム取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_GATHERING_ITEM_RES", + "ID": 8, + "PacketName": "S2C_INSTANCE_GET_GATHERING_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8238144, + "HandlerComment": "ドロップアイテム配置リストを取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_DROP_ITEM_SET_LIST_RES", + "ID": 9, + "PacketName": "S2C_INSTANCE_GET_DROP_ITEM_SET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8237728, + "HandlerComment": "ドロップアイテムリストを取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_DROP_ITEM_LIST_RES", + "ID": 10, + "PacketName": "S2C_INSTANCE_GET_DROP_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8238016, + "HandlerComment": "ドロップアイテムを取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_DROP_ITEM_RES", + "ID": 11, + "PacketName": "S2C_INSTANCE_GET_DROP_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241840, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_13_2", + "ID": 13, + "PacketName": "S2C_INSTANCE_13_13_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241936, + "HandlerComment": "トレーニング部屋敵リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_TRANING_ROOM_GET_ENEMY_LIST_RES", + "ID": 14, + "PacketName": "S2C_INSTANCE_TRANING_ROOM_GET_ENEMY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8242112, + "HandlerComment": "トレーニング部屋敵セット要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_TRANING_ROOM_SET_ENEMY_RES", + "ID": 15, + "PacketName": "S2C_INSTANCE_TRANING_ROOM_SET_ENEMY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8242256, + "HandlerComment": "お宝ポイント カテゴリリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_TREASURE_POINT_GET_CATEGORY_LIST_RES", + "ID": 16, + "PacketName": "S2C_INSTANCE_TREASURE_POINT_GET_CATEGORY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8242576, + "HandlerComment": "お宝ポイント ポイントリスト取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_TREASURE_POINT_GET_LIST_RES", + "ID": 17, + "PacketName": "S2C_INSTANCE_TREASURE_POINT_GET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8242432, + "HandlerComment": "お宝ポイント ポイント情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_TREASURE_POINT_GET_INFO_RES", + "ID": 18, + "PacketName": "S2C_INSTANCE_TREASURE_POINT_GET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241648, + "HandlerComment": "OMインスタンスエリア共有メモリ保存に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_SET_OM_INSTANT_KEY_VALUE_RES", + "ID": 20, + "PacketName": "S2C_INSTANCE_SET_OM_INSTANT_KEY_VALUE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241504, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_20_16", + "ID": 20, + "PacketName": "S2C_INSTANCE_13_20_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8240448, + "HandlerComment": "OMインスタンスエリア共有メモリ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_OM_INSTANT_KEY_VALUE_RES", + "ID": 21, + "PacketName": "S2C_INSTANCE_GET_OM_INSTANT_KEY_VALUE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8240208, + "HandlerComment": "OMインスタンスエリア共有メモリ全取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_OM_INSTANT_KEY_VALUE_ALL_RES", + "ID": 22, + "PacketName": "S2C_INSTANCE_GET_OM_INSTANT_KEY_VALUE_ALL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8237200, + "HandlerComment": "OMインスタンスエリア共有メモリ交換に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_EXCHANGE_OM_INSTANT_KEY_VALUE_RES", + "ID": 23, + "PacketName": "S2C_INSTANCE_EXCHANGE_OM_INSTANT_KEY_VALUE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8237056, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_23_16", + "ID": 23, + "PacketName": "S2C_INSTANCE_13_23_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241360, + "HandlerComment": "インスタンスエリア共有メモリ保存(u32)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_SET_INSTANT_KEY_VALUE_UL_RES", + "ID": 24, + "PacketName": "S2C_INSTANCE_SET_INSTANT_KEY_VALUE_UL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8239792, + "HandlerComment": "インスタンスエリア共有メモリ取得(u32)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_INSTANT_KEY_VALUE_UL_RES", + "ID": 25, + "PacketName": "S2C_INSTANCE_GET_INSTANT_KEY_VALUE_UL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241216, + "HandlerComment": "インスタンスエリア共有メモリ保存(MtString)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES", + "ID": 26, + "PacketName": "S2C_INSTANCE_SET_INSTANT_KEY_VALUE_STR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8239552, + "HandlerComment": "インスタンスエリア共有メモリ取得(MtString)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES", + "ID": 27, + "PacketName": "S2C_INSTANCE_GET_INSTANT_KEY_VALUE_STR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8234928, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_29_16", + "ID": 29, + "PacketName": "S2C_INSTANCE_13_29_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8235200, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_30_16", + "ID": 30, + "PacketName": "S2C_INSTANCE_13_30_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8235456, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_31_16", + "ID": 31, + "PacketName": "S2C_INSTANCE_13_31_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8235776, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_32_16", + "ID": 32, + "PacketName": "S2C_INSTANCE_13_32_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8236784, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_33_16", + "ID": 33, + "PacketName": "S2C_INSTANCE_13_33_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8237408, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_34_16", + "ID": 34, + "PacketName": "S2C_INSTANCE_13_34_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8236576, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_35_16", + "ID": 35, + "PacketName": "S2C_INSTANCE_13_35_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241072, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_36_16", + "ID": 36, + "PacketName": "S2C_INSTANCE_13_36_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241040, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_37_16", + "ID": 37, + "PacketName": "S2C_INSTANCE_13_37_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8241056, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_38_16", + "ID": 38, + "PacketName": "S2C_INSTANCE_13_38_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8240688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_39_16", + "ID": 39, + "PacketName": "S2C_INSTANCE_13_39_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8236320, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_40_16", + "ID": 40, + "PacketName": "S2C_INSTANCE_13_40_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8234784, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_41_16", + "ID": 41, + "PacketName": "S2C_INSTANCE_13_41_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8240640, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_13_42_16", + "ID": 42, + "PacketName": "S2C_INSTANCE_13_42_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8238592, + "HandlerComment": "拡張OM情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INSTANCE_GET_EX_OM_INFO_RES", + "ID": 43, + "PacketName": "S2C_INSTANCE_GET_EX_OM_INFO_RES", + "SubID": 2 + } + ] + }, + { + "Count": 14, + "EntriesAddr": 34799160, + "GroupID": 14, + "GroupName": "WARP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8385584, + "HandlerComment": "ワープポイント解放要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_RELEASE_WARP_POINT_RES", + "ID": 0, + "PacketName": "S2C_WARP_RELEASE_WARP_POINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8385360, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_14_0_16", + "ID": 0, + "PacketName": "S2C_WARP_14_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8383488, + "HandlerComment": "解放済みワープポイントリストを取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_GET_RELEASE_WARP_POINT_LIST_RES", + "ID": 1, + "PacketName": "S2C_WARP_GET_RELEASE_WARP_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8384240, + "HandlerComment": "ワープポイントリストを取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_GET_WARP_POINT_LIST_RES", + "ID": 2, + "PacketName": "S2C_WARP_GET_WARP_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8385920, + "HandlerComment": "ワープリクエストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_WARP_RES", + "ID": 3, + "PacketName": "S2C_WARP_WARP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8383280, + "HandlerComment": "お気に入りワープポイントリストを取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_GET_FAVORITE_WARP_POINT_LIST_RES", + "ID": 4, + "PacketName": "S2C_WARP_GET_FAVORITE_WARP_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8382944, + "HandlerComment": "お気に入りワープリクエストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_FAVORITE_WARP_RES", + "ID": 5, + "PacketName": "S2C_WARP_FAVORITE_WARP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8385168, + "HandlerComment": "お気に入りワープ登録に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_REGISTER_FAVORITE_WARP_RES", + "ID": 6, + "PacketName": "S2C_WARP_REGISTER_FAVORITE_WARP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8385024, + "HandlerComment": "同行ワープに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_PARTY_WARP_RES", + "ID": 7, + "PacketName": "S2C_WARP_PARTY_WARP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8383104, + "HandlerComment": "エリア指定ワープ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_GET_AREA_WARP_POINT_LIST_RES", + "ID": 8, + "PacketName": "S2C_WARP_GET_AREA_WARP_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8382784, + "HandlerComment": "現在のエリアからのワープリクエストに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_AREA_WARP_RES", + "ID": 9, + "PacketName": "S2C_WARP_AREA_WARP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8383728, + "HandlerComment": "復帰位置の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_GET_RETURN_LOCATION_RES", + "ID": 12, + "PacketName": "S2C_WARP_GET_RETURN_LOCATION_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8384480, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_14_13_16", + "ID": 13, + "PacketName": "S2C_WARP_14_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8383968, + "HandlerComment": "ゲーム開始ポイントの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_WARP_GET_START_POINT_LIST_RES", + "ID": 14, + "PacketName": "S2C_WARP_GET_START_POINT_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34785096, + "GroupID": 15, + "GroupName": null, + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 4294967295, + "HandlerAddr": 0, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_15_65535_255", + "ID": 65535, + "PacketName": "S2C_15_65535_255", + "SubID": 255 + } + ] + }, + { + "Count": 11, + "EntriesAddr": 34785144, + "GroupID": 16, + "GroupName": "FRIEND", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8218448, + "HandlerComment": "フレンドリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_GET_FRIEND_LIST_RES", + "ID": 0, + "PacketName": "S2C_FRIEND_GET_FRIEND_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8216464, + "HandlerComment": "フレンド申請に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_APPLY_FRIEND_RES", + "ID": 1, + "PacketName": "S2C_FRIEND_APPLY_FRIEND_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8215984, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_16_1_16", + "ID": 1, + "PacketName": "S2C_FRIEND_16_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8217280, + "HandlerComment": "フレンド承認に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_APPROVE_FRIEND_RES", + "ID": 2, + "PacketName": "S2C_FRIEND_APPROVE_FRIEND_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8216736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_16_2_16", + "ID": 2, + "PacketName": "S2C_FRIEND_16_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8219424, + "HandlerComment": "フレンド解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_REMOVE_FRIEND_RES", + "ID": 3, + "PacketName": "S2C_FRIEND_REMOVE_FRIEND_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8219104, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_16_3_16", + "ID": 3, + "PacketName": "S2C_FRIEND_16_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8218960, + "HandlerComment": "お気に入りフレンド設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_REGISTER_FAVORITE_FRIEND_RES", + "ID": 4, + "PacketName": "S2C_FRIEND_REGISTER_FAVORITE_FRIEND_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8218000, + "HandlerComment": "フレンド申請キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_CANCEL_FRIEND_APPLICATION_RES", + "ID": 5, + "PacketName": "S2C_FRIEND_CANCEL_FRIEND_APPLICATION_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8217696, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_16_5_16", + "ID": 5, + "PacketName": "S2C_FRIEND_16_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8218688, + "HandlerComment": "最近遊んだプレイヤー取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_FRIEND_GET_RECENT_CHARACTER_LIST_RES", + "ID": 6, + "PacketName": "S2C_FRIEND_GET_RECENT_CHARACTER_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 3, + "EntriesAddr": 34779168, + "GroupID": 17, + "GroupName": "BLACK", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8154016, + "HandlerComment": "ブラックリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BLACK_LIST_GET_BLACK_LIST_RES", + "ID": 0, + "PacketName": "S2C_BLACK_LIST_GET_BLACK_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8153744, + "HandlerComment": "ブラックリスト追加に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BLACK_LIST_ADD_BLACK_LIST_RES", + "ID": 1, + "PacketName": "S2C_BLACK_LIST_ADD_BLACK_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8154400, + "HandlerComment": "ブラックリスト削除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BLACK_LIST_REMOVE_BLACK_LIST_RES", + "ID": 2, + "PacketName": "S2C_BLACK_LIST_REMOVE_BLACK_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 8, + "EntriesAddr": 34786320, + "GroupID": 18, + "GroupName": "GROUP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8228160, + "HandlerComment": "グループチャットメンバーリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_CHAT_GROUP_CHAT_GET_MEMBER_LIST_RES", + "ID": 0, + "PacketName": "S2C_GROUP_CHAT_GROUP_CHAT_GET_MEMBER_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8229040, + "HandlerComment": "グループチャット招待に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_CHAT_GROUP_CHAT_INVITE_CHARACTER_RES", + "ID": 1, + "PacketName": "S2C_GROUP_CHAT_GROUP_CHAT_INVITE_CHARACTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8228912, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_18_1_16", + "ID": 1, + "PacketName": "S2C_GROUP_18_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8230784, + "HandlerComment": "グループチャット退室に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_CHAT_GROUP_CHAT_LEAVE_CHARACTER_RES", + "ID": 2, + "PacketName": "S2C_GROUP_CHAT_GROUP_CHAT_LEAVE_CHARACTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8230656, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_18_2_16", + "ID": 2, + "PacketName": "S2C_GROUP_18_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8230176, + "HandlerComment": "グループチャットキックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_CHAT_GROUP_CHAT_KICK_CHARACTER_RES", + "ID": 3, + "PacketName": "S2C_GROUP_CHAT_GROUP_CHAT_KICK_CHARACTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8230048, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_18_3_16", + "ID": 3, + "PacketName": "S2C_GROUP_18_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227984, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GROUP_18_4_16", + "ID": 4, + "PacketName": "S2C_GROUP_18_4_16", + "SubID": 16 + } + ] + }, + { + "Count": 51, + "EntriesAddr": 34797336, + "GroupID": 19, + "GroupName": "SKILL", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8366720, + "HandlerComment": "習得可能ノーマルスキルリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_ACQUIRABLE_NORMAL_SKILL_LIST_RES", + "ID": 0, + "PacketName": "S2C_SKILL_GET_ACQUIRABLE_NORMAL_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8366896, + "HandlerComment": "習得可能スキルリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_ACQUIRABLE_SKILL_LIST_RES", + "ID": 1, + "PacketName": "S2C_SKILL_GET_ACQUIRABLE_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8366480, + "HandlerComment": "習得可能アビリティリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_ACQUIRABLE_ABILITY_LIST_RES", + "ID": 2, + "PacketName": "S2C_SKILL_GET_ACQUIRABLE_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8371056, + "HandlerComment": "ノーマルスキル習得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_LEARN_NORMAL_SKILL_RES", + "ID": 3, + "PacketName": "S2C_SKILL_LEARN_NORMAL_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8372512, + "HandlerComment": "スキル習得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_LEARN_SKILL_RES", + "ID": 4, + "PacketName": "S2C_SKILL_LEARN_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8370624, + "HandlerComment": "アビリティ習得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_LEARN_ABILITY_RES", + "ID": 5, + "PacketName": "S2C_SKILL_LEARN_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8371808, + "HandlerComment": "ポーンノーマルスキル習得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_LEARN_PAWN_NORMAL_SKILL_RES", + "ID": 6, + "PacketName": "S2C_SKILL_LEARN_PAWN_NORMAL_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8372176, + "HandlerComment": "ポーンカスタムスキル習得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_LEARN_PAWN_SKILL_RES", + "ID": 7, + "PacketName": "S2C_SKILL_LEARN_PAWN_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8371472, + "HandlerComment": "ポーンアビリティ習得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_LEARN_PAWN_ABILITY_RES", + "ID": 8, + "PacketName": "S2C_SKILL_LEARN_PAWN_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368128, + "HandlerComment": "習得済ノーマルスキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_LEARNED_NORMAL_SKILL_LIST_RES", + "ID": 9, + "PacketName": "S2C_SKILL_GET_LEARNED_NORMAL_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368304, + "HandlerComment": "習得済スキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_LEARNED_SKILL_LIST_RES", + "ID": 10, + "PacketName": "S2C_SKILL_GET_LEARNED_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8367952, + "HandlerComment": "習得済アビリティリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_LEARNED_ABILITY_LIST_RES", + "ID": 11, + "PacketName": "S2C_SKILL_GET_LEARNED_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368912, + "HandlerComment": "ポーン習得済ノーマルスキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_RES", + "ID": 12, + "PacketName": "S2C_SKILL_GET_PAWN_LEARNED_NORMAL_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8369088, + "HandlerComment": "ポーン習得済スキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PAWN_LEARNED_SKILL_LIST_RES", + "ID": 13, + "PacketName": "S2C_SKILL_GET_PAWN_LEARNED_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368736, + "HandlerComment": "ポーン習得済アビリティリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PAWN_LEARNED_ABILITY_LIST_RES", + "ID": 14, + "PacketName": "S2C_SKILL_GET_PAWN_LEARNED_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8377216, + "HandlerComment": "スキル装備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_SKILL_RES", + "ID": 15, + "PacketName": "S2C_SKILL_SET_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8365424, + "HandlerComment": "EXスキル切り替えに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_CHANGE_EX_SKILL_RES", + "ID": 16, + "PacketName": "S2C_SKILL_CHANGE_EX_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8374064, + "HandlerComment": "アビリティ装備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_ABILITY_RES", + "ID": 17, + "PacketName": "S2C_SKILL_SET_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8375648, + "HandlerComment": "ポーンカスタムスキル装備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_PAWN_SKILL_RES", + "ID": 18, + "PacketName": "S2C_SKILL_SET_PAWN_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8375184, + "HandlerComment": "ポーンアビリティ装備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_PAWN_ABILITY_RES", + "ID": 19, + "PacketName": "S2C_SKILL_SET_PAWN_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8374960, + "HandlerComment": "スキル解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_OFF_SKILL_RES", + "ID": 20, + "PacketName": "S2C_SKILL_SET_OFF_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8374288, + "HandlerComment": "アビリティ解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_OFF_ABILITY_RES", + "ID": 21, + "PacketName": "S2C_SKILL_SET_OFF_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8374720, + "HandlerComment": "ポーンカスタムスキル解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_OFF_PAWN_SKILL_RES", + "ID": 22, + "PacketName": "S2C_SKILL_SET_OFF_PAWN_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8374496, + "HandlerComment": "ポーンアビリティ解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_OFF_PAWN_ABILITY_RES", + "ID": 23, + "PacketName": "S2C_SKILL_SET_OFF_PAWN_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8370448, + "HandlerComment": "装備中スキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_SET_SKILL_LIST_RES", + "ID": 24, + "PacketName": "S2C_SKILL_GET_SET_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8370272, + "HandlerComment": "装備中アビリティリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_SET_ABILITY_LIST_RES", + "ID": 25, + "PacketName": "S2C_SKILL_GET_SET_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8369440, + "HandlerComment": "ポーン装備中スキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PAWN_SET_SKILL_LIST_RES", + "ID": 26, + "PacketName": "S2C_SKILL_GET_PAWN_SET_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8369264, + "HandlerComment": "ポーン装備中アビリティリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PAWN_SET_ABILITY_LIST_RES", + "ID": 27, + "PacketName": "S2C_SKILL_GET_PAWN_SET_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8367632, + "HandlerComment": "装備中スキルリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_CURRENT_SET_SKILL_LIST_RES", + "ID": 28, + "PacketName": "S2C_SKILL_GET_CURRENT_SET_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8367424, + "HandlerComment": "装備中アビリティリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_CURRENT_SET_ABILITY_LIST_RES", + "ID": 29, + "PacketName": "S2C_SKILL_GET_CURRENT_SET_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_30_2", + "ID": 30, + "PacketName": "S2C_SKILL_19_30_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368704, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_31_2", + "ID": 31, + "PacketName": "S2C_SKILL_19_31_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8370032, + "HandlerComment": "解放済みスキルリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_RELEASE_SKILL_LIST_RES", + "ID": 32, + "PacketName": "S2C_SKILL_GET_RELEASE_SKILL_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8369792, + "HandlerComment": "解放済みアビリティリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_RELEASE_ABILITY_LIST_RES", + "ID": 33, + "PacketName": "S2C_SKILL_GET_RELEASE_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8373920, + "HandlerComment": "プリセットアビリティの登録に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_REGISTER_PRESET_ABILITY_RES", + "ID": 34, + "PacketName": "S2C_SKILL_REGISTER_PRESET_ABILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8376288, + "HandlerComment": "プリセットアビリティ名の設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_PRESET_ABILITY_NAME_RES", + "ID": 35, + "PacketName": "S2C_SKILL_SET_PRESET_ABILITY_NAME_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8369616, + "HandlerComment": "プリセットアビリティリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PRESET_ABILITY_LIST_RES", + "ID": 36, + "PacketName": "S2C_SKILL_GET_PRESET_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8375920, + "HandlerComment": "プリセットアビリティ装備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_PRESET_ABILITY_LIST_RES", + "ID": 37, + "PacketName": "S2C_SKILL_SET_PRESET_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8375424, + "HandlerComment": "ポーンプリセットアビリティ装備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_SET_PAWN_PRESET_ABILITY_LIST_RES", + "ID": 38, + "PacketName": "S2C_SKILL_SET_PAWN_PRESET_ABILITY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8366256, + "HandlerComment": "アビリティセット用コストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_ABILITY_COST_RES", + "ID": 39, + "PacketName": "S2C_SKILL_GET_ABILITY_COST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8368480, + "HandlerComment": "ポーンアビリティセット用コストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_GET_PAWN_ABILITY_COST_RES", + "ID": 40, + "PacketName": "S2C_SKILL_GET_PAWN_ABILITY_COST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8364656, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_41_16", + "ID": 41, + "PacketName": "S2C_SKILL_19_41_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8372944, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_42_16", + "ID": 42, + "PacketName": "S2C_SKILL_19_42_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8365872, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_43_16", + "ID": 43, + "PacketName": "S2C_SKILL_19_43_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8364288, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_44_16", + "ID": 44, + "PacketName": "S2C_SKILL_19_44_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8373760, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_45_16", + "ID": 45, + "PacketName": "S2C_SKILL_19_45_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8373488, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_46_16", + "ID": 46, + "PacketName": "S2C_SKILL_19_46_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8373232, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_47_16", + "ID": 47, + "PacketName": "S2C_SKILL_19_47_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8376432, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_48_16", + "ID": 48, + "PacketName": "S2C_SKILL_19_48_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8376928, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_49_16", + "ID": 49, + "PacketName": "S2C_SKILL_19_49_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8367072, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SKILL_19_50_16", + "ID": 50, + "PacketName": "S2C_SKILL_19_50_16", + "SubID": 16 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34797288, + "GroupID": 20, + "GroupName": "SHOP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8364048, + "HandlerComment": "商品リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SHOP_GET_SHOP_GOODS_LIST_RES", + "ID": 0, + "PacketName": "S2C_SHOP_GET_SHOP_GOODS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8363888, + "HandlerComment": "商品購入に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SHOP_BUY_SHOP_GOODS_RES", + "ID": 1, + "PacketName": "S2C_SHOP_BUY_SHOP_GOODS_RES", + "SubID": 2 + } + ] + }, + { + "Count": 4, + "EntriesAddr": 34786512, + "GroupID": 21, + "GroupName": "INN", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8233488, + "HandlerComment": "宿泊費の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INN_GET_STAY_PRICE_RES", + "ID": 0, + "PacketName": "S2C_INN_GET_STAY_PRICE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8234000, + "HandlerComment": "宿泊に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INN_STAY_INN_RES", + "ID": 1, + "PacketName": "S2C_INN_STAY_INN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8233264, + "HandlerComment": "弱化回復宿泊費の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INN_GET_PENALTY_HEAL_STAY_PRICE_RES", + "ID": 5, + "PacketName": "S2C_INN_GET_PENALTY_HEAL_STAY_PRICE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8234608, + "HandlerComment": "弱化回復宿泊に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INN_STAY_PENALTY_HEAL_INN_RES", + "ID": 6, + "PacketName": "S2C_INN_STAY_PENALTY_HEAL_INN_RES", + "SubID": 2 + } + ] + }, + { + "Count": 10, + "EntriesAddr": 34801632, + "GroupID": 22, + "GroupName": "POTION", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8315456, + "HandlerComment": "ジョブ要素解放チェックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_JOB_ELEMENT_CHECK_RES", + "ID": 0, + "PacketName": "S2C_POTION_JOB_ELEMENT_CHECK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8315680, + "HandlerComment": "ジョブ要素解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_JOB_ELEMENT_RELEASE_RES", + "ID": 1, + "PacketName": "S2C_POTION_JOB_ELEMENT_RELEASE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8315824, + "HandlerComment": "竜力の継承解放チェックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_ORB_ELEMENT_CHECK_RES", + "ID": 2, + "PacketName": "S2C_POTION_ORB_ELEMENT_CHECK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8316032, + "HandlerComment": "竜力の継承解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_ORB_ELEMENT_RELEASE_RES", + "ID": 3, + "PacketName": "S2C_POTION_ORB_ELEMENT_RELEASE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8314528, + "HandlerComment": "冒険補助要素解放チェックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_ADVENTURE_UTILITY_CHECK_RES", + "ID": 4, + "PacketName": "S2C_POTION_ADVENTURE_UTILITY_CHECK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8314752, + "HandlerComment": "冒険補助要素解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_ADVENTURE_UTILITY_RELEASE_RES", + "ID": 5, + "PacketName": "S2C_POTION_ADVENTURE_UTILITY_RELEASE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8315296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_22_6_16", + "ID": 6, + "PacketName": "S2C_POTION_22_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8314896, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_22_7_16", + "ID": 7, + "PacketName": "S2C_POTION_22_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8315152, + "HandlerComment": "ポーショングループ要素解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_ELEMENT_GROUP_RELEASE_RES", + "ID": 8, + "PacketName": "S2C_POTION_ELEMENT_GROUP_RELEASE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8314976, + "HandlerComment": "ポーショングループ要素解放による成長要素の有無チェックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_POTION_ELEMENT_GROUP_CHECK_RES", + "ID": 9, + "PacketName": "S2C_POTION_ELEMENT_GROUP_CHECK_RES", + "SubID": 2 + } + ] + }, + { + "Count": 16, + "EntriesAddr": 34778424, + "GroupID": 23, + "GroupName": "AREA", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8143232, + "HandlerComment": "エリア情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_MASTER_INFO_RES", + "ID": 0, + "PacketName": "S2C_AREA_GET_AREA_MASTER_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144048, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_23_1_2", + "ID": 1, + "PacketName": "S2C_AREA_23_1_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8141872, + "HandlerComment": "エリアランクアップに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_AREA_RANK_UP_RES", + "ID": 2, + "PacketName": "S2C_AREA_AREA_RANK_UP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144064, + "HandlerComment": "支給品リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_SUPPLY_INFO_RES", + "ID": 3, + "PacketName": "S2C_AREA_GET_AREA_SUPPLY_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144240, + "HandlerComment": "支給品受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_SUPPLY_RES", + "ID": 4, + "PacketName": "S2C_AREA_GET_AREA_SUPPLY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8143520, + "HandlerComment": "エリアポイント加算(デバッグ用)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_POINT_DEBUG_RES", + "ID": 5, + "PacketName": "S2C_AREA_GET_AREA_POINT_DEBUG_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8143840, + "HandlerComment": "全エリア解放リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_RELEASE_LIST_RES", + "ID": 7, + "PacketName": "S2C_AREA_GET_AREA_RELEASE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144384, + "HandlerComment": "全エリア解放リスト取得(PTリーダー依存)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_LEADER_AREA_RELEASE_LIST_RES", + "ID": 8, + "PacketName": "S2C_AREA_GET_LEADER_AREA_RELEASE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8143664, + "HandlerComment": "クエスト情報リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_QUEST_HINT_LIST_RES", + "ID": 9, + "PacketName": "S2C_AREA_GET_AREA_QUEST_HINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8142480, + "HandlerComment": "エリア内クエスト情報購入に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_BUY_AREA_QUEST_HINT_RES", + "ID": 10, + "PacketName": "S2C_AREA_BUY_AREA_QUEST_HINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144560, + "HandlerComment": "スポット情報リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_SPOT_INFO_LIST_RES", + "ID": 11, + "PacketName": "S2C_AREA_GET_SPOT_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8142704, + "HandlerComment": "エリアポイントリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_GET_AREA_BASE_INFO_LIST_RES", + "ID": 12, + "PacketName": "S2C_AREA_GET_AREA_BASE_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140992, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_23_13_16", + "ID": 13, + "PacketName": "S2C_AREA_23_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8141456, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_23_14_16", + "ID": 14, + "PacketName": "S2C_AREA_23_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_23_15_2", + "ID": 15, + "PacketName": "S2C_AREA_23_15_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8144752, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_AREA_23_16_16", + "ID": 16, + "PacketName": "S2C_AREA_23_16_16", + "SubID": 16 + } + ] + }, + { + "Count": 7, + "EntriesAddr": 34788816, + "GroupID": 24, + "GroupName": "JOB", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8260176, + "HandlerComment": "ジョブマスター課題進捗取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_MASTER_GET_JOB_MASTER_ORDER_PROGRESS_RES", + "ID": 0, + "PacketName": "S2C_JOB_MASTER_GET_JOB_MASTER_ORDER_PROGRESS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8261392, + "HandlerComment": "ジョブマスター課題報告に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_MASTER_REPORT_JOB_ORDER_PROGRESS_RES", + "ID": 1, + "PacketName": "S2C_JOB_MASTER_REPORT_JOB_ORDER_PROGRESS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8259920, + "HandlerComment": "ジョブマスター課題のアクティブ化に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_MASTER_ACTIVATE_JOB_ORDER_RES", + "ID": 2, + "PacketName": "S2C_JOB_MASTER_ACTIVATE_JOB_ORDER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8260160, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_24_3_2", + "ID": 3, + "PacketName": "S2C_JOB_24_3_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8260960, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_24_4_16", + "ID": 4, + "PacketName": "S2C_JOB_24_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8260720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_24_5_16", + "ID": 5, + "PacketName": "S2C_JOB_24_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8260464, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_24_6_16", + "ID": 6, + "PacketName": "S2C_JOB_24_6_16", + "SubID": 16 + } + ] + }, + { + "Count": 7, + "EntriesAddr": 34789896, + "GroupID": 25, + "GroupName": "ORB", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8283056, + "HandlerComment": "オーブ成長要素リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_DEVOTE_GET_ALL_ORB_ELEMENT_LIST_RES", + "ID": 0, + "PacketName": "S2C_ORB_DEVOTE_GET_ALL_ORB_ELEMENT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8283744, + "HandlerComment": "解放済みオーブ成長要素リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_DEVOTE_GET_RELEASE_ORB_ELEMENT_LIST_RES", + "ID": 1, + "PacketName": "S2C_ORB_DEVOTE_GET_RELEASE_ORB_ELEMENT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8283920, + "HandlerComment": "オーブ成長要素解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_DEVOTE_RELEASE_ORB_ELEMENT_RES", + "ID": 2, + "PacketName": "S2C_ORB_DEVOTE_RELEASE_ORB_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8283568, + "HandlerComment": "ポーン用オーブ成長要素リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_DEVOTE_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_RES", + "ID": 3, + "PacketName": "S2C_ORB_DEVOTE_GET_PAWN_RELEASE_ORB_ELEMENT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8284176, + "HandlerComment": "ポーン用オーブ捧げに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_DEVOTE_RELEASE_PAWN_ORB_ELEMENT_RES", + "ID": 4, + "PacketName": "S2C_ORB_DEVOTE_RELEASE_PAWN_ORB_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8283344, + "HandlerComment": "オーブ成長による拡張パラメータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_DEVOTE_GET_ORB_GAIN_EXTEND_PARAM_RES", + "ID": 5, + "PacketName": "S2C_ORB_DEVOTE_GET_ORB_GAIN_EXTEND_PARAM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8283184, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ORB_25_6_16", + "ID": 6, + "PacketName": "S2C_ORB_25_6_16", + "SubID": 16 + } + ] + }, + { + "Count": 18, + "EntriesAddr": 34792584, + "GroupID": 26, + "GroupName": "PROFILE", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8316496, + "HandlerComment": "他人のキャラクター情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_CHARACTER_PROFILE_RES", + "ID": 0, + "PacketName": "S2C_PROFILE_GET_CHARACTER_PROFILE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8318080, + "HandlerComment": "自分のキャラクター情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_MY_CHARACTER_PROFILE_RES", + "ID": 1, + "PacketName": "S2C_PROFILE_GET_MY_CHARACTER_PROFILE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8316256, + "HandlerComment": "設定可能な背景画像リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_AVAILABLE_BACKGROUND_LIST_RES", + "ID": 2, + "PacketName": "S2C_PROFILE_GET_AVAILABLE_BACKGROUND_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8318640, + "HandlerComment": "覚者カードカスタマイズ情報設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_ARISEN_PROFILE_RES", + "ID": 3, + "PacketName": "S2C_PROFILE_SET_ARISEN_PROFILE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8316240, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_26_4_2", + "ID": 4, + "PacketName": "S2C_PROFILE_26_4_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319504, + "HandlerComment": "ポーンカードカスタマイズ情報設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_PAWN_PROFILE_RES", + "ID": 5, + "PacketName": "S2C_PROFILE_SET_PAWN_PROFILE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319360, + "HandlerComment": "ポーン紹介文設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_PAWN_PROFILE_COMMENT_RES", + "ID": 6, + "PacketName": "S2C_PROFILE_SET_PAWN_PROFILE_COMMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319792, + "HandlerComment": "覚者/ポーンカード公開範囲設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_UPDATE_ARISEN_PROFILE_SHARE_RANGE_RES", + "ID": 7, + "PacketName": "S2C_PROFILE_UPDATE_ARISEN_PROFILE_SHARE_RANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319216, + "HandlerComment": "目的設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_OBJECTIVE_RES", + "ID": 8, + "PacketName": "S2C_PROFILE_SET_OBJECTIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8318928, + "HandlerComment": "マッチングプロフィール設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_MATCHING_PROFILE_RES", + "ID": 10, + "PacketName": "S2C_PROFILE_SET_MATCHING_PROFILE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8317696, + "HandlerComment": "マッチングプロフィール取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_MATCHING_PROFILE_RES", + "ID": 11, + "PacketName": "S2C_PROFILE_GET_MATCHING_PROFILE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319648, + "HandlerComment": "ショートカットリスト設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_SHORTCUT_LIST_RES", + "ID": 12, + "PacketName": "S2C_PROFILE_SET_SHORTCUT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8318432, + "HandlerComment": "ショートカットリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_SHORTCUT_LIST_RES", + "ID": 13, + "PacketName": "S2C_PROFILE_GET_SHORTCUT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8318784, + "HandlerComment": "コミュニケーションショートカットリスト設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_COMMUNICATION_SHORTCUT_LIST_RES", + "ID": 14, + "PacketName": "S2C_PROFILE_SET_COMMUNICATION_SHORTCUT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8317488, + "HandlerComment": "コミュニケーションショートカットリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_COMMUNICATION_SHORTCUT_LIST_RES", + "ID": 15, + "PacketName": "S2C_PROFILE_GET_COMMUNICATION_SHORTCUT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319072, + "HandlerComment": "メッセージセット設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_SET_MESSAGE_SET_RES", + "ID": 16, + "PacketName": "S2C_PROFILE_SET_MESSAGE_SET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8317872, + "HandlerComment": "メッセージセット取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_GET_MESSAGE_SET_RES", + "ID": 17, + "PacketName": "S2C_PROFILE_GET_MESSAGE_SET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8319936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PROFILE_26_18_16", + "ID": 18, + "PacketName": "S2C_PROFILE_26_18_16", + "SubID": 16 + } + ] + }, + { + "Count": 11, + "EntriesAddr": 34778160, + "GroupID": 27, + "GroupName": "ACHIEVEMENT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8139632, + "HandlerComment": "アチーブメント進捗リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_ACHIEVEMENT_GET_PROGRESS_LIST_RES", + "ID": 0, + "PacketName": "S2C_ACHIEVEMENT_ACHIEVEMENT_GET_PROGRESS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140032, + "HandlerComment": "アチーブメント報酬リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_ACHIEVEMENT_GET_REWARD_LIST_RES", + "ID": 1, + "PacketName": "S2C_ACHIEVEMENT_ACHIEVEMENT_GET_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8139392, + "HandlerComment": "家具アチーブメント報酬リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_RES", + "ID": 2, + "PacketName": "S2C_ACHIEVEMENT_ACHIEVEMENT_GET_FURNITURE_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8139856, + "HandlerComment": "受け取り可能なアチーブメント報酬リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_RES", + "ID": 3, + "PacketName": "S2C_ACHIEVEMENT_ACHIEVEMENT_GET_RECEIVABLE_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140432, + "HandlerComment": "アチーブメント報酬の受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_ACHIEVEMENT_REWARD_RECEIVE_RES", + "ID": 4, + "PacketName": "S2C_ACHIEVEMENT_ACHIEVEMENT_REWARD_RECEIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140640, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_27_5_2", + "ID": 5, + "PacketName": "S2C_ACHIEVEMENT_27_5_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140624, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_27_6_2", + "ID": 6, + "PacketName": "S2C_ACHIEVEMENT_27_6_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140656, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_27_7_16", + "ID": 7, + "PacketName": "S2C_ACHIEVEMENT_27_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8138624, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_27_8_16", + "ID": 8, + "PacketName": "S2C_ACHIEVEMENT_27_8_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140208, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_27_9_16", + "ID": 9, + "PacketName": "S2C_ACHIEVEMENT_27_9_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8139216, + "HandlerComment": "指定カテゴリのアチーブメント進捗リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACHIEVEMENT_ACHIEVEMENT_GET_CATEGORY_PROGRESS_LIST_RES", + "ID": 10, + "PacketName": "S2C_ACHIEVEMENT_ACHIEVEMENT_GET_CATEGORY_PROGRESS_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 36, + "EntriesAddr": 34785456, + "GroupID": 28, + "GroupName": "GP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8221616, + "HandlerComment": "GP取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GET_GP_RES", + "ID": 0, + "PacketName": "S2C_GP_GET_GP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8221184, + "HandlerComment": "GP詳細取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GET_GP_DETAIL_RES", + "ID": 1, + "PacketName": "S2C_GP_GET_GP_DETAIL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8221360, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_2_2", + "ID": 2, + "PacketName": "S2C_GP_28_2_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8220800, + "HandlerComment": "CAP取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GET_CAP_RES", + "ID": 3, + "PacketName": "S2C_GP_GET_CAP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8221008, + "HandlerComment": "CAPからGPへの変換テーブル取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GET_CAP_TO_GP_CHANGE_LIST_RES", + "ID": 4, + "PacketName": "S2C_GP_GET_CAP_TO_GP_CHANGE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8220112, + "HandlerComment": "CAPからGP変換要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_CHANGE_CAP_TO_GP_RES", + "ID": 5, + "PacketName": "S2C_GP_CHANGE_CAP_TO_GP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8220400, + "HandlerComment": "COG ID取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_COG_GET_ID_RES", + "ID": 6, + "PacketName": "S2C_GP_COG_GET_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8226560, + "HandlerComment": "黄金石ショップメニュー取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_DISPLAY_GET_TYPE_RES", + "ID": 7, + "PacketName": "S2C_GP_GP_SHOP_DISPLAY_GET_TYPE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8226384, + "HandlerComment": "黄金石ショップ商品リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_DISPLAY_GET_LINEUP_RES", + "ID": 8, + "PacketName": "S2C_GP_GP_SHOP_DISPLAY_GET_LINEUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8226192, + "HandlerComment": "黄金石ショップ購入後の結果取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_DISPLAY_BUY_RES", + "ID": 9, + "PacketName": "S2C_GP_GP_SHOP_DISPLAY_BUY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227152, + "HandlerComment": "黄金石ショップ:コースラインナップ取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_GET_COURSE_LINEUP_RES", + "ID": 10, + "PacketName": "S2C_GP_GP_SHOP_GET_COURSE_LINEUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227360, + "HandlerComment": "黄金石ショップ:アイテムラインナップ取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_GET_ITEM_LINEUP_RES", + "ID": 11, + "PacketName": "S2C_GP_GP_SHOP_GET_ITEM_LINEUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227568, + "HandlerComment": "黄金石ショップ:レジェンドポーンラインナップ取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_GET_PAWN_LINEUP_RES", + "ID": 12, + "PacketName": "S2C_GP_GP_SHOP_GET_PAWN_LINEUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227776, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_13_2", + "ID": 13, + "PacketName": "S2C_GP_28_13_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227792, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_14_2", + "ID": 14, + "PacketName": "S2C_GP_28_14_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8226736, + "HandlerComment": "黄金石ショップ:購入履歴取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_GET_BUY_HISTORY_RES", + "ID": 15, + "PacketName": "S2C_GP_GP_SHOP_GET_BUY_HISTORY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8226912, + "HandlerComment": "CAPチャージURL取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_GET_CAP_CHARGE_URL_RES", + "ID": 16, + "PacketName": "S2C_GP_GP_SHOP_GET_CAP_CHARGE_URL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8223104, + "HandlerComment": "黄金石ショップ:所持リスト取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_GET_AVAILABLE_LIST_RES", + "ID": 17, + "PacketName": "S2C_GP_GP_COURSE_GET_AVAILABLE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8223280, + "HandlerComment": "黄金石ショップ:使用中リスト取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_GET_VALID_LIST_RES", + "ID": 18, + "PacketName": "S2C_GP_GP_COURSE_GET_VALID_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8225168, + "HandlerComment": "黄金石ショップ:所持使用要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_USE_FROM_AVAILABLE_RES", + "ID": 19, + "PacketName": "S2C_GP_GP_COURSE_USE_FROM_AVAILABLE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8223456, + "HandlerComment": "課金コースバージョン取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_GET_VERSION_RES", + "ID": 20, + "PacketName": "S2C_GP_GP_COURSE_GET_VERSION_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8225808, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_21_2", + "ID": 21, + "PacketName": "S2C_GP_28_21_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8225328, + "HandlerComment": "選択可能ボイスリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_EDIT_GET_VOICE_LIST_RES", + "ID": 22, + "PacketName": "S2C_GP_GP_EDIT_GET_VOICE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8226016, + "HandlerComment": "課金商品購入可能状態の取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_SHOP_CAN_BUY_RES", + "ID": 23, + "PacketName": "S2C_GP_GP_SHOP_CAN_BUY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8220624, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_24_16", + "ID": 24, + "PacketName": "S2C_GP_28_24_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8224784, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_25_16", + "ID": 25, + "PacketName": "S2C_GP_28_25_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8222960, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_26_16", + "ID": 26, + "PacketName": "S2C_GP_28_26_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8222576, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_27_16", + "ID": 27, + "PacketName": "S2C_GP_28_27_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8224960, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_28_16", + "ID": 28, + "PacketName": "S2C_GP_28_28_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8222736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_28_29_16", + "ID": 29, + "PacketName": "S2C_GP_28_29_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8222256, + "HandlerComment": "課金効能異常検知リクエスト完了", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_EFFECT_MISMATCH_RES", + "ID": 30, + "PacketName": "S2C_GP_GP_COURSE_EFFECT_MISMATCH_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8223632, + "HandlerComment": "課金効能リスト取得要求完了", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_INFO_RELOAD_RES", + "ID": 31, + "PacketName": "S2C_GP_GP_COURSE_INFO_RELOAD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8222432, + "HandlerComment": "課金効能リロード要求完了", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GP_COURSE_EFFECT_RELOAD_RES", + "ID": 32, + "PacketName": "S2C_GP_GP_COURSE_EFFECT_RELOAD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8222064, + "HandlerComment": "購入済み定型文のグループIDリスト取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GET_VALID_CHAT_COM_GROUP_RES", + "ID": 33, + "PacketName": "S2C_GP_GET_VALID_CHAT_COM_GROUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8221888, + "HandlerComment": "アプリコースボーナスの更新が必要か", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_GET_UPDATE_APP_COURSE_BONUS_FLAG_RES", + "ID": 34, + "PacketName": "S2C_GP_GET_UPDATE_APP_COURSE_BONUS_FLAG_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8227808, + "HandlerComment": "アプリコースボーナスの更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GP_UPDATE_APP_COURSE_BONUS_RES", + "ID": 35, + "PacketName": "S2C_GP_UPDATE_APP_COURSE_BONUS_RES", + "SubID": 2 + } + ] + }, + { + "Count": 30, + "EntriesAddr": 34784376, + "GroupID": 29, + "GroupName": "EQUIP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8213312, + "HandlerComment": "装備リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_GET_CHARACTER_EQUIP_LIST_RES", + "ID": 0, + "PacketName": "S2C_EQUIP_GET_CHARACTER_EQUIP_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8210400, + "HandlerComment": "装備変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_CHANGE_CHARACTER_EQUIP_RES", + "ID": 1, + "PacketName": "S2C_EQUIP_CHANGE_CHARACTER_EQUIP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8209936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_1_16", + "ID": 1, + "PacketName": "S2C_EQUIP_29_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8210544, + "HandlerComment": "倉庫装備変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_CHANGE_CHARACTER_STORAGE_EQUIP_RES", + "ID": 2, + "PacketName": "S2C_EQUIP_CHANGE_CHARACTER_STORAGE_EQUIP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214048, + "HandlerComment": "ポーン装備リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_GET_PAWN_EQUIP_LIST_RES", + "ID": 3, + "PacketName": "S2C_EQUIP_GET_PAWN_EQUIP_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8211728, + "HandlerComment": "ポーン装備変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_CHANGE_PAWN_EQUIP_RES", + "ID": 4, + "PacketName": "S2C_EQUIP_CHANGE_PAWN_EQUIP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8211392, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_4_16", + "ID": 4, + "PacketName": "S2C_EQUIP_29_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8211904, + "HandlerComment": "ポーン倉庫装備変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_CHANGE_PAWN_STORAGE_EQUIP_RES", + "ID": 5, + "PacketName": "S2C_EQUIP_CHANGE_PAWN_STORAGE_EQUIP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8209136, + "HandlerComment": "ジョブ専用アイテム装備変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_CHANGE_CHARACTER_EQUIP_JOB_ITEM_RES", + "ID": 6, + "PacketName": "S2C_EQUIP_CHANGE_CHARACTER_EQUIP_JOB_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8208736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_6_16", + "ID": 6, + "PacketName": "S2C_EQUIP_29_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8211024, + "HandlerComment": "ポーンジョブ専用アイテム装備変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_CHANGE_PAWN_EQUIP_JOB_ITEM_RES", + "ID": 7, + "PacketName": "S2C_EQUIP_CHANGE_PAWN_EQUIP_JOB_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8210720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_7_16", + "ID": 7, + "PacketName": "S2C_EQUIP_29_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214752, + "HandlerComment": "頭装備表示切り替えに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_RES", + "ID": 8, + "PacketName": "S2C_EQUIP_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8215136, + "HandlerComment": "ポーン頭装備表示切り替えに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_UPDATE_HIDE_PAWN_HEAD_ARMOR_RES", + "ID": 9, + "PacketName": "S2C_EQUIP_UPDATE_HIDE_PAWN_HEAD_ARMOR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214944, + "HandlerComment": "ランタン装備表示切り替えに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_UPDATE_HIDE_CHARACTER_LANTERN_RES", + "ID": 10, + "PacketName": "S2C_EQUIP_UPDATE_HIDE_CHARACTER_LANTERN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8215312, + "HandlerComment": "ポーンランタン装備表示切り替えに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_UPDATE_HIDE_PAWN_LANTERN_RES", + "ID": 11, + "PacketName": "S2C_EQUIP_UPDATE_HIDE_PAWN_LANTERN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8213808, + "HandlerComment": "装備プリセットリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_GET_EQUIP_PRESET_LIST_RES", + "ID": 12, + "PacketName": "S2C_EQUIP_GET_EQUIP_PRESET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214608, + "HandlerComment": "装備プリセット更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_UPDATE_EQUIP_PRESET_RES", + "ID": 13, + "PacketName": "S2C_EQUIP_UPDATE_EQUIP_PRESET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214464, + "HandlerComment": "装備プリセット名更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_UPDATE_EQUIP_PRESET_NAME_RES", + "ID": 14, + "PacketName": "S2C_EQUIP_UPDATE_EQUIP_PRESET_NAME_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8213632, + "HandlerComment": "ロックされているクレストリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_RES", + "ID": 15, + "PacketName": "S2C_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8213184, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_16_16", + "ID": 16, + "PacketName": "S2C_EQUIP_29_16_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8209520, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_17_16", + "ID": 17, + "PacketName": "S2C_EQUIP_29_17_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214336, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_18_16", + "ID": 18, + "PacketName": "S2C_EQUIP_29_18_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8213616, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_19_2", + "ID": 19, + "PacketName": "S2C_EQUIP_29_19_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214272, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_20_2", + "ID": 20, + "PacketName": "S2C_EQUIP_29_20_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214256, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_20_16", + "ID": 20, + "PacketName": "S2C_EQUIP_29_20_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214240, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_21_2", + "ID": 21, + "PacketName": "S2C_EQUIP_29_21_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_22_2", + "ID": 22, + "PacketName": "S2C_EQUIP_29_22_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214288, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_22_16", + "ID": 22, + "PacketName": "S2C_EQUIP_29_22_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8214320, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_29_23_16", + "ID": 23, + "PacketName": "S2C_EQUIP_29_23_16", + "SubID": 16 + } + ] + }, + { + "Count": 27, + "EntriesAddr": 34782744, + "GroupID": 30, + "GroupName": "CRAFT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8194880, + "HandlerComment": "クラフト状況リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_GET_CRAFT_PROGRESS_LIST_RES", + "ID": 0, + "PacketName": "S2C_CRAFT_GET_CRAFT_PROGRESS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8196576, + "HandlerComment": "クラフト開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_START_CRAFT_RES", + "ID": 1, + "PacketName": "S2C_CRAFT_START_CRAFT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8194384, + "HandlerComment": "クラフト完成品情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_GET_CRAFT_PRODUCT_INFO_RES", + "ID": 2, + "PacketName": "S2C_CRAFT_GET_CRAFT_PRODUCT_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8194688, + "HandlerComment": "クラフト完成品受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_GET_CRAFT_PRODUCT_RES", + "ID": 3, + "PacketName": "S2C_CRAFT_GET_CRAFT_PRODUCT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8192240, + "HandlerComment": "クラフト中断に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_CANCEL_CRAFT_RES", + "ID": 4, + "PacketName": "S2C_CRAFT_CANCEL_CRAFT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197472, + "HandlerComment": "武具強化に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_START_EQUIP_GRADE_UP_RES", + "ID": 5, + "PacketName": "S2C_CRAFT_START_EQUIP_GRADE_UP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8196352, + "HandlerComment": "エレメント付与に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_START_ATTACH_ELEMENT_RES", + "ID": 6, + "PacketName": "S2C_CRAFT_START_ATTACH_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8196720, + "HandlerComment": "エレメント破棄に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_START_DETACH_ELEMENT_RES", + "ID": 7, + "PacketName": "S2C_CRAFT_START_DETACH_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8196944, + "HandlerComment": "武具カラー変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_START_EQUIP_COLOR_CHANGE_RES", + "ID": 8, + "PacketName": "S2C_CRAFT_START_EQUIP_COLOR_CHANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197632, + "HandlerComment": "クラフト品質改良要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_START_QUALITY_UP_RES", + "ID": 9, + "PacketName": "S2C_CRAFT_START_QUALITY_UP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8192976, + "HandlerComment": "クラフトスキルアップに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_CRAFT_SKILL_UP_RES", + "ID": 10, + "PacketName": "S2C_CRAFT_CRAFT_SKILL_UP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8195360, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_11_2", + "ID": 11, + "PacketName": "S2C_CRAFT_30_11_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8196224, + "HandlerComment": "クラフトポイントリセットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_RESET_CRAFTPOINT_RES", + "ID": 12, + "PacketName": "S2C_CRAFT_RESET_CRAFTPOINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8195056, + "HandlerComment": "クラフト設定取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_GET_CRAFT_SETTING_RES", + "ID": 13, + "PacketName": "S2C_CRAFT_GET_CRAFT_SETTING_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8193168, + "HandlerComment": "クラフト時間短縮要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_CRAFT_TIME_SAVE_RES", + "ID": 14, + "PacketName": "S2C_CRAFT_CRAFT_TIME_SAVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8194128, + "HandlerComment": "クラフトIR補正値リスト取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_GET_CRAFT_IR_COLLECTION_VALUE_LIST_RES", + "ID": 15, + "PacketName": "S2C_CRAFT_GET_CRAFT_IR_COLLECTION_VALUE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8196016, + "HandlerComment": "解放済みクラフトレシピリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_RELEASED_CRAFT_RECIPE_LIST_GET_RES", + "ID": 16, + "PacketName": "S2C_CRAFT_RELEASED_CRAFT_RECIPE_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8192800, + "HandlerComment": "クラフトスキル分析に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_CRAFT_SKILL_ANALYZE_RES", + "ID": 17, + "PacketName": "S2C_CRAFT_CRAFT_SKILL_ANALYZE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8193952, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_18_16", + "ID": 18, + "PacketName": "S2C_CRAFT_30_18_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8192480, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_19_16", + "ID": 19, + "PacketName": "S2C_CRAFT_30_19_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8192624, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_20_16", + "ID": 20, + "PacketName": "S2C_CRAFT_30_20_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197872, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_21_16", + "ID": 21, + "PacketName": "S2C_CRAFT_30_21_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197856, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_22_16", + "ID": 22, + "PacketName": "S2C_CRAFT_30_22_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197840, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_23_16", + "ID": 23, + "PacketName": "S2C_CRAFT_30_23_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197968, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_30_24_16", + "ID": 24, + "PacketName": "S2C_CRAFT_30_24_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8193616, + "HandlerComment": "竜スキル合成要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_DRAGON_SKILL_COMPOSE_RES", + "ID": 25, + "PacketName": "S2C_CRAFT_DRAGON_SKILL_COMPOSE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8193328, + "HandlerComment": "竜スキル合成分析要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_DRAGON_SKILL_ANALYZE_RES", + "ID": 26, + "PacketName": "S2C_CRAFT_DRAGON_SKILL_ANALYZE_RES", + "SubID": 2 + } + ] + }, + { + "Count": 63, + "EntriesAddr": 34780512, + "GroupID": 31, + "GroupName": "CLAN", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8170288, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_0_2", + "ID": 0, + "PacketName": "S2C_CLAN_31_0_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8170720, + "HandlerComment": "クラン作成に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_CREATE_RES", + "ID": 1, + "PacketName": "S2C_CLAN_CLAN_CREATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8182992, + "HandlerComment": "クラン更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_UPDATE_RES", + "ID": 2, + "PacketName": "S2C_CLAN_CLAN_UPDATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8182864, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_2_16", + "ID": 2, + "PacketName": "S2C_CLAN_31_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8171760, + "HandlerComment": "クランメンバー取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_MEMBER_LIST_RES", + "ID": 3, + "PacketName": "S2C_CLAN_CLAN_GET_MEMBER_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8172656, + "HandlerComment": "自分のクランメンバー取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_MY_MEMBER_LIST_RES", + "ID": 4, + "PacketName": "S2C_CLAN_CLAN_GET_MY_MEMBER_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8179744, + "HandlerComment": "クラン検索に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SEARCH_RES", + "ID": 5, + "PacketName": "S2C_CLAN_CLAN_SEARCH_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8171296, + "HandlerComment": "クラン情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_INFO_RES", + "ID": 6, + "PacketName": "S2C_CLAN_CLAN_GET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8177360, + "HandlerComment": "クラン加入申請に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_REGISTER_JOIN_RES", + "ID": 7, + "PacketName": "S2C_CLAN_CLAN_REGISTER_JOIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8176976, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_7_16", + "ID": 7, + "PacketName": "S2C_CLAN_31_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8170112, + "HandlerComment": "クラン加入申請キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_CANCEL_JOIN_RES", + "ID": 8, + "PacketName": "S2C_CLAN_CLAN_CANCEL_JOIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8169936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_8_16", + "ID": 8, + "PacketName": "S2C_CLAN_31_8_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8171568, + "HandlerComment": "クラン加入申請リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_JOIN_REQUESTED_LIST_RES", + "ID": 9, + "PacketName": "S2C_CLAN_CLAN_GET_JOIN_REQUESTED_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8172448, + "HandlerComment": "クラン加入申請中リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_MY_JOIN_REQUEST_LIST_RES", + "ID": 10, + "PacketName": "S2C_CLAN_CLAN_GET_MY_JOIN_REQUEST_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8168720, + "HandlerComment": "クラン加入許可(拒否)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_APPROVE_JOIN_RES", + "ID": 11, + "PacketName": "S2C_CLAN_CLAN_APPROVE_JOIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8174928, + "HandlerComment": "クラン脱退に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_LEAVE_MEMBER_RES", + "ID": 12, + "PacketName": "S2C_CLAN_CLAN_LEAVE_MEMBER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8174736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_12_16", + "ID": 12, + "PacketName": "S2C_CLAN_31_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8170976, + "HandlerComment": "クラン除名に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_EXPEL_MEMBER_RES", + "ID": 13, + "PacketName": "S2C_CLAN_CLAN_EXPEL_MEMBER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8175984, + "HandlerComment": "クランマスター譲渡に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_NEGOTIATE_MASTER_RES", + "ID": 14, + "PacketName": "S2C_CLAN_CLAN_NEGOTIATE_MASTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8175408, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_14_16", + "ID": 14, + "PacketName": "S2C_CLAN_31_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8180288, + "HandlerComment": "クランメンバーランク設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SET_MEMBER_RANK_RES", + "ID": 15, + "PacketName": "S2C_CLAN_CLAN_SET_MEMBER_RANK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8180080, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_15_16", + "ID": 15, + "PacketName": "S2C_CLAN_31_15_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8171936, + "HandlerComment": "クランメンバー数取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_MEMBER_NUM_RES", + "ID": 16, + "PacketName": "S2C_CLAN_CLAN_GET_MEMBER_NUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8179936, + "HandlerComment": "クラン設定更新要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SETTING_UPDATE_RES", + "ID": 17, + "PacketName": "S2C_CLAN_CLAN_SETTING_UPDATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8173568, + "HandlerComment": "クラン直接勧誘に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_INVITE_RES", + "ID": 18, + "PacketName": "S2C_CLAN_CLAN_INVITE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8173040, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_18_16", + "ID": 18, + "PacketName": "S2C_CLAN_31_18_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8172896, + "HandlerComment": "クラン直接勧誘承認に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_INVITE_ACCEPT_RES", + "ID": 19, + "PacketName": "S2C_CLAN_CLAN_INVITE_ACCEPT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8179392, + "HandlerComment": "クランスカウトエントリーに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_REGISTER_RES", + "ID": 20, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_REGISTER_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8178128, + "HandlerComment": "クランスカウトエントリー解除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_CANCEL_RES", + "ID": 21, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8178768, + "HandlerComment": "自分のクランスカウトエントリー取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_GET_MY_RES", + "ID": 22, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_GET_MY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8179568, + "HandlerComment": "クランスカウトエントリーリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_SEARCH_RES", + "ID": 23, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_SEARCH_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8179232, + "HandlerComment": "クラン勧誘に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_INVITE_RES", + "ID": 24, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_INVITE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8178992, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_24_16", + "ID": 24, + "PacketName": "S2C_CLAN_31_24_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8178592, + "HandlerComment": "クラン勧誘中リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_RES", + "ID": 25, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_GET_INVITE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8177968, + "HandlerComment": "クラン勧誘キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_CANCEL_INVITE_RES", + "ID": 26, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_CANCEL_INVITE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8177792, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_26_16", + "ID": 26, + "PacketName": "S2C_CLAN_31_26_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8178400, + "HandlerComment": "クラン勧誘受けてるリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_RES", + "ID": 27, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_GET_INVITED_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8177536, + "HandlerComment": "クラン勧誘承認(拒否)に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SCOUT_ENTRY_APPROVE_INVITED_RES", + "ID": 28, + "PacketName": "S2C_CLAN_CLAN_SCOUT_ENTRY_APPROVE_INVITED_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8172208, + "HandlerComment": "自クラン取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_MY_INFO_RES", + "ID": 29, + "PacketName": "S2C_CLAN_CLAN_GET_MY_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8171120, + "HandlerComment": "クランヒストリー取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_GET_HISTORY_RES", + "ID": 30, + "PacketName": "S2C_CLAN_CLAN_GET_HISTORY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8168976, + "HandlerComment": "クラン拠点情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_BASE_GET_INFO_RES", + "ID": 31, + "PacketName": "S2C_CLAN_CLAN_BASE_GET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8169296, + "HandlerComment": "クラン拠点解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_BASE_RELEASE_RES", + "ID": 32, + "PacketName": "S2C_CLAN_CLAN_BASE_RELEASE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8182192, + "HandlerComment": "クランショップ買い切り商品リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_RES", + "ID": 33, + "PacketName": "S2C_CLAN_CLAN_SHOP_GET_FUNCTION_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8182000, + "HandlerComment": "クランショップバフ商品リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SHOP_GET_BUFF_ITEM_LIST_RES", + "ID": 34, + "PacketName": "S2C_CLAN_CLAN_SHOP_GET_BUFF_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8180816, + "HandlerComment": "クランショップ買い切り商品購入に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SHOP_BUY_FUNCTION_ITEM_RES", + "ID": 35, + "PacketName": "S2C_CLAN_CLAN_SHOP_BUY_FUNCTION_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8180448, + "HandlerComment": "クランショップバフ商品購入に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_SHOP_BUY_BUFF_ITEM_RES", + "ID": 36, + "PacketName": "S2C_CLAN_CLAN_SHOP_BUY_BUFF_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8170496, + "HandlerComment": "クラン管理人更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_CONCIERGE_UPDATE_RES", + "ID": 37, + "PacketName": "S2C_CLAN_CLAN_CONCIERGE_UPDATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8170304, + "HandlerComment": "クラン管理人リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_CONCIERGE_GET_LIST_RES", + "ID": 38, + "PacketName": "S2C_CLAN_CLAN_CONCIERGE_GET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8176368, + "HandlerComment": "クランパートナーポーンリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_PARTNER_PAWN_LIST_GET_RES", + "ID": 39, + "PacketName": "S2C_CLAN_CLAN_PARTNER_PAWN_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8176144, + "HandlerComment": "クランパートナーポーンデータ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_CLAN_PARTNER_PAWN_DATA_GET_RES", + "ID": 40, + "PacketName": "S2C_CLAN_CLAN_PARTNER_PAWN_DATA_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8174224, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_41_16", + "ID": 41, + "PacketName": "S2C_CLAN_31_41_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8173824, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_42_16", + "ID": 42, + "PacketName": "S2C_CLAN_31_42_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8174320, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_43_16", + "ID": 43, + "PacketName": "S2C_CLAN_31_43_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8173712, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_44_16", + "ID": 44, + "PacketName": "S2C_CLAN_31_44_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8176720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_45_16", + "ID": 45, + "PacketName": "S2C_CLAN_31_45_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8176496, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_46_16", + "ID": 46, + "PacketName": "S2C_CLAN_31_46_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8175136, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_47_16", + "ID": 47, + "PacketName": "S2C_CLAN_31_47_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8182384, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_48_16", + "ID": 48, + "PacketName": "S2C_CLAN_31_48_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8178304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_49_16", + "ID": 49, + "PacketName": "S2C_CLAN_31_49_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8181216, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_50_16", + "ID": 50, + "PacketName": "S2C_CLAN_31_50_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8169472, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_31_51_16", + "ID": 51, + "PacketName": "S2C_CLAN_31_51_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8183424, + "HandlerComment": "クラン家具の設置に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_SET_FURNITURE_RES", + "ID": 52, + "PacketName": "S2C_CLAN_SET_FURNITURE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8183168, + "HandlerComment": "クラン家具の設置情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CLAN_GET_FURNITURE_RES", + "ID": 53, + "PacketName": "S2C_CLAN_GET_FURNITURE_RES", + "SubID": 2 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34796736, + "GroupID": 32, + "GroupName": "RANDOM", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8347952, + "HandlerComment": "ランダムステージ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANDOM_STAGE_RANDOM_STAGE_GET_INFO_RES", + "ID": 0, + "PacketName": "S2C_RANDOM_STAGE_RANDOM_STAGE_GET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8347792, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANDOM_STAGE_RANDOM_STAGE_CLEAR_INFO_RES", + "ID": 1, + "PacketName": "S2C_RANDOM_STAGE_RANDOM_STAGE_CLEAR_INFO_RES", + "SubID": 2 + } + ] + }, + { + "Count": 23, + "EntriesAddr": 34788264, + "GroupID": 33, + "GroupName": "JOB", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8259040, + "HandlerComment": "ジョブチェンジリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_GET_JOB_CHANGE_LIST_RES", + "ID": 0, + "PacketName": "S2C_JOB_GET_JOB_CHANGE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8251664, + "HandlerComment": "ジョブチェンジに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_CHANGE_JOB_RES", + "ID": 1, + "PacketName": "S2C_JOB_CHANGE_JOB_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8250688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_1_16", + "ID": 1, + "PacketName": "S2C_JOB_33_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8253744, + "HandlerComment": "ポーンジョブチェンジに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_CHANGE_PAWN_JOB_RES", + "ID": 2, + "PacketName": "S2C_JOB_CHANGE_PAWN_JOB_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8252784, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_2_16", + "ID": 2, + "PacketName": "S2C_JOB_33_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8265328, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_3_16", + "ID": 3, + "PacketName": "S2C_JOB_33_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8266208, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_4_16", + "ID": 4, + "PacketName": "S2C_JOB_33_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8264208, + "HandlerComment": "ジョブポイントリセットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_RESET_JOBPOINT_RES", + "ID": 5, + "PacketName": "S2C_JOB_RESET_JOBPOINT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8258880, + "HandlerComment": "経験値入手モードの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_GET_EXP_MODE_RES", + "ID": 6, + "PacketName": "S2C_JOB_GET_EXP_MODE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8264832, + "HandlerComment": "経験値入手モード更新に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_UPDATE_EXP_MODE_RES", + "ID": 7, + "PacketName": "S2C_JOB_UPDATE_EXP_MODE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8259216, + "HandlerComment": "プレイポイント情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_GET_PLAY_POINT_LIST_RES", + "ID": 8, + "PacketName": "S2C_JOB_GET_PLAY_POINT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8259744, + "HandlerComment": "プレイポイントショップラインナップ取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_JOB_VALUE_SHOP_GET_LINEUP_RES", + "ID": 9, + "PacketName": "S2C_JOB_JOB_VALUE_SHOP_GET_LINEUP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8259520, + "HandlerComment": "プレイポイントショップ購入", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_JOB_VALUE_SHOP_BUY_ITEM_RES", + "ID": 10, + "PacketName": "S2C_JOB_JOB_VALUE_SHOP_BUY_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8254992, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_11_16", + "ID": 11, + "PacketName": "S2C_JOB_33_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8256080, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_12_16", + "ID": 12, + "PacketName": "S2C_JOB_33_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8255488, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_13_16", + "ID": 13, + "PacketName": "S2C_JOB_33_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8256880, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_14_16", + "ID": 14, + "PacketName": "S2C_JOB_33_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8263088, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_15_16", + "ID": 15, + "PacketName": "S2C_JOB_33_15_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8263824, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_16_16", + "ID": 16, + "PacketName": "S2C_JOB_33_16_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8263600, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_17_16", + "ID": 17, + "PacketName": "S2C_JOB_33_17_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8264352, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_18_16", + "ID": 18, + "PacketName": "S2C_JOB_33_18_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8267072, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_19_16", + "ID": 19, + "PacketName": "S2C_JOB_33_19_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8267632, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_33_20_16", + "ID": 20, + "PacketName": "S2C_JOB_33_20_16", + "SubID": 16 + } + ] + }, + { + "Count": 26, + "EntriesAddr": 34783752, + "GroupID": 34, + "GroupName": "ENTRY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8208144, + "HandlerComment": "ボード情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_LIST_RES", + "ID": 0, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8206464, + "HandlerComment": "エントリーボードアイテムリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_LIST_RES", + "ID": 1, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8203216, + "HandlerComment": "エントリーボードアイテム作成に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_CREATE_RES", + "ID": 2, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_CREATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8207296, + "HandlerComment": "エントリーボードアイテム再作成に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_RECREATE_RES", + "ID": 3, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_RECREATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8207008, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_3_16", + "ID": 3, + "PacketName": "S2C_ENTRY_34_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8203568, + "HandlerComment": "エントリーボードアイテム参加に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_ENTRY_RES", + "ID": 4, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_ENTRY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8206240, + "HandlerComment": "エントリーボードアイテムから抜けるに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_LEAVE_RES", + "ID": 5, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_LEAVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8206000, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_5_16", + "ID": 5, + "PacketName": "S2C_ENTRY_34_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8206864, + "HandlerComment": "エントリーボード準備完了に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_READY_RES", + "ID": 6, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_READY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8206688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_6_16", + "ID": 6, + "PacketName": "S2C_ENTRY_34_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8204256, + "HandlerComment": "エントリー強制開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_FORCE_START_RES", + "ID": 7, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_FORCE_START_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8205312, + "HandlerComment": "エントリーボードアイテム情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_RES", + "ID": 8, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8205008, + "HandlerComment": "自身のエントリーボードアイテム情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_MYSELF_RES", + "ID": 9, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_MYSELF_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8204064, + "HandlerComment": "エントリーボードアイテムタイムアウト延長に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_RES", + "ID": 10, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_EXTEND_TIMEOUT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8204864, + "HandlerComment": "エントリーボードアイテムロックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_LOCK_RES", + "ID": 11, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_LOCK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8204640, + "HandlerComment": "エントリーボードアイテム情報変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_CHANGE_RES", + "ID": 12, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INFO_CHANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8204400, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_12_16", + "ID": 12, + "PacketName": "S2C_ENTRY_34_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8205696, + "HandlerComment": "エントリーボード招待に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INVITE_RES", + "ID": 13, + "PacketName": "S2C_ENTRY_BOARD_ENTRY_BOARD_ITEM_INVITE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8205536, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_13_16", + "ID": 13, + "PacketName": "S2C_ENTRY_34_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8203120, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_14_16", + "ID": 14, + "PacketName": "S2C_ENTRY_34_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8208112, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_15_16", + "ID": 15, + "PacketName": "S2C_ENTRY_34_15_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8207600, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_16_16", + "ID": 16, + "PacketName": "S2C_ENTRY_34_16_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8206640, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_17_16", + "ID": 17, + "PacketName": "S2C_ENTRY_34_17_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8207840, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_34_18_16", + "ID": 18, + "PacketName": "S2C_ENTRY_34_18_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8208512, + "HandlerComment": "パーティ募集掲示板リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_PARTY_RECRUIT_CATEGORY_LIST_RES", + "ID": 19, + "PacketName": "S2C_ENTRY_BOARD_PARTY_RECRUIT_CATEGORY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8208368, + "HandlerComment": "エントリメンバーキックに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ENTRY_BOARD_ITEM_KICK_RES", + "ID": 20, + "PacketName": "S2C_ENTRY_BOARD_ITEM_KICK_RES", + "SubID": 2 + } + ] + }, + { + "Count": 18, + "EntriesAddr": 34782312, + "GroupID": 35, + "GroupName": "CONTEXT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8188496, + "HandlerComment": "ロビープレイヤーコンテキスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_GET_LOBBY_PLAYER_CONTEXT_RES", + "ID": 0, + "PacketName": "S2C_CONTEXT_GET_LOBBY_PLAYER_CONTEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8188080, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_0_16", + "ID": 0, + "PacketName": "S2C_CONTEXT_35_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8190000, + "HandlerComment": "パーティプレイヤーコンテキスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_GET_PARTY_PLAYER_CONTEXT_RES", + "ID": 1, + "PacketName": "S2C_CONTEXT_GET_PARTY_PLAYER_CONTEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8189296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_1_16", + "ID": 1, + "PacketName": "S2C_CONTEXT_35_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8187856, + "HandlerComment": "全部入りプレイヤーコンテキスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_GET_ALL_PLAYER_CONTEXT_RES", + "ID": 2, + "PacketName": "S2C_CONTEXT_GET_ALL_PLAYER_CONTEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8187504, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_2_16", + "ID": 2, + "PacketName": "S2C_CONTEXT_35_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8189056, + "HandlerComment": "パーティマイポーンコンテキスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_RES", + "ID": 3, + "PacketName": "S2C_CONTEXT_GET_PARTY_MYPAWN_CONTEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8188720, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_3_16", + "ID": 3, + "PacketName": "S2C_CONTEXT_35_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8190496, + "HandlerComment": "パーティレンタル済みポーンコンテキスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_GET_PARTY_RENTED_PAWN_CONTEXT_RES", + "ID": 4, + "PacketName": "S2C_CONTEXT_GET_PARTY_RENTED_PAWN_CONTEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8190224, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_4_16", + "ID": 4, + "PacketName": "S2C_CONTEXT_35_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8190736, + "HandlerComment": "セットコンテキスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_GET_SET_CONTEXT_RES", + "ID": 7, + "PacketName": "S2C_CONTEXT_GET_SET_CONTEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8191568, + "HandlerComment": "マスター移譲に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_MASTER_THROW_RES", + "ID": 10, + "PacketName": "S2C_CONTEXT_MASTER_THROW_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8191328, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_10_16", + "ID": 10, + "PacketName": "S2C_CONTEXT_35_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8191712, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_11_16", + "ID": 11, + "PacketName": "S2C_CONTEXT_35_11_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8192096, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_12_16", + "ID": 12, + "PacketName": "S2C_CONTEXT_35_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8191968, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_13_16", + "ID": 13, + "PacketName": "S2C_CONTEXT_35_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8190880, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_14_16", + "ID": 14, + "PacketName": "S2C_CONTEXT_35_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8191104, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CONTEXT_35_15_16", + "ID": 15, + "PacketName": "S2C_CONTEXT_35_15_16", + "SubID": 16 + } + ] + }, + { + "Count": 13, + "EntriesAddr": 34778808, + "GroupID": 36, + "GroupName": "BAZAAR", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8151344, + "HandlerComment": "バザー利用状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_GET_CHARACTER_LIST_RES", + "ID": 0, + "PacketName": "S2C_BAZAAR_GET_CHARACTER_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8152192, + "HandlerComment": "バザーアイテム情報一覧取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_GET_ITEM_LIST_RES", + "ID": 1, + "PacketName": "S2C_BAZAAR_GET_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8151952, + "HandlerComment": "バザーアイテムごとのバザー情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_GET_ITEM_INFO_RES", + "ID": 2, + "PacketName": "S2C_BAZAAR_GET_ITEM_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8151712, + "HandlerComment": "バザーアイテムごとのバザー履歴情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_GET_ITEM_HISTORY_INFO_RES", + "ID": 3, + "PacketName": "S2C_BAZAAR_GET_ITEM_HISTORY_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8151168, + "HandlerComment": "バザー出品開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_EXHIBIT_RES", + "ID": 4, + "PacketName": "S2C_BAZAAR_EXHIBIT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8153136, + "HandlerComment": "バザー再出品開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_RE_EXHIBIT_RES", + "ID": 5, + "PacketName": "S2C_BAZAAR_RE_EXHIBIT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8150992, + "HandlerComment": "バザー出品キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_CANCEL_RES", + "ID": 6, + "PacketName": "S2C_BAZAAR_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8152784, + "HandlerComment": "バザーアイテム購入に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_PROCEEDS_RES", + "ID": 7, + "PacketName": "S2C_BAZAAR_PROCEEDS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8152544, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_36_7_16", + "ID": 7, + "PacketName": "S2C_BAZAAR_36_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8152960, + "HandlerComment": "バザー売上金受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_RECEIVE_PROCEEDS_RES", + "ID": 8, + "PacketName": "S2C_BAZAAR_RECEIVE_PROCEEDS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8152336, + "HandlerComment": "バザー出品価格制限取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_GET_ITEM_PRICE_LIMIT_RES", + "ID": 9, + "PacketName": "S2C_BAZAAR_GET_ITEM_PRICE_LIMIT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8152528, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_36_10_2", + "ID": 10, + "PacketName": "S2C_BAZAAR_36_10_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8151536, + "HandlerComment": "バザー出品可能上限取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_RES", + "ID": 11, + "PacketName": "S2C_BAZAAR_GET_EXHIBIT_POSSIBLE_NUM_RES", + "SubID": 2 + } + ] + }, + { + "Count": 15, + "EntriesAddr": 34789272, + "GroupID": 37, + "GroupName": "MAIL", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8270128, + "HandlerComment": "メールリストヘッダ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_MAIL_GET_LIST_HEAD_RES", + "ID": 0, + "PacketName": "S2C_MAIL_MAIL_GET_LIST_HEAD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8269712, + "HandlerComment": "メールリスト本体取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_MAIL_GET_LIST_DATA_RES", + "ID": 1, + "PacketName": "S2C_MAIL_MAIL_GET_LIST_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8269984, + "HandlerComment": "メールリスト取得終了に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_MAIL_GET_LIST_FOOT_RES", + "ID": 2, + "PacketName": "S2C_MAIL_MAIL_GET_LIST_FOOT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8270272, + "HandlerComment": "メール本文取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_MAIL_GET_TEXT_RES", + "ID": 3, + "PacketName": "S2C_MAIL_MAIL_GET_TEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8269520, + "HandlerComment": "メール削除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_MAIL_DELETE_RES", + "ID": 4, + "PacketName": "S2C_MAIL_MAIL_DELETE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8270848, + "HandlerComment": "メール送信に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_MAIL_SEND_RES", + "ID": 5, + "PacketName": "S2C_MAIL_MAIL_SEND_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8270640, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_37_5_16", + "ID": 5, + "PacketName": "S2C_MAIL_37_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8273840, + "HandlerComment": "お知らせメールリストヘッダ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_GET_LIST_HEAD_RES", + "ID": 6, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_GET_LIST_HEAD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8273472, + "HandlerComment": "お知らせメールリスト本体取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_GET_LIST_DATA_RES", + "ID": 7, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_GET_LIST_DATA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8273696, + "HandlerComment": "お知らせメールリスト取得終了に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_GET_LIST_FOOT_RES", + "ID": 8, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_GET_LIST_FOOT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8274000, + "HandlerComment": "お知らせメール本文取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_GET_TEXT_RES", + "ID": 9, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_GET_TEXT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8273120, + "HandlerComment": "お知らせメール添付アイテム取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_GET_ITEM_RES", + "ID": 10, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_GET_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8272912, + "HandlerComment": "お知らせメール添付アイテム全取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_GET_ALL_ITEM_RES", + "ID": 11, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_GET_ALL_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8271056, + "HandlerComment": "お知らせメール削除に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_SYSTEM_MAIL_DELETE_RES", + "ID": 12, + "PacketName": "S2C_MAIL_SYSTEM_MAIL_DELETE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8274304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MAIL_37_13_16", + "ID": 13, + "PacketName": "S2C_MAIL_37_13_16", + "SubID": 16 + } + ] + }, + { + "Count": 5, + "EntriesAddr": 34796784, + "GroupID": 38, + "GroupName": "RANKING", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8348144, + "HandlerComment": "ランキングボードリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANKING_BOARD_LIST_RES", + "ID": 0, + "PacketName": "S2C_RANKING_BOARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8348736, + "HandlerComment": "ランキング情報リストを順位で取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANKING_RANK_LIST_RES", + "ID": 1, + "PacketName": "S2C_RANKING_RANK_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8348560, + "HandlerComment": "ランキング情報リストを順位で取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANKING_RANK_LIST_BY_QUEST_SCHEDULE_ID_RES", + "ID": 2, + "PacketName": "S2C_RANKING_RANK_LIST_BY_QUEST_SCHEDULE_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8348384, + "HandlerComment": "ランキング情報リストをキャラクタIDで取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANKING_RANK_LIST_BY_CHARACTER_ID_RES", + "ID": 3, + "PacketName": "S2C_RANKING_RANK_LIST_BY_CHARACTER_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8348368, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RANKING_38_4_2", + "ID": 4, + "PacketName": "S2C_RANKING_38_4_2", + "SubID": 2 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34785408, + "GroupID": 39, + "GroupName": "GACHA", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8219888, + "HandlerComment": "ガチャリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GACHA_GACHA_LIST_RES", + "ID": 0, + "PacketName": "S2C_GACHA_GACHA_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8219696, + "HandlerComment": "ガチャ購入取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_GACHA_GACHA_BUY_RES", + "ID": 1, + "PacketName": "S2C_GACHA_GACHA_BUY_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34783464, + "GroupID": 40, + "GroupName": null, + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8200848, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_40_2_2", + "ID": 2, + "PacketName": "S2C_40_2_2", + "SubID": 2 + } + ] + }, + { + "Count": 9, + "EntriesAddr": 34780248, + "GroupID": 41, + "GroupName": "CHARACTER", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8159952, + "HandlerComment": "使用可能エディットパーツリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_GET_UNLOCKED_EDIT_PARTS_LIST_RES", + "ID": 0, + "PacketName": "S2C_CHARACTER_EDIT_GET_UNLOCKED_EDIT_PARTS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8160160, + "HandlerComment": "使用可能ポーンエディットパーツリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_GET_UNLOCKED_PAWN_EDIT_PARTS_LIST_RES", + "ID": 1, + "PacketName": "S2C_CHARACTER_EDIT_GET_UNLOCKED_PAWN_EDIT_PARTS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8160592, + "HandlerComment": "キャラクタエディット更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_RES", + "ID": 2, + "PacketName": "S2C_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8162368, + "HandlerComment": "ポーンエディット更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_RES", + "ID": 3, + "PacketName": "S2C_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8161504, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_41_4_16", + "ID": 4, + "PacketName": "S2C_CHARACTER_41_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8160288, + "HandlerComment": "キャラクタエディット拡張更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_EX_RES", + "ID": 5, + "PacketName": "S2C_CHARACTER_EDIT_UPDATE_CHARACTER_EDIT_PARAM_EX_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8161872, + "HandlerComment": "ポーンエディット拡張更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_EX_RES", + "ID": 6, + "PacketName": "S2C_CHARACTER_EDIT_UPDATE_PAWN_EDIT_PARAM_EX_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8160832, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_41_7_16", + "ID": 7, + "PacketName": "S2C_CHARACTER_41_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8159712, + "HandlerComment": "美容院と従者の転生の価格の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CHARACTER_EDIT_GET_SHOP_PRICE_RES", + "ID": 8, + "PacketName": "S2C_CHARACTER_EDIT_GET_SHOP_PRICE_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34792560, + "GroupID": 42, + "GroupName": "PHOTO", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8314224, + "HandlerComment": "フォトアップロード認証用アドレス取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PHOTO_PHOTO_GET_AUTH_ADDRESS_RES", + "ID": 1, + "PacketName": "S2C_PHOTO_PHOTO_GET_AUTH_ADDRESS_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34789128, + "GroupID": 43, + "GroupName": "LOADING", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8267984, + "HandlerComment": "ロード画面情報取得応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_LOADING_INFO_LOADING_GET_INFO_RES", + "ID": 0, + "PacketName": "S2C_LOADING_INFO_LOADING_GET_INFO_RES", + "SubID": 2 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34779336, + "GroupID": 44, + "GroupName": "CERT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8155328, + "HandlerComment": "暗号化した共通鍵と共通鍵で暗号化した合言葉のやりとりに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CERT_CLIENT_CHALLENGE_RES", + "ID": 0, + "PacketName": "S2C_CERT_CLIENT_CHALLENGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8155728, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CERT_44_1_16", + "ID": 1, + "PacketName": "S2C_CERT_44_1_16", + "SubID": 16 + } + ] + }, + { + "Count": 5, + "EntriesAddr": 34798896, + "GroupID": 45, + "GroupName": "STAMP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8380736, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAMP_BONUS_GET_LIST_RES", + "ID": 0, + "PacketName": "S2C_STAMP_BONUS_GET_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8380528, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAMP_BONUS_CHECK_RES", + "ID": 1, + "PacketName": "S2C_STAMP_BONUS_CHECK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8381200, + "HandlerComment": "スタンプボーナスの情報更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAMP_BONUS_UPDATE_RES", + "ID": 2, + "PacketName": "S2C_STAMP_BONUS_UPDATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8380912, + "HandlerComment": "連続スタンプボーナスの受取要求", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAMP_BONUS_RECIEVE_DAILY_RES", + "ID": 3, + "PacketName": "S2C_STAMP_BONUS_RECIEVE_DAILY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8381056, + "HandlerComment": "累計スタンプボーナスの受取要求", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_STAMP_BONUS_RECIEVE_TOTAL_RES", + "ID": 4, + "PacketName": "S2C_STAMP_BONUS_RECIEVE_TOTAL_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34789872, + "GroupID": 46, + "GroupName": "NG", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8282592, + "HandlerComment": "禁止文言リストの取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_NG_WORD_NG_WORD_GET_LIST_RES", + "ID": 0, + "PacketName": "S2C_NG_WORD_NG_WORD_GET_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34785120, + "GroupID": 47, + "GroupName": "EVENT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8215488, + "HandlerComment": "イベントコードの入力に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EVENT_CODE_EVENT_CODE_INPUT_RES", + "ID": 0, + "PacketName": "S2C_EVENT_CODE_EVENT_CODE_INPUT_RES", + "SubID": 2 + } + ] + }, + { + "Count": 6, + "EntriesAddr": 34783608, + "GroupID": 48, + "GroupName": "DLC", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8202064, + "HandlerComment": "DLC購入履歴取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DLC_DLC_GET_BOUGHT_RES", + "ID": 0, + "PacketName": "S2C_DLC_DLC_GET_BOUGHT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8202528, + "HandlerComment": "DLC商品の使用", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DLC_DLC_USE_RES", + "ID": 1, + "PacketName": "S2C_DLC_DLC_USE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8202288, + "HandlerComment": "DLC使用履歴取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DLC_DLC_GET_HISTORY_RES", + "ID": 2, + "PacketName": "S2C_DLC_DLC_GET_HISTORY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8202800, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DLC_48_3_2", + "ID": 3, + "PacketName": "S2C_DLC_48_3_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8202784, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DLC_48_3_16", + "ID": 3, + "PacketName": "S2C_DLC_48_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8202048, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DLC_48_4_16", + "ID": 4, + "PacketName": "S2C_DLC_48_4_16", + "SubID": 16 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34799016, + "GroupID": 49, + "GroupName": "SUPPORT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8381344, + "HandlerComment": "サポートポイント還元率リスト取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SUPPORT_POINT_SUPPORT_POINT_GET_RATE_RES", + "ID": 0, + "PacketName": "S2C_SUPPORT_POINT_SUPPORT_POINT_GET_RATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8381568, + "HandlerComment": "サポートポイント使用に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SUPPORT_POINT_SUPPORT_POINT_USE_RES", + "ID": 1, + "PacketName": "S2C_SUPPORT_POINT_SUPPORT_POINT_USE_RES", + "SubID": 2 + } + ] + }, + { + "Count": 3, + "EntriesAddr": 34788192, + "GroupID": 50, + "GroupName": "ITEM", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8248192, + "HandlerComment": "アイテムソートデータ取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_SORT_GET_ITEM_SORTDATA_BIN_RES", + "ID": 0, + "PacketName": "S2C_ITEM_SORT_GET_ITEM_SORTDATA_BIN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8247984, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_50_0_16", + "ID": 0, + "PacketName": "S2C_ITEM_50_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8248368, + "HandlerComment": "アイテムソートデータ保存要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ITEM_SORT_SET_ITEM_SORTDATA_BIN_RES", + "ID": 1, + "PacketName": "S2C_ITEM_SORT_SET_ITEM_SORTDATA_BIN_RES", + "SubID": 2 + } + ] + }, + { + "Count": 5, + "EntriesAddr": 34783488, + "GroupID": 51, + "GroupName": "DISPEL", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8201168, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DISPEL_GET_DISPEL_ITEM_LIST_RES", + "ID": 0, + "PacketName": "S2C_DISPEL_GET_DISPEL_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8200992, + "HandlerComment": "解呪アイテム交換に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DISPEL_EXCHANGE_DISPEL_ITEM_RES", + "ID": 1, + "PacketName": "S2C_DISPEL_EXCHANGE_DISPEL_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8201392, + "HandlerComment": "解呪アイテム設定情報取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DISPEL_GET_DISPEL_ITEM_SETTING_RES", + "ID": 2, + "PacketName": "S2C_DISPEL_GET_DISPEL_ITEM_SETTING_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8201792, + "HandlerComment": "解呪ロック設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DISPEL_LOCK_SETTING_RES", + "ID": 3, + "PacketName": "S2C_DISPEL_LOCK_SETTING_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8201632, + "HandlerComment": "解呪ロック設定情報取得要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DISPEL_GET_LOCK_SETTING_RES", + "ID": 4, + "PacketName": "S2C_DISPEL_GET_LOCK_SETTING_RES", + "SubID": 2 + } + ] + }, + { + "Count": 10, + "EntriesAddr": 34789632, + "GroupID": 52, + "GroupName": "MY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8281360, + "HandlerComment": "自室解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_MY_ROOM_RELEASE_RES", + "ID": 0, + "PacketName": "S2C_MY_ROOM_MY_ROOM_RELEASE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8280720, + "HandlerComment": "自室家具リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_FURNITURE_LIST_GET_RES", + "ID": 1, + "PacketName": "S2C_MY_ROOM_FURNITURE_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8280512, + "HandlerComment": "自室家具設置に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_FURNITURE_LAYOUT_RES", + "ID": 2, + "PacketName": "S2C_MY_ROOM_FURNITURE_LAYOUT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8281216, + "HandlerComment": "自室BGM変更に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_MY_ROOM_BGM_UPDATE_RES", + "ID": 3, + "PacketName": "S2C_MY_ROOM_MY_ROOM_BGM_UPDATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8281904, + "HandlerComment": "他人の部屋情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_OTHER_ROOM_LAYOUT_GET_RES", + "ID": 4, + "PacketName": "S2C_MY_ROOM_OTHER_ROOM_LAYOUT_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8281792, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_52_5_2", + "ID": 5, + "PacketName": "S2C_MY_52_5_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8281488, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_52_5_16", + "ID": 5, + "PacketName": "S2C_MY_52_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8282448, + "HandlerComment": "自室のプラネタリウムの状態の更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_UPDATE_PLANETARIUM_RES", + "ID": 6, + "PacketName": "S2C_MY_ROOM_UPDATE_PLANETARIUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8280928, + "HandlerComment": "他人自室の公開範囲の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_GET_OTHER_ROOM_PERMISSION_RES", + "ID": 7, + "PacketName": "S2C_MY_ROOM_GET_OTHER_ROOM_PERMISSION_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8282304, + "HandlerComment": "他人自室の公開範囲の設定", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MY_ROOM_SET_OTHER_ROOM_PERMISSION_RES", + "ID": 8, + "PacketName": "S2C_MY_ROOM_SET_OTHER_ROOM_PERMISSION_RES", + "SubID": 2 + } + ] + }, + { + "Count": 10, + "EntriesAddr": 34790064, + "GroupID": 53, + "GroupName": "PARTNER", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8284608, + "HandlerComment": "パートナーポーン設定に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_PARTNER_PAWN_SET_RES", + "ID": 0, + "PacketName": "S2C_PARTNER_PAWN_PARTNER_PAWN_SET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8285968, + "HandlerComment": "解放済みエディットパーツリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_RELEASED_EDIT_PARTS_LIST_GET_RES", + "ID": 1, + "PacketName": "S2C_PARTNER_PAWN_RELEASED_EDIT_PARTS_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8286176, + "HandlerComment": "解放済みエモーションリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_RELEASED_EMOTION_LIST_GET_RES", + "ID": 2, + "PacketName": "S2C_PARTNER_PAWN_RELEASED_EMOTION_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8286384, + "HandlerComment": "解放済みパートナーポーン会話リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_RELEASED_PAWN_TALK_LIST_GET_RES", + "ID": 3, + "PacketName": "S2C_PARTNER_PAWN_RELEASED_PAWN_TALK_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8285280, + "HandlerComment": "ポーン好感度による解放可能要素リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_LIST_GET_RES", + "ID": 4, + "PacketName": "S2C_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8285040, + "HandlerComment": "ポーン好感度による要素解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_GET_RES", + "ID": 5, + "PacketName": "S2C_PARTNER_PAWN_PAWN_LIKABILITY_REWARD_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8284800, + "HandlerComment": "ポーン好感度による解放済み要素リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_RES", + "ID": 6, + "PacketName": "S2C_PARTNER_PAWN_PAWN_LIKABILITY_RELEASED_REWARD_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8284384, + "HandlerComment": "次に欠片を渡せるまでの時間(sec)を取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_RES", + "ID": 7, + "PacketName": "S2C_PARTNER_PAWN_PARTNER_PAWN_NEXT_PRESENT_TIME_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8285760, + "HandlerComment": "パートナーポーンにプレゼントに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_PAWN_PRESENT_FOR_PARTNER_PAWN_RES", + "ID": 8, + "PacketName": "S2C_PARTNER_PAWN_PRESENT_FOR_PARTNER_PAWN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8285520, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PARTNER_53_9_16", + "ID": 9, + "PacketName": "S2C_PARTNER_53_9_16", + "SubID": 16 + } + ] + }, + { + "Count": 3, + "EntriesAddr": 34783392, + "GroupID": 54, + "GroupName": "CRAFT", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8195760, + "HandlerComment": "クラフト生産レシピ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_RECIPE_GET_CRAFT_RECIPE_RES", + "ID": 0, + "PacketName": "S2C_CRAFT_RECIPE_GET_CRAFT_RECIPE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8195568, + "HandlerComment": "クラフト生産レシピ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_RECIPE_GET_CRAFT_RECIPE_DESIGNATE_RES", + "ID": 1, + "PacketName": "S2C_CRAFT_RECIPE_GET_CRAFT_RECIPE_DESIGNATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8195376, + "HandlerComment": "クラフト強化レシピ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_CRAFT_RECIPE_GET_CRAFT_GRADEUP_RECIPE_RES", + "ID": 2, + "PacketName": "S2C_CRAFT_RECIPE_GET_CRAFT_GRADEUP_RECIPE_RES", + "SubID": 2 + } + ] + }, + { + "Count": 6, + "EntriesAddr": 34788984, + "GroupID": 55, + "GroupName": "JOB", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8262448, + "HandlerComment": "全ジョブオーブツリーの状態リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_ORB_TREE_GET_JOB_ORB_TREE_STATUS_LIST_RES", + "ID": 0, + "PacketName": "S2C_JOB_ORB_TREE_GET_JOB_ORB_TREE_STATUS_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8262096, + "HandlerComment": "指定ジョブのジョブオーブツリー全報酬要素リスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_ORB_TREE_GET_ALL_JOB_ORB_ELEMENT_LIST_RES", + "ID": 1, + "PacketName": "S2C_JOB_ORB_TREE_GET_ALL_JOB_ORB_ELEMENT_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8262656, + "HandlerComment": "オーブ成長要素の解放に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_ORB_TREE_RELEASE_JOB_ORB_ELEMENT_RES", + "ID": 2, + "PacketName": "S2C_JOB_ORB_TREE_RELEASE_JOB_ORB_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8262272, + "HandlerComment": "通貨両替レート情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_ORB_TREE_GET_CURRENCY_EXCHANGE_LIST_RES", + "ID": 3, + "PacketName": "S2C_JOB_ORB_TREE_GET_CURRENCY_EXCHANGE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8261856, + "HandlerComment": "通貨両替", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_ORB_TREE_EXCHANGE_CURRENCY_RES", + "ID": 4, + "PacketName": "S2C_JOB_ORB_TREE_EXCHANGE_CURRENCY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8262960, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_55_5_16", + "ID": 5, + "PacketName": "S2C_JOB_55_5_16", + "SubID": 16 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34797240, + "GroupID": 56, + "GroupName": "SERVER", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8363024, + "HandlerComment": "サーバー制御UIコマンド応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_UI_SERVER_UI_COMMAND_RES", + "ID": 0, + "PacketName": "S2C_SERVER_UI_SERVER_UI_COMMAND_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8362928, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SERVER_56_1_16", + "ID": 1, + "PacketName": "S2C_SERVER_56_1_16", + "SubID": 16 + } + ] + }, + { + "Count": 4, + "EntriesAddr": 34779240, + "GroupID": 57, + "GroupName": "BOX", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8154944, + "HandlerComment": "BOXガチャリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BOX_GACHA_BOX_GACHA_LIST_RES", + "ID": 0, + "PacketName": "S2C_BOX_GACHA_BOX_GACHA_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8154576, + "HandlerComment": "BOXガチャ購入取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BOX_GACHA_BOX_GACHA_BUY_RES", + "ID": 1, + "PacketName": "S2C_BOX_GACHA_BOX_GACHA_BUY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8155168, + "HandlerComment": "BOXガチャリセットに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BOX_GACHA_BOX_GACHA_RESET_RES", + "ID": 2, + "PacketName": "S2C_BOX_GACHA_BOX_GACHA_RESET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8154768, + "HandlerComment": "BOXガチャアイテム情報に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BOX_GACHA_BOX_GACHA_DRAW_INFO_RES", + "ID": 3, + "PacketName": "S2C_BOX_GACHA_BOX_GACHA_DRAW_INFO_RES", + "SubID": 2 + } + ] + }, + { + "Count": 10, + "EntriesAddr": 34792320, + "GroupID": 58, + "GroupName": "PAWN", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8298656, + "HandlerComment": "ポーン隊出撃情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_INFO_RES", + "ID": 0, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8297712, + "HandlerComment": "ポーン隊出撃情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_MY_SALLY_INFO_RES", + "ID": 1, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_MY_SALLY_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8297568, + "HandlerComment": "ポーン隊出撃回数補充に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_RES", + "ID": 2, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CHARGE_SALLY_COUNT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8299008, + "HandlerComment": "ポーン隊出撃に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_SALLY_RES", + "ID": 3, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_SALLY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8297424, + "HandlerComment": "ポーン隊黄金石出撃に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_RES", + "ID": 4, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CHANGE_GOLDEN_SALLY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8298832, + "HandlerComment": "ポーン隊報酬リストの取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_REWARD_RES", + "ID": 5, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_SALLY_REWARD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8297248, + "HandlerComment": "ポーン隊の出撃キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CANCEL_SALLY_RES", + "ID": 6, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_CANCEL_SALLY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8298464, + "HandlerComment": "ポーン隊報酬有無・セット応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_RES", + "ID": 7, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8297952, + "HandlerComment": "ポーン隊報酬アイテムリスト応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_RES", + "ID": 8, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8298224, + "HandlerComment": "ポーン隊報酬アイテム拾う応答", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_RES", + "ID": 9, + "PacketName": "S2C_PAWN_EXPEDITION_PAWN_EXPEDITION_GET_REWARD_DROP_ITEM_RES", + "SubID": 2 + } + ] + }, + { + "Count": 12, + "EntriesAddr": 34799496, + "GroupID": 59, + "GroupName": "INFINITY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8232192, + "HandlerComment": "開催中イベント取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_CURRENT_EVENT_RES", + "ID": 0, + "PacketName": "S2C_INFINITY_DELIVERY_GET_CURRENT_EVENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8231168, + "HandlerComment": "カテゴリ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_CATEGORY_FROM_NPC_RES", + "ID": 1, + "PacketName": "S2C_INFINITY_DELIVERY_GET_CATEGORY_FROM_NPC_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8232944, + "HandlerComment": "納品項目取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_REQUIRED_RES", + "ID": 2, + "PacketName": "S2C_INFINITY_DELIVERY_GET_REQUIRED_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8230944, + "HandlerComment": "納品要求に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_DELIVER_CLIENT_RES", + "ID": 3, + "PacketName": "S2C_INFINITY_DELIVERY_DELIVER_CLIENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8231968, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_CATEGORY_STATUS_RES", + "ID": 4, + "PacketName": "S2C_INFINITY_DELIVERY_GET_CATEGORY_STATUS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8232416, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_EVENT_STATUS_RES", + "ID": 5, + "PacketName": "S2C_INFINITY_DELIVERY_GET_EVENT_STATUS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8232592, + "HandlerComment": "大口納品個数ボーダー情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_NUM_BORDER_INFO_RES", + "ID": 6, + "PacketName": "S2C_INFINITY_DELIVERY_GET_NUM_BORDER_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8232768, + "HandlerComment": "大口納品ランキングボーダー情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_RANKING_BORDER_INFO_RES", + "ID": 7, + "PacketName": "S2C_INFINITY_DELIVERY_GET_RANKING_BORDER_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8231616, + "HandlerComment": "大口納品カテゴリリスト取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_CATEGORY_LIST_RES", + "ID": 8, + "PacketName": "S2C_INFINITY_DELIVERY_GET_CATEGORY_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8231392, + "HandlerComment": "大口納品カテゴリ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_CATEGORY_INFO_RES", + "ID": 9, + "PacketName": "S2C_INFINITY_DELIVERY_GET_CATEGORY_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8231792, + "HandlerComment": "大口納品カテゴリランキング取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_GET_CATEGORY_RANKING_RES", + "ID": 10, + "PacketName": "S2C_INFINITY_DELIVERY_GET_CATEGORY_RANKING_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8233120, + "HandlerComment": "大口納品報酬受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_INFINITY_DELIVERY_RECEIVE_BORDER_REWARD_RES", + "ID": 11, + "PacketName": "S2C_INFINITY_DELIVERY_RECEIVE_BORDER_REWARD_RES", + "SubID": 2 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34799784, + "GroupID": 60, + "GroupName": "NPC", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8282832, + "HandlerComment": "NPC追加施設機能取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_NPC_GET_NPC_EXTENDED_FACILITY_RES", + "ID": 0, + "PacketName": "S2C_NPC_GET_NPC_EXTENDED_FACILITY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8282816, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_NPC_60_1_16", + "ID": 1, + "PacketName": "S2C_NPC_60_1_16", + "SubID": 16 + } + ] + }, + { + "Count": 6, + "EntriesAddr": 34800168, + "GroupID": 61, + "GroupName": "PAWN", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8312528, + "HandlerComment": "ポーン思考育成情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_TRAINING_GET_TRAINING_STATUS_RES", + "ID": 0, + "PacketName": "S2C_PAWN_TRAINING_GET_TRAINING_STATUS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8313008, + "HandlerComment": "ポーン思考育成情報設定", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_TRAINING_SET_TRAINING_STATUS_RES", + "ID": 1, + "PacketName": "S2C_PAWN_TRAINING_SET_TRAINING_STATUS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8311680, + "HandlerComment": "指導前の情報の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_TRAINING_GET_PREPARETION_INFO_TO_ADVICE_RES", + "ID": 2, + "PacketName": "S2C_PAWN_TRAINING_GET_PREPARETION_INFO_TO_ADVICE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8312112, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_61_3_16", + "ID": 3, + "PacketName": "S2C_PAWN_61_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8311168, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_61_4_16", + "ID": 4, + "PacketName": "S2C_PAWN_61_4_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8310944, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_61_5_16", + "ID": 5, + "PacketName": "S2C_PAWN_61_5_16", + "SubID": 16 + } + ] + }, + { + "Count": 38, + "EntriesAddr": 34800312, + "GroupID": 62, + "GroupName": "SEASON", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8353984, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_ID_FROM_NPC_ID_RES", + "ID": 0, + "PacketName": "S2C_SEASON_DUNGEON_GET_ID_FROM_NPC_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8354192, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_INFO_RES", + "ID": 1, + "PacketName": "S2C_SEASON_DUNGEON_GET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8353632, + "HandlerComment": "シーズンダンジョン拡張情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_EXTEND_INFO_RES", + "ID": 2, + "PacketName": "S2C_SEASON_DUNGEON_GET_EXTEND_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8351728, + "HandlerComment": "シーズンダンジョンコンプリートに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_COMPLETE_RES", + "ID": 3, + "PacketName": "S2C_SEASON_DUNGEON_COMPLETE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8356128, + "HandlerComment": "シーズンダンジョンコンプリート扉開閉に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_OPEN_COMPLETE_DOOR_RES", + "ID": 4, + "PacketName": "S2C_SEASON_DUNGEON_OPEN_COMPLETE_DOOR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8352784, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_EXEC_EX_RESERVATION_RES", + "ID": 5, + "PacketName": "S2C_SEASON_DUNGEON_EXEC_EX_RESERVATION_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8353008, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_NPC_ID_RES", + "ID": 6, + "PacketName": "S2C_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_NPC_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8353456, + "HandlerComment": "シーズンダンジョン開拓可能封鎖リストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_EXTENDABLE_BLOCKADE_LIST_FROM_NPC_ID_RES", + "ID": 7, + "PacketName": "S2C_SEASON_DUNGEON_GET_EXTENDABLE_BLOCKADE_LIST_FROM_NPC_ID_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8353232, + "HandlerComment": "OMに紐づいた封鎖ID取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_OM_RES", + "ID": 8, + "PacketName": "S2C_SEASON_DUNGEON_GET_BLOCKADE_ID_FROM_OM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8353808, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_EX_REQUIRED_ITEM_RES", + "ID": 9, + "PacketName": "S2C_SEASON_DUNGEON_GET_EX_REQUIRED_ITEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8351872, + "HandlerComment": "納品状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_DELIVER_ITEM_FOR_EX_RES", + "ID": 10, + "PacketName": "S2C_SEASON_DUNGEON_DELIVER_ITEM_FOR_EX_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8356272, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_13_16", + "ID": 13, + "PacketName": "S2C_SEASON_62_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8356688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_14_16", + "ID": 14, + "PacketName": "S2C_SEASON_62_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8357424, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_15_16", + "ID": 15, + "PacketName": "S2C_SEASON_62_15_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8359008, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_16_16", + "ID": 16, + "PacketName": "S2C_SEASON_62_16_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8358784, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_17_16", + "ID": 17, + "PacketName": "S2C_SEASON_62_17_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8354384, + "HandlerComment": "OMに紐づいた英霊の試練情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_LIST_FROM_OM_RES", + "ID": 18, + "PacketName": "S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_LIST_FROM_OM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8354560, + "HandlerComment": "試練の報酬りすと取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_FOR_VIEW_RES", + "ID": 19, + "PacketName": "S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_FOR_VIEW_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8357872, + "HandlerComment": "英霊の試練準備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_SOUL_ORDEAL_READY_RES", + "ID": 20, + "PacketName": "S2C_SEASON_DUNGEON_SOUL_ORDEAL_READY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8357200, + "HandlerComment": "英霊の試練準備キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_SOUL_ORDEAL_CANCEL_READY_RES", + "ID": 21, + "PacketName": "S2C_SEASON_DUNGEON_SOUL_ORDEAL_CANCEL_READY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8357696, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_22_16", + "ID": 22, + "PacketName": "S2C_SEASON_62_22_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8358096, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_23_16", + "ID": 23, + "PacketName": "S2C_SEASON_62_23_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8352560, + "HandlerComment": "英霊の試練起動に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_EXECUTE_SOUL_ORDEAL_RES", + "ID": 24, + "PacketName": "S2C_SEASON_DUNGEON_EXECUTE_SOUL_ORDEAL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8354912, + "HandlerComment": "英霊の試練中断に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_INTERRUPT_SOUL_ORDEAL_RES", + "ID": 25, + "PacketName": "S2C_SEASON_DUNGEON_INTERRUPT_SOUL_ORDEAL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8358256, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_26_16", + "ID": 26, + "PacketName": "S2C_SEASON_62_26_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8358512, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_27_16", + "ID": 27, + "PacketName": "S2C_SEASON_62_27_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8352320, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_28_16", + "ID": 28, + "PacketName": "S2C_SEASON_62_28_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8352096, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_29_16", + "ID": 29, + "PacketName": "S2C_SEASON_62_29_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8355904, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_30_16", + "ID": 30, + "PacketName": "S2C_SEASON_62_30_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8355136, + "HandlerComment": "シーズンダンジョンキーポイント扉解放状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_IS_UNLOCKED_KEY_POINT_DOOR_RES", + "ID": 31, + "PacketName": "S2C_SEASON_DUNGEON_IS_UNLOCKED_KEY_POINT_DOOR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8355360, + "HandlerComment": "シーズンダンジョン英霊の試練扉解放状況取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_IS_UNLOCKED_SOUL_ORDEAL_DOOR_RES", + "ID": 32, + "PacketName": "S2C_SEASON_DUNGEON_IS_UNLOCKED_SOUL_ORDEAL_DOOR_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8354736, + "HandlerComment": "シーズンダンジョン英霊の試練報酬取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_RES", + "ID": 33, + "PacketName": "S2C_SEASON_DUNGEON_GET_SOUL_ORDEAL_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8356512, + "HandlerComment": "シーズンダンジョン英霊の試練報酬取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_RES", + "ID": 34, + "PacketName": "S2C_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8356288, + "HandlerComment": "シーズンダンジョン英霊の試練バフ取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_BUFF_RES", + "ID": 35, + "PacketName": "S2C_SEASON_DUNGEON_RECEIVE_SOUL_ORDEAL_REWARD_BUFF_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8359360, + "HandlerComment": "シーズンダンジョンキーポイント封鎖扉ステータス取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_DUNGEON_UPDATE_KEY_POINT_DOOR_STATUS_RES", + "ID": 36, + "PacketName": "S2C_SEASON_DUNGEON_UPDATE_KEY_POINT_DOOR_STATUS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8355584, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_37_16", + "ID": 37, + "PacketName": "S2C_SEASON_62_37_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8350416, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_38_16", + "ID": 38, + "PacketName": "S2C_SEASON_62_38_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8351296, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_SEASON_62_39_16", + "ID": 39, + "PacketName": "S2C_SEASON_62_39_16", + "SubID": 16 + } + ] + }, + { + "Count": 7, + "EntriesAddr": 34802928, + "GroupID": 63, + "GroupName": null, + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8198880, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_0_16", + "ID": 0, + "PacketName": "S2C_63_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8199040, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_1_16", + "ID": 1, + "PacketName": "S2C_63_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8199136, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_2_16", + "ID": 2, + "PacketName": "S2C_63_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8200016, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_3_16", + "ID": 3, + "PacketName": "S2C_63_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8200528, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_6_16", + "ID": 6, + "PacketName": "S2C_63_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8200192, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_7_16", + "ID": 7, + "PacketName": "S2C_63_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8199776, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_63_10_16", + "ID": 10, + "PacketName": "S2C_63_10_16", + "SubID": 16 + } + ] + }, + { + "Count": 14, + "EntriesAddr": 34799832, + "GroupID": 64, + "GroupName": "MANDRAGORA", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8277440, + "HandlerComment": "所持マンドラゴラ取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_GET_MY_MANDRAGORA_RES", + "ID": 0, + "PacketName": "S2C_MANDRAGORA_GET_MY_MANDRAGORA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8275664, + "HandlerComment": "マンドラゴラを作成", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_CREATE_MY_MANDRAGORA_RES", + "ID": 1, + "PacketName": "S2C_MANDRAGORA_CREATE_MY_MANDRAGORA_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8275168, + "HandlerComment": "土を変える", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_CHANGE_SOIL_RES", + "ID": 2, + "PacketName": "S2C_MANDRAGORA_CHANGE_SOIL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8276816, + "HandlerComment": "生産レシピ取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_GET_CRAFT_RECIPE_LIST_RES", + "ID": 3, + "PacketName": "S2C_MANDRAGORA_GET_CRAFT_RECIPE_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8274512, + "HandlerComment": "育成開始", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_BEGIN_CRAFT_RES", + "ID": 4, + "PacketName": "S2C_MANDRAGORA_BEGIN_CRAFT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8274768, + "HandlerComment": "黄金石育成に変更", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_CHANGE_GOLDEN_CRAFT_RES", + "ID": 5, + "PacketName": "S2C_MANDRAGORA_CHANGE_GOLDEN_CRAFT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8277072, + "HandlerComment": "肥料アイテムの確認", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_GET_MANURE_ITEM_LIST_RES", + "ID": 6, + "PacketName": "S2C_MANDRAGORA_GET_MANURE_ITEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8276224, + "HandlerComment": "育成完了確認", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_FINISH_CRAFT_CHECK_RES", + "ID": 7, + "PacketName": "S2C_MANDRAGORA_FINISH_CRAFT_CHECK_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8275936, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_64_7_16", + "ID": 7, + "PacketName": "S2C_MANDRAGORA_64_7_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8276560, + "HandlerComment": "育成完了アイテム受け取り", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_FINISH_ITEM_GET_RES", + "ID": 8, + "PacketName": "S2C_MANDRAGORA_FINISH_ITEM_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8280032, + "HandlerComment": "図鑑一覧取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_GET_SPECIES_LIST_RES", + "ID": 9, + "PacketName": "S2C_MANDRAGORA_GET_SPECIES_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8275408, + "HandlerComment": "見た目(種類)を変える", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_CHANGE_SPECIES_RES", + "ID": 10, + "PacketName": "S2C_MANDRAGORA_CHANGE_SPECIES_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8274912, + "HandlerComment": "名前を変える", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_CHANGE_NAME_RES", + "ID": 11, + "PacketName": "S2C_MANDRAGORA_CHANGE_NAME_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8279600, + "HandlerComment": "図鑑カテゴリリスト再取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_MANDRAGORA_GET_SPECIES_CATEGORY_LIST_RES", + "ID": 12, + "PacketName": "S2C_MANDRAGORA_GET_SPECIES_CATEGORY_LIST_RES", + "SubID": 2 + } + ] + }, + { + "Count": 5, + "EntriesAddr": 34801416, + "GroupID": 65, + "GroupName": "EQUIP", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8213024, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_65_0_16", + "ID": 0, + "PacketName": "S2C_EQUIP_65_0_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8212880, + "HandlerComment": "武器新化:サブ強化通知", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_ENHANCED_SUB_RES", + "ID": 1, + "PacketName": "S2C_EQUIP_ENHANCED_SUB_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8212080, + "HandlerComment": "武器新化:覚醒進化通知", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_ENHANCED_AWAKEN_RES", + "ID": 2, + "PacketName": "S2C_EQUIP_ENHANCED_AWAKEN_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8212528, + "HandlerComment": "進化パック取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_ENHANCED_GET_PACKS_RES", + "ID": 3, + "PacketName": "S2C_EQUIP_ENHANCED_GET_PACKS_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8212224, + "HandlerComment": "進化リクエストの通知", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_EQUIP_ENHANCED_ENHANCE_ITEM_RES", + "ID": 4, + "PacketName": "S2C_EQUIP_ENHANCED_ENHANCE_ITEM_RES", + "SubID": 2 + } + ] + }, + { + "Count": 8, + "EntriesAddr": 34801224, + "GroupID": 66, + "GroupName": "JOB", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8257472, + "HandlerComment": "全ジョブの証情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_GET_EMBLEM_LIST_RES", + "ID": 0, + "PacketName": "S2C_JOB_EMBLEM_GET_EMBLEM_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8257648, + "HandlerComment": "証情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_GET_EMBLEM_RES", + "ID": 1, + "PacketName": "S2C_JOB_EMBLEM_GET_EMBLEM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8258112, + "HandlerComment": "ジョブの証レベルアップ", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_UPDATE_LEVEL_RES", + "ID": 2, + "PacketName": "S2C_JOB_EMBLEM_UPDATE_LEVEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8258352, + "HandlerComment": "ジョブの証パラメータアップ", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_UPDATE_PARAM_LEVEL_RES", + "ID": 3, + "PacketName": "S2C_JOB_EMBLEM_UPDATE_PARAM_LEVEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8257760, + "HandlerComment": "ジョブの証パラメータリセット", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_RESET_PARAM_LEVEL_RES", + "ID": 4, + "PacketName": "S2C_JOB_EMBLEM_RESET_PARAM_LEVEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8256976, + "HandlerComment": "ジョブの証クレスト継承", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_ATTACH_ELEMENT_RES", + "ID": 5, + "PacketName": "S2C_JOB_EMBLEM_ATTACH_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8257216, + "HandlerComment": "ジョブの証クレスト破棄", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_EMBLEM_DETTACH_ELEMENT_RES", + "ID": 6, + "PacketName": "S2C_JOB_EMBLEM_DETTACH_ELEMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8258688, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_JOB_66_7_16", + "ID": 7, + "PacketName": "S2C_JOB_66_7_16", + "SubID": 16 + } + ] + }, + { + "Count": 4, + "EntriesAddr": 34801536, + "GroupID": 67, + "GroupName": "RECYCLE", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8348912, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RECYCLE_GET_INFO_RES", + "ID": 0, + "PacketName": "S2C_RECYCLE_GET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8349088, + "HandlerComment": "リサイクル抽選予想取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RECYCLE_GET_LOT_FORECAST_RES", + "ID": 1, + "PacketName": "S2C_RECYCLE_GET_LOT_FORECAST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8349408, + "HandlerComment": "リサイクル開始", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RECYCLE_START_EXCHANGE_RES", + "ID": 2, + "PacketName": "S2C_RECYCLE_START_EXCHANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8349264, + "HandlerComment": "リサイクル回数リセット", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_RECYCLE_RESET_COUNT_RES", + "ID": 3, + "PacketName": "S2C_RECYCLE_RESET_COUNT_RES", + "SubID": 2 + } + ] + }, + { + "Count": 2, + "EntriesAddr": 34801872, + "GroupID": 68, + "GroupName": null, + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8349584, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_68_0_1", + "ID": 0, + "PacketName": "S2C_68_0_1", + "SubID": 1 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8349984, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_68_1_1", + "ID": 1, + "PacketName": "S2C_68_1_1", + "SubID": 1 + } + ] + }, + { + "Count": 8, + "EntriesAddr": 34801920, + "GroupID": 69, + "GroupName": "PAWN", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8309328, + "HandlerComment": "ポーン特技のセット情報の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SP_SKILL_GET_ACTIVE_SKILL_RES", + "ID": 0, + "PacketName": "S2C_PAWN_SP_SKILL_GET_ACTIVE_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8309776, + "HandlerComment": "ストックにあるポーン特技を取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SP_SKILL_GET_STOCK_SKILL_RES", + "ID": 1, + "PacketName": "S2C_PAWN_SP_SKILL_GET_STOCK_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8309616, + "HandlerComment": "スキル上限値を取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SP_SKILL_GET_MAX_SKILL_NUM_RES", + "ID": 2, + "PacketName": "S2C_PAWN_SP_SKILL_GET_MAX_SKILL_NUM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8310528, + "HandlerComment": "ポーン特技を設定する", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SP_SKILL_SET_ACTIVE_SKILL_RES", + "ID": 3, + "PacketName": "S2C_PAWN_SP_SKILL_SET_ACTIVE_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8309184, + "HandlerComment": "ストックのポーン特技を削除する", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SP_SKILL_DELETE_STOCK_SKILL_RES", + "ID": 4, + "PacketName": "S2C_PAWN_SP_SKILL_DELETE_STOCK_SKILL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8310096, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_69_5_16", + "ID": 5, + "PacketName": "S2C_PAWN_69_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8308848, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_69_6_16", + "ID": 6, + "PacketName": "S2C_PAWN_69_6_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8310672, + "HandlerComment": "ポーン特技のアイテムを使う", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_PAWN_SP_SKILL_USE_ITEM_RES", + "ID": 7, + "PacketName": "S2C_PAWN_SP_SKILL_USE_ITEM_RES", + "SubID": 2 + } + ] + }, + { + "Count": 1, + "EntriesAddr": 34802112, + "GroupID": 70, + "GroupName": "ACTION", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8140864, + "HandlerComment": "プレイヤーの行動履歴の設定", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_ACTION_SET_PLAYER_ACTION_HISTORY_RES", + "ID": 0, + "PacketName": "S2C_ACTION_SET_PLAYER_ACTION_HISTORY_RES", + "SubID": 2 + } + ] + }, + { + "Count": 29, + "EntriesAddr": 34802136, + "GroupID": 71, + "GroupName": "BATTLE", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8147664, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_0_2", + "ID": 0, + "PacketName": "S2C_BATTLE_71_0_2", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8150752, + "HandlerComment": "バトルコンテンツ:報酬リストを取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_REWARD_LIST_RES", + "ID": 1, + "PacketName": "S2C_BATTLE_CONTENT_REWARD_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8147344, + "HandlerComment": "バトルコンテンツ:報酬の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_GET_REWARD_RES", + "ID": 2, + "PacketName": "S2C_BATTLE_CONTENT_GET_REWARD_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8147152, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_2_16", + "ID": 2, + "PacketName": "S2C_BATTLE_71_2_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8146000, + "HandlerComment": "コンテンツのエントリーに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_CONTENT_ENTRY_RES", + "ID": 3, + "PacketName": "S2C_BATTLE_CONTENT_CONTENT_ENTRY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8145776, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_3_16", + "ID": 3, + "PacketName": "S2C_BATTLE_71_3_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8146224, + "HandlerComment": "バトルコンテンツ最初のフェーズ変更", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_CONTENT_FIRST_FHASE_CHANGE_RES", + "ID": 4, + "PacketName": "S2C_BATTLE_CONTENT_CONTENT_FIRST_FHASE_CHANGE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8146560, + "HandlerComment": "バトルコンテンツ:リセット", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_CONTENT_RESET_RES", + "ID": 5, + "PacketName": "S2C_BATTLE_CONTENT_CONTENT_RESET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8146368, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_5_16", + "ID": 5, + "PacketName": "S2C_BATTLE_71_5_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8146736, + "HandlerComment": "OMからのコンテンツ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_GET_CONTENT_STATUS_FROM_OM_RES", + "ID": 6, + "PacketName": "S2C_BATTLE_CONTENT_GET_CONTENT_STATUS_FROM_OM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8146912, + "HandlerComment": "OMからのフェーズ情報取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_GET_PHASE_TO_CHANGE_FROM_OM_RES", + "ID": 7, + "PacketName": "S2C_BATTLE_CONTENT_GET_PHASE_TO_CHANGE_FROM_OM_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8149120, + "HandlerComment": "一斉ステージ移動待ち受け開始に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_PHASE_ENTRY_BEGIN_RECRUITMENT_RES", + "ID": 8, + "PacketName": "S2C_BATTLE_CONTENT_PHASE_ENTRY_BEGIN_RECRUITMENT_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8149552, + "HandlerComment": "一斉ステージ移動待ち受け状態取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_PHASE_ENTRY_GET_RECRUITMENT_STATE_RES", + "ID": 9, + "PacketName": "S2C_BATTLE_CONTENT_PHASE_ENTRY_GET_RECRUITMENT_STATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8150160, + "HandlerComment": "一斉ステージ移動準備に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_PHASE_ENTRY_READY_RES", + "ID": 10, + "PacketName": "S2C_BATTLE_CONTENT_PHASE_ENTRY_READY_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8149952, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_10_16", + "ID": 10, + "PacketName": "S2C_BATTLE_71_10_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8149728, + "HandlerComment": "一斉ステージ移動準備キャンセルに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_PHASE_ENTRY_READY_CANCEL_RES", + "ID": 11, + "PacketName": "S2C_BATTLE_CONTENT_PHASE_ENTRY_READY_CANCEL_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8150384, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_12_16", + "ID": 12, + "PacketName": "S2C_BATTLE_71_12_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8149344, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_13_16", + "ID": 13, + "PacketName": "S2C_BATTLE_71_13_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8148656, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_14_16", + "ID": 14, + "PacketName": "S2C_BATTLE_71_14_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8145584, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_15_16", + "ID": 15, + "PacketName": "S2C_BATTLE_71_15_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8150512, + "HandlerComment": "バトルコンテンツ:リセット情報の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_RESET_INFO_RES", + "ID": 16, + "PacketName": "S2C_BATTLE_CONTENT_RESET_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8147680, + "HandlerComment": "バトルコンテンツ即時クリア情報取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_INSTANT_CLEAR_INFO_RES", + "ID": 17, + "PacketName": "S2C_BATTLE_CONTENT_INSTANT_CLEAR_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8145200, + "HandlerComment": "バトルコンテンツ:進行情報の取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_CHARACTER_INFO_RES", + "ID": 18, + "PacketName": "S2C_BATTLE_CONTENT_CHARACTER_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8145360, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_19_16", + "ID": 19, + "PacketName": "S2C_BATTLE_71_19_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8148064, + "HandlerComment": "パーティメンバのバトルコンテンツ情報を取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_PARTY_MEMBER_INFO_RES", + "ID": 20, + "PacketName": "S2C_BATTLE_CONTENT_PARTY_MEMBER_INFO_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8148512, + "HandlerComment": "特定のパーティメンバーのバトルコンテンツ情報更新", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_PARTY_MEMBER_INFO_UPDATE_RES", + "ID": 21, + "PacketName": "S2C_BATTLE_CONTENT_PARTY_MEMBER_INFO_UPDATE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8148304, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_71_21_16", + "ID": 21, + "PacketName": "S2C_BATTLE_71_21_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8147488, + "HandlerComment": "バトルコンテンツ情報を取得", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_INFO_LIST_RES", + "ID": 22, + "PacketName": "S2C_BATTLE_CONTENT_INFO_LIST_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8147920, + "HandlerComment": "バトルコンテンツ即時クリア", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_BATTLE_CONTENT_INSTANT_COMPLETE_RES", + "ID": 23, + "PacketName": "S2C_BATTLE_CONTENT_INSTANT_COMPLETE_RES", + "SubID": 2 + } + ] + }, + { + "Count": 4, + "EntriesAddr": 34802832, + "GroupID": 72, + "GroupName": "DAILY", + "Handlers": [ + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8198480, + "HandlerComment": "デイリーミッションのリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DAILY_MISSION_LIST_GET_RES", + "ID": 0, + "PacketName": "S2C_DAILY_MISSION_LIST_GET_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8197984, + "HandlerComment": null, + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DAILY_72_1_16", + "ID": 1, + "PacketName": "S2C_DAILY_72_1_16", + "SubID": 16 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8198736, + "HandlerComment": "デイリーミッションの報酬受け取りに", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DAILY_MISSION_REWARD_RECEIVE_RES", + "ID": 2, + "PacketName": "S2C_DAILY_MISSION_REWARD_RECEIVE_RES", + "SubID": 2 + }, + { + "Field14": 0, + "Field4": 0, + "Field8": 0, + "FieldC": 0, + "HandlerAddr": 8198320, + "HandlerComment": "デイリーミッション:期間イベントのリストの取得に", + "HandlerName": "cSeedGameSvConnection::OnPacket_S2C_DAILY_MISSION_EVENT_LIST_GET_RES", + "ID": 3, + "PacketName": "S2C_DAILY_MISSION_EVENT_LIST_GET_RES", + "SubID": 2 + } + ] + } +] \ No newline at end of file diff --git a/research/dti/cresource_info.txt b/research/dti/cresource_info.txt new file mode 100644 index 000000000..b6e7b630f --- /dev/null +++ b/research/dti/cresource_info.txt @@ -0,0 +1,424 @@ +// cResource subclass information. [05-03-2021 22-48-16] +// Image Base: 0X400000 + +Class [rAI], file extension: ais +Class [rAIConditionTree], file extension: cdt +Class [rAIDynamicLayout], file extension: dpth +Class [rAIFSM], file extension: fsm +Class [rAIFSMList], file extension: fsl +Class [rAIPathBase], file extension: are +Class [rAIPathBaseXml], file extension: are.xml +Class [rAIPawnActNoSwitch], file extension: pas +Class [rAIPawnAutoMotionTbl], file extension: pam +Class [rAIPawnAutoWordTbl], file extension: paw +Class [rAIPawnCulPrioThinkCategory], file extension: pc_ptkc +Class [rAIPawnEmParam], file extension: pep +Class [rAIPawnOrder], file extension: pao +Class [rAIPawnSkillParamTbl], file extension: aps +Class [rAIPawnSpecialityInfo], file extension: ps_info +Class [rAISensor], file extension: sn2 +Class [rAIWayPoint], file extension: way +Class [rAIWayPointGraph], file extension: gway +Class [rAbilityList], file extension: abl +Class [rAchievement], file extension: acv +Class [rAchievementHeader], file extension: ach +Class [rAcquirement::rAbilityAddData], file extension: aad +Class [rAcquirement::rAbilityData], file extension: abd +Class [rAcquirement::rCustomSkillData], file extension: csd +Class [rAcquirement::rNormalSkillData], file extension: nsd +Class [rActionParamList], file extension: acp +Class [rActivateDragonSkill], file extension: ads +Class [rActorLight], file extension: ali +Class [rAdjLimitParam], file extension: alp +Class [rAdjustParam], file extension: ajp +Class [rAnimalData], file extension: aml +Class [rArchive], file extension: arc +Class [rArchiveImport], file extension: aimp +Class [rArchiveListArray], file extension: ala +Class [rAreaHitShape], file extension: ahs +Class [rAreaInfo], file extension: ari +Class [rAreaInfoJointArea], file extension: arj +Class [rAreaInfoStage], file extension: ars +Class [rAreaMasterRankData], file extension: amr +Class [rAreaMasterSpotData], file extension: ams +Class [rAreaMasterSpotDetailData], file extension: amsd +Class [rArmedEnemyInfo], file extension: aeminfo +Class [rAtDfRateRaid], file extension: atdf_raid +Class [rAttackParam], file extension: atk +Class [rBakeJoint], file extension: bjt +Class [rBitTable], file extension: btb +Class [rBlazeEnemyInfo], file extension: beminfo +Class [rBlowSaveEmLvParam], file extension: blow_save +Class [rBowActParamList], file extension: bap +Class [rBrowserFont], file extension: bft +Class [rBrowserUITableData], file extension: but +Class [rCalcDamageAtdmAdj], file extension: cda +Class [rCalcDamageAtdmAdjRate], file extension: cdarate +Class [rCalcDamageLvAdj], file extension: cdl +Class [rCameraList], file extension: lcm +Class [rCameraParamList], file extension: cpl +Class [rCameraQuakeList], file extension: cql +Class [rCatchInfoParam], file extension: cip +Class [rCaughtDamageRateRefTbl], file extension: cdrr +Class [rCaughtDamageRateTbl], file extension: cdrt +Class [rCaughtInfoParam], file extension: caip +Class [rCharParamEnemy], file extension: cpe +Class [rCharacterEdit], file extension: edt +Class [rCharacterEditCameraParam], file extension: cecp +Class [rCharacterEditColorDef], file extension: edt_color_def +Class [rCharacterEditModelPalette], file extension: edt_mod_pal +Class [rCharacterEditMuscle], file extension: edt_muscle +Class [rCharacterEditPersonalityPalette], file extension: edt_personality_pal +Class [rCharacterEditPresetPalette], file extension: edt_pset_pal +Class [rCharacterEditTalkLvPalette], file extension: edt_talk_pal +Class [rCharacterEditTexturePalette], file extension: edt_tex_pal +Class [rCharacterEditVoicePalette], file extension: edt_voice_pal +Class [rChildRegionStatusParam], file extension: crs +Class [rChildRegionStatusParamList], file extension: rsl +Class [rCnsIK], file extension: ik +Class [rCnsJointOffset], file extension: jof +Class [rCnsLookAt], file extension: lat +Class [rCnsMatrix], file extension: mtx +Class [rCnsTinyChain], file extension: ctc +Class [rCnsTinyIK], file extension: tik +Class [rCollGeom], file extension: coll_geom +Class [rCollIndex], file extension: coll_idx +Class [rCollNode], file extension: coll_node +Class [rCollision], file extension: sbc +Class [rCollisionHeightField], file extension: sbch +Class [rCollisionObj], file extension: obc +Class [rConstModelParam], file extension: cmp +Class [rConvexHull], file extension: hul +Class [rCraftCapPass], file extension: ccp +Class [rCraftElementExp], file extension: cee +Class [rCraftQuality], file extension: cqr +Class [rCraftRecipe], file extension: +Class [rCraftSkillCost], file extension: ckc +Class [rCraftSkillSpd], file extension: cks +Class [rCraftUpGradeExp], file extension: cuex +Class [rCustimShlLimit], file extension: csl +Class [rCycleContentsSortieInfo], file extension: csi +Class [rCycleQuestInfo], file extension: cqi +Class [rDDOBenchmark], file extension: bmk +Class [rDDOModelMontage], file extension: dmt +Class [rDDOModelMontageEm], file extension: dme +Class [rDamageCounterInfo], file extension: counter_Adj +Class [rDamageSaveEmLvParam], file extension: damage_save +Class [rDamageSpecialAdj], file extension: damage_spAdj +Class [rDarkSkyParam], file extension: dsp +Class [rDeformWeightMap], file extension: dwm +Class [rDmJobAdjParam], file extension: dja +Class [rDmJobPawnAdjParam], file extension: dja_pawn +Class [rDmLvPawnAdjParam], file extension: cdl_pawn +Class [rDmVecWeightParam], file extension: dvw +Class [rDragonSkillColorParam], file extension: dscp +Class [rDragonSkillEnhanceParam], file extension: dse +Class [rDragonSkillLevelParam], file extension: dsl +Class [rDragonSkillParam], file extension: dsd +Class [rDungeonMarker], file extension: dmi +Class [rDynamicSbc], file extension: dsc +Class [rEditConvert], file extension: edc +Class [rEditStageParam], file extension: esp +Class [rEffect2D], file extension: e2d +Class [rEffectAnim], file extension: ean +Class [rEffectList], file extension: efl +Class [rEffectProvider], file extension: epv +Class [rEffectStrip], file extension: efs +Class [rEmBaseInfoSv], file extension: ebi_sv +Class [rEmCategory], file extension: ecg +Class [rEmDamageDirInfo], file extension: edv +Class [rEmDmgTimerTbl], file extension: dtt +Class [rEmEffectTable], file extension: eef +Class [rEmLvUpParam], file extension: lup +Class [rEmMsgTable], file extension: emt +Class [rEmScaleTable], file extension: esl +Class [rEmScrAdjust], file extension: em_scr_adj +Class [rEmSoundTable], file extension: esn +Class [rEmStatusAdj], file extension: esa +Class [rEmWarpParam], file extension: ewp +Class [rEmWeakSafe], file extension: wallmaria +Class [rEmWorkRateTable], file extension: ewk +Class [rEmblemColorTable], file extension: ect +Class [rEmoteGroup], file extension: peg +Class [rEmparam], file extension: emparam +Class [rEndContentsSortieInfo], file extension: esi +Class [rEnemyBloodStain], file extension: ebs +Class [rEnemyGroup], file extension: emg +Class [rEnemyLocalEst], file extension: ele +Class [rEnemyLocalShelTable], file extension: esh +Class [rEnemyMaterialTable], file extension: ema +Class [rEnemyReactResEx], file extension: era +Class [rEnemyStatusChange], file extension: est +Class [rEnhancedParamList], file extension: epl +Class [rEnumDef], file extension: edf +Class [rEquipCaptureList], file extension: ecl +Class [rEquipPartsInfo], file extension: epi +Class [rEquipPreset], file extension: equip_preset +Class [rEquipPresetPalette], file extension: epp +Class [rErosionInfoRes], file extension: reg_info +Class [rErosionRegion], file extension: reg_ersion +Class [rErosionRegionScaleChange], file extension: scl_change +Class [rErosionShakeConvert], file extension: ero_addTime +Class [rErosionSmallInfoRes], file extension: eroSmall_info +Class [rErosionSuperInfoRes], file extension: eroSuper_info +Class [rEvaluationTable], file extension: evl +Class [rEventParam], file extension: evp +Class [rEventResTable], file extension: evtr +Class [rEventViewerList], file extension: evlst +Class [rEventViewerSetInfo], file extension: evsi +Class [rEvidenceList], file extension: evd +Class [rFacialEditJointPreset], file extension: fedt_jntpreset +Class [rFatAdjust], file extension: fat_adjust +Class [rFieldAreaAdjoinList], file extension: faa +Class [rFieldAreaList], file extension: fal +Class [rFieldAreaMarkerInfo], file extension: fmi +Class [rFieldMapData], file extension: fmd +Class [rFreeF32Tbl], file extension: f2p +Class [rFullbodyIKHuman2], file extension: fbik_human2 +Class [rFunctionList], file extension: ftl +Class [rFurnitureAccessories], file extension: fad +Class [rFurnitureData], file extension: fnd +Class [rFurnitureGroup], file extension: fng +Class [rFurnitureItem], file extension: fni +Class [rFurnitureLayout], file extension: fnl +Class [rGUI], file extension: gui +Class [rGUIDogmaOrb], file extension: dgm +Class [rGUIFont], file extension: gfd +Class [rGUIIconInfo], file extension: gii +Class [rGUIMapSetting], file extension: gmp +Class [rGUIMessage], file extension: gmd +Class [rGUIPhotoFrame], file extension: pho +Class [rGatheringItem], file extension: gat +Class [rGeometry2], file extension: geo2 +Class [rGeometry2Group], file extension: geog +Class [rGeometry3], file extension: geo3 +Class [rGraphPatch], file extension: gpt +Class [rGrass], file extension: grs +Class [rGrass2], file extension: gr2 +Class [rGrass2Setting], file extension: gr2s +Class [rGrassWind], file extension: grw +Class [rHeadCtrl], file extension: head_ctrl +Class [rHideNpcNameInfo], file extension: hni +Class [rHumanEnemyCustomSkill], file extension: hmcs +Class [rHumanEnemyEquip], file extension: hmeq +Class [rHumanEnemyParam], file extension: hmeparam +Class [rHumanEnemyPreset], file extension: hmpre +Class [rIKCtrl], file extension: ikctrl +Class [rISC], file extension: isc +Class [rImplicitSurface], file extension: is +Class [rIniLocal], file extension: ini +Class [rIsEquipOneOfSeveral], file extension: ieo +Class [rItemEquipJobInfoList], file extension: eir +Class [rItemList], file extension: ipa +Class [rJobBaseParam], file extension: jobbase +Class [rJobCustomParam], file extension: jcp +Class [rJobLevelUpTbl2], file extension: jlt2 +Class [rJobMasterCtrl], file extension: jmc +Class [rJobTutorialQuestList], file extension: jtq +Class [rJointEx2], file extension: jex2 +Class [rJointInfo], file extension: jnt_info +Class [rJointOrder], file extension: jnt_order +Class [rJukeBoxItem], file extension: jbi +Class [rJumpParamTbl], file extension: jmp +Class [rKeyCommand], file extension: kcm +Class [rKeyConfigTextTable], file extension: kctt +Class [rKeyCustomParam], file extension: kcp +Class [rLandInfo], file extension: lai +Class [rLanguageResIDConverter], file extension: lrc +Class [rLargeCameraParam], file extension: lcp +Class [rLayout], file extension: lot +Class [rLayoutGroupParam], file extension: lgp +Class [rLayoutGroupParamList], file extension: gpl +Class [rLayoutPreset], file extension: lop +Class [rLegCtrl], file extension: leg_ctrl +Class [rLineBuilder], file extension: mlb +Class [rLinkageEnemy], file extension: lae +Class [rLinkageEnemyXml], file extension: lae.xml +Class [rLoadingParam], file extension: ldp +Class [rLocationData], file extension: lcd +Class [rMagicChantParam], file extension: chant +Class [rMagicCommandList], file extension: mgcc +Class [rMagicCommandWord], file extension: mcw +Class [rMandraActionParam], file extension: map +Class [rMandraCharaMake], file extension: mcm +Class [rMandraMotCombine], file extension: mmc +Class [rMandraReaction], file extension: mdr +Class [rMapSpotData], file extension: msd +Class [rMapSpotStageList], file extension: msl +Class [rMaterial], file extension: mrl +Class [rModel], file extension: mod +Class [rMotionFilter], file extension: mot_filter +Class [rMotionList], file extension: lmt +Class [rMotionParam], file extension: motparam +Class [rMovieOnDisk], file extension: wmv +Class [rMovieOnDiskInterMediate], file extension: wmv +Class [rMovieOnMemory], file extension: mem.wmv +Class [rMovieOnMemoryInterMediate], file extension: mem.wmv +Class [rMsgSet], file extension: mss +Class [rMyRoomActParam], file extension: mra +Class [rNPCEmoMyRoom], file extension: nem +Class [rNPCMotMyRoom], file extension: nmm +Class [rNPCMotionSet], file extension: nms +Class [rNamedParam], file extension: ndp +Class [rNavConnect], file extension: nvc +Class [rNavigationMesh], file extension: nav +Class [rNpcConstItem], file extension: nci +Class [rNpcCustomSkill], file extension: ncs +Class [rNpcEditData], file extension: ned +Class [rNpcIsNoSetPS3], file extension: nsp +Class [rNpcIsUseJobParamEx], file extension: ujp +Class [rNpcLedgerList], file extension: nll +Class [rNpcMeetingPlace], file extension: nmp +Class [rNulls], file extension: nls +Class [rObjCollision], file extension: col +Class [rOccluder], file extension: occ +Class [rOccluderEx], file extension: oce +Class [rOcdElectricParam], file extension: eoc +Class [rOcdImmuneParamRes], file extension: oIp +Class [rOcdIrAdj], file extension: ir_adj +Class [rOcdIrAdjPL], file extension: ir_adj_pl +Class [rOcdPriorityParam], file extension: opp +Class [rOcdStatusParamRes], file extension: osp +Class [rOmKey], file extension: omk +Class [rOmLoadList], file extension: oll +Class [rOmParam], file extension: omp +Class [rOmParamEx], file extension: ompe +Class [rOmParamPart], file extension: ompp +Class [rOutfitInfo], file extension: ofi +Class [rOutlineParamList], file extension: olp +Class [rPCSimpleDebuggerTarget], file extension: pdd +Class [rPackageQuestInfo], file extension: pqi +Class [rParentRegionStatusParam], file extension: prs +Class [rPartnerPawnTalk], file extension: ppt +Class [rPartnerReactParam], file extension: ppr +Class [rPartsCtrlTable], file extension: ptc +Class [rPawnAIAction], file extension: paa +Class [rPawnQuestTalk], file extension: pqt +Class [rPawnSpSkillCategoryUI], file extension: pssc +Class [rPawnSpSkillLevelUI], file extension: pssl +Class [rPawnThinkControl], file extension: ptc +Class [rPawnThinkLevelUp], file extension: plu +Class [rPhoteNGItem], file extension: pni +Class [rPlPartsInfo], file extension: psi +Class [rPlanetariumItem], file extension: planet +Class [rPlantTree], file extension: plt +Class [rPriorityThink], file extension: ptk +Class [rPrologueHmStatus], file extension: phs +Class [rPushRate], file extension: push_rate +Class [rQuestHistoryData], file extension: qhd +Class [rQuestList], file extension: qst +Class [rQuestMarkerInfo], file extension: qmi +Class [rQuestSequenceList], file extension: qsq +Class [rQuestTextData], file extension: qtd +Class [rRagdoll], file extension: rdd +Class [rRageTable], file extension: rag +Class [rReaction], file extension: rac +Class [rRecommendDragonSkill], file extension: rds +Class [rRegionBreakInfo], file extension: erb +Class [rRegionStatusCtrlTable], file extension: rsc +Class [rRenderTargetTexture], file extension: rtex +Class [rReplaceWardGmdList], file extension: repgmdlist +Class [rRigidBody], file extension: rbd +Class [rRoomWearParam], file extension: rwr +Class [rScenario], file extension: sce +Class [rSceneTexture], file extension: stex +Class [rScheduler], file extension: sdl +Class [rShader2], file extension: mfx +Class [rShaderCache], file extension: sch +Class [rShaderPackage], file extension: spkg +Class [rShakeCtrl], file extension: shake_ctrl +Class [rShlLimit], file extension: slm +Class [rShlParamList], file extension: shl +Class [rShopGoods], file extension: spg_tbl +Class [rShotReqInfo], file extension: sri +Class [rShotReqInfo2], file extension: sri2 +Class [rShrinkBlowValue], file extension: sbv +Class [rSimpleCom::rChatComData], file extension: ccd +Class [rSitePack], file extension: sit +Class [rSituationMsgCtrl], file extension: smc +Class [rSky], file extension: sky +Class [rSndPitchLimit], file extension: spl +Class [rSoundAreaInfo], file extension: sar +Class [rSoundAttributeSe], file extension: aser +Class [rSoundBank], file extension: sbkr +Class [rSoundBossBgm], file extension: sbb +Class [rSoundCurveSet], file extension: scsr +Class [rSoundCurveXml], file extension: scvr.xml +Class [rSoundDirectionalCurveXml], file extension: sdcr.xml +Class [rSoundDirectionalSet], file extension: sdsr +Class [rSoundEQ], file extension: equr +Class [rSoundHitInfo], file extension: shi +Class [rSoundMotionSe], file extension: mser +Class [rSoundOptData], file extension: sot +Class [rSoundParamOfs], file extension: spo +Class [rSoundPhysicsJoint], file extension: spjr +Class [rSoundPhysicsList], file extension: splr +Class [rSoundPhysicsRigidBody], file extension: sprr +Class [rSoundPhysicsSoftBody], file extension: spsr +Class [rSoundRangeEqSet], file extension: sreq +Class [rSoundRequest], file extension: srqr +Class [rSoundReverb], file extension: revr +Class [rSoundSequenceSe], file extension: ssqr +Class [rSoundSimpleCurve], file extension: sscr +Class [rSoundSourceMSADPCM], file extension: xsew +Class [rSoundSourceOggVorbis], file extension: sngw +Class [rSoundSourcePC], file extension: +Class [rSoundSpeakerSetXml], file extension: sssr.xml +Class [rSoundStreamRequest], file extension: stqr +Class [rSoundSubMixer], file extension: smxr +Class [rSoundSubMixerSet], file extension: sms +Class [rStageAdjoinList], file extension: sal +Class [rStageAdjoinList2], file extension: sal2 +Class [rStageConnect], file extension: scc +Class [rStageCustom], file extension: sca +Class [rStageCustomParts], file extension: scp +Class [rStageCustomPartsEx], file extension: scpx +Class [rStageInfo], file extension: sti +Class [rStageJoint], file extension: sja +Class [rStageList], file extension: slt +Class [rStageMap], file extension: smp +Class [rStageToSpot], file extension: sts +Class [rStaminaDecTbl], file extension: sdt +Class [rStarCatalog], file extension: stc +Class [rStartPos], file extension: stp +Class [rStartPosArea], file extension: sta +Class [rStatusCheck], file extension: sck +Class [rStatusGainTable], file extension: sg_tbl +Class [rSwingModel], file extension: swm +Class [rTable], file extension: +Class [rTargetCursorOffset], file extension: tco +Class [rTbl2Base], file extension: +Class [rTbl2ChatMacro], file extension: tcm +Class [rTbl2ClanEmblemTextureId], file extension: ceti_tbl +Class [rTbl2ItemIconId], file extension: tii +Class [rTblMenuComm], file extension: tmc +Class [rTblMenuOption], file extension: tmo +Class [rTexDetailEdit], file extension: tde +Class [rTexture], file extension: tex +Class [rTextureJpeg], file extension: tex +Class [rTextureMemory], file extension: tex +Class [rTexturePNG], file extension: tex +Class [rThinkParamRange], file extension: thp_range +Class [rThinkParamTimer], file extension: thp_timer +Class [rTutorialDialogMessage], file extension: tdm +Class [rTutorialList], file extension: tlt +Class [rTutorialQuestGroup], file extension: tqg +Class [rTutorialTargetList], file extension: ttl +Class [rVertices], file extension: vts +Class [rVfxLightInfluence], file extension: eli +Class [rVibration], file extension: vib +Class [rWarpLocation], file extension: wal +Class [rWaypoint], file extension: wpt +Class [rWaypoint2], file extension: wp2 +Class [rWeaponOffset], file extension: wpn_ofs +Class [rWeaponResTable], file extension: wrt +Class [rWeatherEffectParam], file extension: wep +Class [rWeatherFogInfo], file extension: wtf +Class [rWeatherInfoTbl], file extension: wta +Class [rWeatherParamEfcInfo], file extension: wte +Class [rWeatherParamInfoTbl], file extension: wtl +Class [rWeatherStageInfo], file extension: wsi +Class [rWepCateResTbl], file extension: wcrt +Class [rZone], file extension: zon +Class [rkThinkData], file extension: pen +Class [uSoundSubMixer::CurrentSubMixer], file extension: smxr diff --git a/research/dti/dti_data.py b/research/dti/dti_data.py new file mode 100644 index 000000000..b9a1756d2 --- /dev/null +++ b/research/dti/dti_data.py @@ -0,0 +1,6343 @@ +# Ando's DDON ClassPropDump log [05-03-2021 22-48-16] +# Image Base: 0X400000 + +# class name, vftable address, dti address +.dti_data = [('AHShapeBox', 1AEA648, 0x217D6A8), +('AHShapeBoxRotate', 1AEA690, 0x217D6C8), +('AHShapeCone', 1AEA754, 0x217D728), +('AHShapeCylinder', 1AEA6D8, 0x217D6E8), +('AHShapePolygon', 1AEA7B4, 0x217D748), +('AHShapePolygon::PosUnit', 1AEA794, 0x217D768), +('AHShapeSphere', 1AEA718, 0x217D708), +('AHShapeTriangle', 1AEA7F0, 0x217D788), +('AreaHitShape', 1AEA564, 0x217D668), +('Bind', 1D66C04, 0x21CB9DC), +('CustomMarkerGroupShape', 1C53BEC, 0x21A92E0), +('FileController', 1C15E28, 0x21971D8), +('ItemGetInfo', 1BFD6E0, 0x2194CE4), +('MtArray', 1AE4AFC, 0x21E74F8), +('MtBlockAllocator', 20B7628, 0x2203A24), +('MtCipherStream', 20B7CC8, 0x2203B6C), +('MtClipboardStream', 20B7C00, 0x2203B4C), +('MtCollisionGjk', 20B8984, 0x2203D50), +('MtCollisionMpr', 20BA294, 0x2204020), +('MtCollisionUtil::MtArrayEx', 20BEB48, 0x220C6CC), +('MtCollisionUtil::MtDataBuffer', 2100744, 0x220C54C), +('MtCollisionUtil::MtDtiObject', 2100708, 0x220C68C), +('MtCollisionUtil::MtDtiSelecter', 20DA710, 0x220C64C), +('MtCollisionUtil::MtDtiSelecterIntermediate', 20DA6FC, 0x220C56C), +('MtCollisionUtil::MtFunc', 210077C, 0x220C60C), +('MtCollisionUtil::MtFunc32', 2100798, 0x220C62C), +('MtCollisionUtil::MtFunc32X2', 21007B4, 0x220C66C), +('MtCollisionUtil::MtFuncBase', 2100760, 0x220C5EC), +('MtCollisionUtil::MtFuncPtr', 21007D0, 0x220C6AC), +('MtCollisionUtil::MtFuncPtr32', 21007EC, 0x220C58C), +('MtCollisionUtil::MtLinerTree', 2100C3C, 0x220C7E8), +('MtCollisionUtil::MtLinerTree::cRegistReserveInfo', 2100C28, 0x220C808), +('MtCollisionUtil::MtList', 2100824, 0x220C70C), +('MtCollisionUtil::MtListElement', 2100808, 0x220C5CC), +('MtCollisionUtil::MtTreeDTI', 2100840, 0x220C6EC), +('MtDefaultAllocator', 2098020, 0x2203A44), +('MtDtiSelecter', 2100CB0, 0x220C82C), +('MtExHeapAllocator', 20BA950, 0x2203FF8), +('MtFile', 20B7408, 0x21EF7AC), +('MtFile::FileInfo', 20B73F4, 0x21EF78C), +('MtFileStream', 20B7B38, 0x2203BD0), +('MtGeomAABB', 20B8DA8, 0x2203E20), +('MtGeomAABB4', 20CAE80, 0x220C754), +('MtGeomCapsule', 1BF9790, 0x2203E00), +('MtGeomCylinder', 20C84D0, 0x220C72C), +('MtGeomLine', 2100858, 0x220C850), +('MtGeomLineSegment', 20B8A38, 0x2203D74), +('MtGeomLineSegment4', 20D7F98, 0x220C7C4), +('MtGeomLineSweptSphere', 20B9038, 0x2203E90), +('MtGeomOBB', 1BF9878, 0x2203E48), +('MtGeomPlane', 20B8B68, 0x2203D94), +('MtGeomPlaneXZ', 20B8C30, 0x2203DB8), +('MtGeomRay', 20D7E18, 0x220C79C), +('MtGeomRayY', 20D7ED8, 0x220C77C), +('MtGeomSphere', 1BE40D8, 0x2203DD8), +('MtGeomTriangle', 20B8F00, 0x2203E6C), +('MtHeapAllocator', 20B75E0, 0x2203AA4), +('MtHeapArray', 209806C, 0x21E74B4), +('MtMap', 2098088, 0x21E7538), +('MtMemoryCachedStream', 20B7BA0, 0x2203B8C), +('MtMemoryStream', 20B7C60, 0x2203BB0), +('MtNetObject', 20BA220, 0x2203EE0), +('MtNetRanking', 20BAA28, 0x2204044), +('MtNetRanking::Score', 20BA9D8, 0x2204064), +('MtNetServiceError', 20BA1DC, 0x2203EB8), +('MtNetUniqueId', 20BA6A0, 0x2203FD4), +('MtObject', 1AE28B0, 0x21E71E8), +('MtPerformance', 20BA33C, 0x2203F60), +('MtPerformanceCounter', 20BA320, 0x2203FA4), +('MtPerformanceTimer', 1C1609C, 0x2203F84), +('MtPropertyList', 20B75AC, 0x2203918), +('MtRegistry', 20B89B8, 0x2203C90), +('MtScalableAllocator', 1AF2308, 0x2203AC8), +('MtStream', 20B7AD8, 0x2203BF0), +('MtThread', 20BA2B0, 0x2203F0C), +('MtTree', 20980C0, 0x21E74D8), +('MtTree::Node', 20980AC, 0x21E7518), +('MtVirtualAllocator', 20B7670, 0x2203A84), +('MtVirtualExtendAllocator', 20B77B0, 0x2203AE8), +('MyListener', 1BD8D70, 0x21915DC), +('ObjectString', 1C48504, 0x21A7EB8), +('ParallelsFileData', 1C15DF4, 0x21971FC), +('SCE_AH_LIST', 1C9EF44, 0x21C0A10), +('aBase', 1AE28E4, 0x217D234), +('aCharacterEditGame', 1AE3020, 0x217D268), +('aGame', 1AE3AE4, 0x217D2AC), +('aInit', 1AE44C8, 0x217D2E0), +('aLobby', 1AE4B30, 0x217D314), +('aLogo', 1AE504C, 0x217D344), +('aMenu', 1AE56C0, 0x217D374), +('aStage', 1AE6CB0, 0x217D3BC), +('aTitle', 1AE7704, 0x217D40C), +('aViewer', 1CA3374, 0x21C0E10), +('cAIAStar', 20CB05C, 0x2206908), +('cAIConditionTree', 20D640C, 0x2209E64), +('cAIConditionTree::ConstEnumWorkNode', 20D6360, 0x2209EE4), +('cAIConditionTree::ConstWorkNode', 20D6318, 0x2209EC4), +('cAIConditionTree::OperationWorkNode', 20D62D0, 0x2209EA4), +('cAIConditionTree::TreeInfo', 20D63F0, 0x2209E84), +('cAIConditionTree::VariableWorkNode', 20D63A8, 0x2209F04), +('cAIConditionTreeNode', 20D6288, 0x2209E44), +('cAICopiableParameter', 1B9E8C8, 0x2205964), +('cAIDEnum', 20D6268, 0x2209FC4), +('cAIFSM', 20C5DB4, 0x22057C4), +('cAIFSM::Core', 20C5D98, 0x22057E4), +('cAIFSM::Core::ClearTransitionFromAllOnceParam', 20C5D80, 0x2205804), +('cAIFSM::Core::ClusterDriveInfo', 20C5D5C, 0x2205824), +('cAIFSM::Core::ClusterWork', 20C5D40, 0x2205844), +('cAIFSMCluster', 20C60E0, 0x2205A04), +('cAIFSMData', 20C5D24, 0x2205884), +('cAIFSMData::Cluster', 20C5CD0, 0x22058A4), +('cAIFSMData::ClusterLog', 20C5CEC, 0x22058C4), +('cAIFSMData::Core', 20C5D08, 0x22058E4), +('cAIFSMLink', 20C6070, 0x22059A4), +('cAIFSMNode', 20C60BC, 0x22059E4), +('cAIFSMNodeProcess', 20C6090, 0x22059C4), +('cAIFSMProcessContainer', 20C5DF0, 0x2205864), +('cAIFieldPathTrace', 20C9C10, 0x22064F4), +('cAIFieldPathTrace::FieldTracePoint', 20C9BFC, 0x22064D4), +('cAIGraph', 20CB028, 0x22068A8), +('cAIGraph::Area', 20CB014, 0x22068E8), +('cAIGraph::Node', 20CAFF8, 0x22068C8), +('cAIGrid', 1AE9A7C, 0x217D59C), +('cAINavMultiPathTrace', 20C9AD8, 0x2206474), +('cAINavMultiPathTrace::MultiTracePoint', 20C9AC4, 0x2206454), +('cAINavPathTrace', 20C9A60, 0x2206434), +('cAIObject', 20C2038, 0x2204E50), +('cAIPacket', 20CAF9C, 0x2206848), +('cAIPacketList', 20CAFB8, 0x2206868), +('cAIPacketQueue', 20CAFD4, 0x2206888), +('cAIPathTrace::TracePoint', 20C99EC, 0x2206414), +('cAIPawnActNoSwitch', 1C49F08, 0x21A8240), +('cAIPawnAutoMotionNode', 1C4A498, 0x21A8280), +('cAIPawnAutoWordNode', 1C4A510, 0x21A82C0), +('cAIPawnCulPrioThinkCategory', 1C4AB00, 0x21A8304), +('cAIPawnEmNode', 1C4AC28, 0x21A8344), +('cAIPawnOrderParam', 1C4B1C4, 0x21A8384), +('cAIPawnSkillParamNode', 1C4B788, 0x21A83C8), +('cAIPawnSpecialityCondition', 1C4B8A4, 0x21A8408), +('cAIPawnSpecialityInfo', 1C4B8DC, 0x21A8448), +('cAIPawnSpecialityParam', 1B3E8D8, 0x21A8428), +('cAIQuadTree', 20CB0B8, 0x2206968), +('cAIResource', 1B3E870, 0x2204E70), +('cAIRouteInfo', 1AE9AF4, 0x217D5E0), +('cAIRouteInfoParts', 1AE9AC4, 0x217D5C0), +('cAISensorNode', 1BE41C4, 0x21929E4), +('cAISensorNodeRes', 1C4BA2C, 0x21A8488), +('cAIService', 20D492C, 0x2209A0C), +('cAISvDynamicPathFinding', 20D50A8, 0x2209C40), +('cAISvDynamicPathFinding::GroupManagement', 20D5094, 0x2209C80), +('cAISvDynamicPathFinding::GroupManagement::Group', 20D5080, 0x2209C60), +('cAISvDynamicPathFinding::TraceManagement', 20D505C, 0x2209D00), +('cAISvDynamicPathFinding::TraceManagement::Trace', 20D5048, 0x2209CE0), +('cAISvDynamicPathFinding::UnitManagement', 20D5024, 0x2209CC0), +('cAISvDynamicPathFinding::UnitManagement::Unit', 20D5010, 0x2209CA0), +('cAISvFSM', 20D6518, 0x2209F24), +('cAISvFSM::FSMInfo', 20D64FC, 0x2209F44), +('cAISvNavPathFinding', 20C2198, 0x2204F70), +('cAISvNavPathFinding::NavArea', 20C2180, 0x2204F50), +('cAISvNavPathFinding::navCell', 20C2164, 0x2204F90), +('cAISvNavPathManager', 20D92B8, 0x220AB84), +('cAISvOpenField', 20D4F94, 0x2209C20), +('cAISvPathFinding::Node', 20C20FC, 0x2204F30), +('cAISvPathManager', 20D9278, 0x220AB24), +('cAISvPathManager::PartsInfo', 20D9244, 0x220AB44), +('cAISvPathManager::ServiceInfo', 20D9260, 0x220AB64), +('cAISvUserProcess', 20C5C0C, 0x2205784), +('cAISvUserProcess::UserObjectInfo', 20C5BF0, 0x22057A4), +('cAISvWayPathFinding', 20C21E8, 0x2204FB0), +('cAISvWayPointGraph', 20C2250, 0x2204FF0), +('cAISvWayPointGraph::LowNode', 20C223C, 0x2204FD0), +('cAITargetInfo', 1AE9FF0, 0x217D604), +('cAITask', 20D4794, 0x220994C), +('cAITaskJobPrim', 20C99B4, 0x220996C), +('cAITaskJobPrimList', 20D4778, 0x220998C), +('cAITreeBase', 20CB098, 0x2206928), +('cAITreeBase::Node', 20CB084, 0x2206948), +('cAIUserProcess', 20C5C78, 0x2205924), +('cAIUserProcessCallback', 20C5C94, 0x2205944), +('cAIUserProcessContainer', 20C5C64, 0x2205904), +('cAIUserProcessReference', 20C5FC4, 0x2205984), +('cAIWayGraphTrace', 20C9B98, 0x22064B4), +('cAIWayPathTrace', 20C9B38, 0x2206494), +('cAbilityData', 1C485BC, 0x21A7F18), +('cAbilityParam', 1C4855C, 0x21A7ED8), +('cAbilityParam::cParamData', 1C48534, 0x21A7EF8), +('cAchievementData', 1C486D4, 0x21A7F78), +('cAchievementHeaderData', 1C487B8, 0x21A7FB8), +('cAcquirement::cCustomSkillData', 1AE84E8, 0x217D4EC), +('cAcquirement::cNormalSkillData', 1AE8510, 0x217D50C), +('cAcquirement::cSkillDataBase', 1AE84C0, 0x217D4CC), +('cActNetParamRes', 1B39294, 0x21A815C), +('cActParamRes', 1B39280, 0x21A813C), +('cAction', 1AE8BA8, 0x217D530), +('cActionParamList', 1B392A8, 0x21A817C), +('cActivateDragonSkill', 1C493D0, 0x21A81BC), +('cActiveQuestManager', 1AE954C, 0x217D554), +('cActiveQuestManager::cActiveQuestData', 1AE956C, 0x217D574), +('cActorLight', 1C95F34, 0x21AFF0C), +('cAdjLimitParam', 1C4F048, 0x21A8AD0), +('cAdjustParam', 1C49964, 0x21A81FC), +('cAnimalData', 1C4BAC8, 0x21A84C8), +('cArcLoader2', 1AEA038, 0x217D624), +('cAreaExt', 1AE4490, 0x217D644), +('cAreaHit', 1AEA530, 0x217D688), +('cAreaMasterRankData', 1C4C158, 0x21A8688), +('cAreaMasterSpotData', 1C4C074, 0x21A8668), +('cAreaMasterSpotDetailData', 1C4C2A0, 0x21A86E8), +('cAreaReleaseManager', 1AEAF88, 0x217D7AC), +('cAreaReleaseManager::cAreaReleaseInfo', 1AEAF60, 0x217D7CC), +('cArmedEnemyInfo', 1C4C8E8, 0x21A876C), +('cArmedEnemyLevelData', 1C4C904, 0x21A878C), +('cAtDfRateRaid', 1C4CA04, 0x21A87CC), +('cAttackParam', 1C4CFC0, 0x21A8810), +('cBVHCollision', 20D3904, 0x220949C), +('cBVHCollision::cWorkBuildOnlineFast', 20D38F0, 0x220947C), +('cBakeJoint', 1C4E358, 0x21A888C), +('cBakeModel', 1AF2360, 0x217E0D0), +('cBattleContentManager', 1AEB534, 0x217D7EC), +('cBitCtrl', 1AF250C, 0x217E0F0), +('cBitTable', 1C4E450, 0x21A88CC), +('cBlazeEnemyInfo', 1C4E9F8, 0x21A8910), +('cBlendState', 20D9A2C, 0x220ADA8), +('cBlowSaveEmLvParam', 1C4F400, 0x21A8BD0), +('cBlowShrinkDmInfo', 1AF2A10, 0x217E114), +('cBlowShrinkInfo', 1AF2A4C, 0x217E154), +('cBowActParam', 1C3DC9C, 0x21A703C), +('cBowAttackKick', 1BB3848, 0x218EDE0), +('cBowAttackKickAir', 1BB38D8, 0x218EE20), +('cBowAttackKickAirSecond', 1BB3920, 0x218EE40), +('cBowAttackKickBack', 1BB3890, 0x218EE00), +('cBrowserApplicationTask', 1AE7DDC, 0x217D47C), +('cBrowserKeepString', 1AE7D70, 0x217D45C), +('cBrowserWindows', 1AE7D8C, 0x217D43C), +('cCalcDamageAtdmAdj', 1C4ECA8, 0x21A89D0), +('cCalcDamageAtdmAdjRate', 1C4ED90, 0x21A8A10), +('cCalcDamageLvAdj', 1C4EBC0, 0x21A8990), +('cCalcEvaluation', 1B9E3C4, 0x218AD18), +('cCamExParamAnim', 1AF308C, 0x217E17C), +('cCamExParamAnim2', 1AF30C4, 0x217E19C), +('cCamExParamAnimTar', 1AF3114, 0x217E1BC), +('cCamExParamFps', 1AEBE10, 0x217D85C), +('cCamExParamLock', 1AF36C0, 0x217E24C), +('cCamExParamMot', 1AF3C68, 0x217E294), +('cCamExParamMotTar', 1AF3CCC, 0x217E2B4), +('cCamExParamNewLock', 1AEC454, 0x217D8AC), +('cCamExParamNml', 1AF428C, 0x217E358), +('cCamExParamNml2', 1AF44A4, 0x217E378), +('cCamExParamPan', 1AECA44, 0x217D8FC), +('cCamExParamPhoto', 1AF4A80, 0x217E3C8), +('cCamExParamSdr', 1CB3C90, 0x21C1CDC), +('cCamExParamSdr::cSdrParam', 1CB3C74, 0x21C1CFC), +('cCamExParamTarget', 1CB3CC8, 0x21C1CBC), +('cCamExParamTemplate', 1AF5118, 0x217E40C), +('cCamExParamTps', 1AF5680, 0x217E430), +('cCamExParamTps2', 1AF5700, 0x217E450), +('cCamImpAnim', 1AF300C, 0x217E1DC), +('cCamImpAnimTar', 1AF304C, 0x217E1FC), +('cCamImpFps', 1AEBDD0, 0x217D87C), +('cCamImpLock', 1AF3680, 0x217E26C), +('cCamImpMot', 1AF3BE8, 0x217E2D4), +('cCamImpMotTar', 1AF3C28, 0x217E2F4), +('cCamImpNewLock', 1AEC414, 0x217D8CC), +('cCamImpNml', 1AF424C, 0x217E338), +('cCamImpPan', 1AECA04, 0x217D91C), +('cCamImpPhoto', 1AF4A40, 0x217E3A8), +('cCamImpSdr', 1CB3BEC, 0x21C1C5C), +('cCamImpTarget', 1CB3C2C, 0x21C1C7C), +('cCamImpTemplate', 1AF50D8, 0x217E3EC), +('cCamImpTps', 1AF5640, 0x217E470), +('cCamInterAll', 1AF5838, 0x217E570), +('cCamInterporate', 1AEC394, 0x217E490), +('cCamInterporate', 1AF2F38, 0x217E590), +('cCamInterporateAng', 1AF2F60, 0x217E530), +('cCamInterporateAng3Time', 1AF5808, 0x217E4D0), +('cCamInterporateRange', 1AEC3BC, 0x217E4F0), +('cCamInterporateRangeAng', 1AF2F88, 0x217E550), +('cCamInterporateRangeF32', 1AF57A0, 0x217E510), +('cCamInterporateTime', 1AF57D8, 0x217E5B0), +('cCamInterporateTime', 1AF58E0, 0x217E5D0), +('cCamInterporateVec3', 1AF421C, 0x217E4B0), +('cCamellia', 1C08A60, 0x220B598), +('cCameraInfo', 1CB2E7C, 0x21C1B8C), +('cCameraQuake', 1CB2DD8, 0x21C1BEC), +('cCameraSeqInfo', 1CB2E98, 0x21C1BAC), +('cCameraSeqInfo2', 1CB2EB4, 0x21C1BCC), +('cCatchInfo', 1BE74E0, 0x2193278), +('cCatchInfoParam', 1C50634, 0x21A8D38), +('cCaughtDamageRate', 1C50920, 0x21A8DB8), +('cCaughtDamageRateReference', 1C5080C, 0x21A8D78), +('cCaughtInfo', 1BE74FC, 0x2193298), +('cCaughtInfoParam', 1C50A34, 0x21A8DF8), +('cCharParam', 1AF5FC8, 0x217E640), +('cCharParamEnemy', 1AF64E0, 0x217E6A4), +('cCharParamEnemy::cGuardCounter', 1AF64CC, 0x217E684), +('cCharParamEnemy::cJumpAttackSpeed', 1AF64B0, 0x217E664), +('cCharParamEnemyFly', 1AF6E48, 0x217E6C8), +('cCharacterBattleContentBase', 1AEB4D4, 0x217D80C), +('cCharacterData', 1AF5F14, 0x217E600), +('cCharacterEditCameraParam', 1C51548, 0x21A8E68), +('cCharacterEditCameraParam::cCameraParam', 1C51534, 0x21A8E88), +('cCharacterEditColorDef', 1C51B58, 0x21A8ED8), +('cCharacterEditModelPalette', 1C51C70, 0x21A8F18), +('cCharacterEditMuscle', 1C51D80, 0x21A8F58), +('cCharacterEditPersonalityPalette', 1C51EA4, 0x21A8F98), +('cCharacterEditPresetPalette', 1C51FC8, 0x21A8FD8), +('cCharacterEditTalkLvPalette', 1C520DC, 0x21A9018), +('cCharacterEditTexturePalette', 1C521F4, 0x21A9058), +('cCharacterEditVoicePalette', 1C52304, 0x21A9098), +('cChargeEffectUID', 1C8FAAC, 0x21AF6C4), +('cChildRegionStatus', 1AF6EE8, 0x217E6E8), +('cChildRegionStatusParam', 1C742E0, 0x21ADAC8), +('cChildRegionStatusParamList', 1C743C8, 0x21ADB08), +('cCnsBoneScaleCtrl', 1CB6180, 0x21C1ED8), +('cCollGeom', 1C52940, 0x21A90FC), +('cCollIndex', 1C52ADC, 0x21A913C), +('cCollNode', 1AE291C, 0x21A9180), +('cColliderGeometryParam', 20DAD20, 0x220B114), +('cColliderNodeParam', 20DAD04, 0x220B0F4), +('cCommonSkyFogData', 1CA65E8, 0x21CF018), +('cCompleteQuest', 1BC5B24, 0x21912E4), +('cComponentManager', 1AF6F1C, 0x217E708), +('cConstModelParam', 1AF6F58, 0x217E728), +('cContentsBuff', 1AF8888, 0x218868C), +('cContextCharacter', 1AF74A8, 0x217E770), +('cContextInstChar', 1AF7A0C, 0x217E7C4), +('cContextInstEm', 1AF7A6C, 0x217E824), +('cContextInstHm', 1AF7A2C, 0x217E7E4), +('cContextInstHmEm', 1AF7AAC, 0x217E884), +('cContextInstNpc', 1AF7A8C, 0x217E844), +('cContextInstOm', 1AF7ACC, 0x217E864), +('cContextInstPl', 1AF7A4C, 0x217E804), +('cContextInstance', 1AF79D8, 0x217E7A4), +('cContextInterface', 1AF83A0, 0x217E8AC), +('cContextPlayerInfo', 1AF88D4, 0x217F980), +('cContextPlayerInfo::cAbility', 1AF88C0, 0x217F960), +('cControlParam', 1AED410, 0x217D944), +('cControlParamEnemy', 1AED42C, 0x217D964), +('cCorePointInfo', 1AED924, 0x217D988), +('cCorePointInfoArmed', 1AED984, 0x217D9C8), +('cCorePointInfoBlaze', 1AED9B4, 0x217D9E8), +('cCorePointInfoNormal', 1AED954, 0x217D9A8), +('cCorePointMsg', 1AF79BC, 0x217FA90), +('cCorePointReqestInfo', 1AED9DC, 0x2188DD0), +('cCraftCapPassData', 1C532E8, 0x21A91E0), +('cCraftElementExpData', 1C53414, 0x21A9220), +('cCraftParam', 1B174CC, 0x2182BD8), +('cCraftPlusItem', 1AF9240, 0x217FAB0), +('cCraftQualityData', 1C539B0, 0x21A9260), +('cCraftRecipe', 1AF9864, 0x217FAF4), +('cCraftRecipe::cCraftRecipeList', 1AF983C, 0x217FAD4), +('cCraftSkill', 1AF98D8, 0x217FB14), +('cCraftSkillCostData', 1C5590C, 0x21A9664), +('cCraftSkillSpdData', 1C55A50, 0x21A96A4), +('cCraftUpGradeExpData', 1C53AE0, 0x21A92A0), +('cCrestParam', 1B174B0, 0x2182BF8), +('cCursor', 1AF9DB8, 0x217FB34), +('cCustomShlLimit', 1C6D9F0, 0x21AC6C8), +('cCustomWeatherParam', 1CA6604, 0x21C125C), +('cCycle01QuestManager', 1AFA2F0, 0x217FB68), +('cCycle04QuestManager', 1AFAD38, 0x217FB9C), +('cCycle04QuestManager::cClearTimeBonus', 1AFADBC, 0x217FBBC), +('cCycle04QuestManager::cRegionBreakReward', 1AFADDC, 0x217FBDC), +('cCycleContentsSortieInfo', 1C53C40, 0x21A9300), +('cCyclePartInfo', 1B01EE4, 0x218054C), +('cCyclePartReqInfo', 1B01EC8, 0x218052C), +('cCycleQuestManagerBase::cDieEmInfo', 1AFB8BC, 0x217FC18), +('cCycleQuestSubCategoryManager', 1AFBE00, 0x217FC68), +('cCycleQuestSubCategoryManager::cCycleContentsTaskInfo', 1AFBE50, 0x217FC88), +('cDDMaterialCtrl', 1AFEE98, 0x217FCF8), +('cDDMaterialCtrl::cShaderData', 1AFDB70, 0x217FD18), +('cDDMaterialCtrl::cShaderDataAnimation', 1AFEC30, 0x21802B8), +('cDDMaterialCtrl::cShaderDataAnimation::cAnimData', 1AFEC04, 0x21802F8), +('cDDMaterialCtrl::cShaderDataAnimationToDefault', 1AFECA0, 0x21802D8), +('cDDMaterialCtrl::cShaderDataBloodStain', 1AFE0B8, 0x217FE98), +('cDDMaterialCtrl::cShaderDataConstantMaterialColor', 1AFEB50, 0x2180298), +('cDDMaterialCtrl::cShaderDataDamage', 1AFDFB0, 0x217FE38), +('cDDMaterialCtrl::cShaderDataDamageDrawOn', 1AFE008, 0x217FE58), +('cDDMaterialCtrl::cShaderDataDead', 1AFE060, 0x217FE78), +('cDDMaterialCtrl::cShaderDataEmission', 1AFE1D0, 0x217FEF8), +('cDDMaterialCtrl::cShaderDataEmissionEye', 1AFE220, 0x217FF18), +('cDDMaterialCtrl::cShaderDataErosion', 1AFDE60, 0x217FE18), +('cDDMaterialCtrl::cShaderDataFire', 1AFDC20, 0x217FD58), +('cDDMaterialCtrl::cShaderDataFireDamage', 1AFE178, 0x217FED8), +('cDDMaterialCtrl::cShaderDataFreeze', 1AFDC80, 0x217FD78), +('cDDMaterialCtrl::cShaderDataGeneral', 1AFDCE0, 0x217FD98), +('cDDMaterialCtrl::cShaderDataGold', 1AFDE00, 0x217FDF8), +('cDDMaterialCtrl::cShaderDataHakuryuStone', 1AFE118, 0x217FEB8), +('cDDMaterialCtrl::cShaderDataMaterial', 1AFE310, 0x217FF78), +('cDDMaterialCtrl::cShaderDataMaterialAlchemyShell', 1AFE890, 0x2180178), +('cDDMaterialCtrl::cShaderDataMaterialColor', 1AFE3C0, 0x217FFB8), +('cDDMaterialCtrl::cShaderDataMaterialDead', 1AFE418, 0x217FFD8), +('cDDMaterialCtrl::cShaderDataMaterialElementEnemy', 1AFE8E8, 0x2180198), +('cDDMaterialCtrl::cShaderDataMaterialElementEnemyDark', 1AFEAA0, 0x2180238), +('cDDMaterialCtrl::cShaderDataMaterialElementEnemyFire', 1AFE940, 0x21801B8), +('cDDMaterialCtrl::cShaderDataMaterialElementEnemyHoly', 1AFEA48, 0x2180218), +('cDDMaterialCtrl::cShaderDataMaterialElementEnemyIce', 1AFE998, 0x21801D8), +('cDDMaterialCtrl::cShaderDataMaterialElementEnemyThunder', 1AFE9F0, 0x21801F8), +('cDDMaterialCtrl::cShaderDataMaterialEnchant', 1AFE470, 0x217FFF8), +('cDDMaterialCtrl::cShaderDataMaterialEnchantCraft', 1AFE680, 0x21800B8), +('cDDMaterialCtrl::cShaderDataMaterialEnchantCraftDark', 1AFE838, 0x2180158), +('cDDMaterialCtrl::cShaderDataMaterialEnchantCraftFire', 1AFE6D8, 0x21800D8), +('cDDMaterialCtrl::cShaderDataMaterialEnchantCraftHoly', 1AFE7E0, 0x2180138), +('cDDMaterialCtrl::cShaderDataMaterialEnchantCraftIce', 1AFE730, 0x21800F8), +('cDDMaterialCtrl::cShaderDataMaterialEnchantCraftThunder', 1AFE788, 0x2180118), +('cDDMaterialCtrl::cShaderDataMaterialEnchantDark', 1AFE628, 0x2180098), +('cDDMaterialCtrl::cShaderDataMaterialEnchantFire', 1AFE4C8, 0x2180018), +('cDDMaterialCtrl::cShaderDataMaterialEnchantHoly', 1AFE5D0, 0x2180078), +('cDDMaterialCtrl::cShaderDataMaterialEnchantIce', 1AFE520, 0x2180038), +('cDDMaterialCtrl::cShaderDataMaterialEnchantThunder', 1AFE578, 0x2180058), +('cDDMaterialCtrl::cShaderDataMaterialOldData', 1AFED98, 0x2180358), +('cDDMaterialCtrl::cShaderDataMaterialOmBlink', 1AFEBA8, 0x2180278), +('cDDMaterialCtrl::cShaderDataMaterialToDefaultColor', 1AFE368, 0x217FF98), +('cDDMaterialCtrl::cShaderDataOutline', 1AFE270, 0x217FF38), +('cDDMaterialCtrl::cShaderDataOutlineOn', 1AFE2C0, 0x217FF58), +('cDDMaterialCtrl::cShaderDataSdl', 1AFED40, 0x2180338), +('cDDMaterialCtrl::cShaderDataSdlData', 1AFED0C, 0x2180318), +('cDDMaterialCtrl::cShaderDataStatusAilments', 1AFDBC0, 0x217FD38), +('cDDMaterialCtrl::cShaderDataStatusAilmentsStep', 1AFDEF0, 0x2180378), +('cDDMaterialCtrl::cShaderDataStatusAilmentsStep::cSDSASRequest', 1AFDEC8, 0x21803B8), +('cDDMaterialCtrl::cShaderDataStatusAilmentsStepFreeze', 1AFDF50, 0x2180398), +('cDDMaterialCtrl::cShaderDataStone', 1AFDDA0, 0x217FDD8), +('cDDMaterialCtrl::cShaderDataWaterColor', 1AFEAF8, 0x2180258), +('cDDMaterialCtrl::cShaderDataWetOil', 1AFDD40, 0x217FDB8), +('cDDOParam', 1B00268, 0x21803DC), +('cDamageCounterInfo', 1C4F6D0, 0x21A8C90), +('cDamageEffInfo', 1BEF128, 0x2193728), +('cDamageMsg', 1AF74C0, 0x217FCB0), +('cDamageSaveEmLvParam', 1C4F310, 0x21A8B90), +('cDamageSeInfo', 1BEF10C, 0x2193708), +('cDamageSpecialAdj', 1C4F4F0, 0x21A8C10), +('cDarkSkyParam', 1C53F38, 0x21A93A0), +('cDayNightColorFogParam', 1AE6C74, 0x21CF038), +('cDayNightLightParam', 1DA5B60, 0x21CF22C), +('cDelegateBase', 1B002AC, 0x21803FC), +('cDelegateBase::cNode', 1B00298, 0x218041C), +('cDisableAbilityParam', 1C48578, 0x21A7F58), +('cDmJobAdjParam', 1C4EE7C, 0x21A8A50), +('cDmJobPawnAdjParam', 1C4F130, 0x21A8B10), +('cDmLvPawnAdjParam', 1C4F220, 0x21A8B50), +('cDmVecWeightParam', 1C565A8, 0x21A972C), +('cDragonSkill', 1AF889C, 0x21886AC), +('cDragonSkillColorData', 1C542B4, 0x21A9400), +('cDragonSkillData', 1C545C4, 0x21A94C0), +('cDragonSkillEnhanceParam', 1C543B8, 0x21A9440), +('cDragonSkillLevelParam', 1C544C0, 0x21A9480), +('cDraw', 20C3460, 0x22052F8), +('cDynamicBVHCollision', 20D1A48, 0x2208D24), +('cDynamicBVHCollision::Node', 20D1A34, 0x2208D04), +('cEditChargeInfoUpdator', 1B00C30, 0x2180444), +('cEditParam', 1B01110, 0x2180464), +('cEditParamList', 1CB4DE4, 0x21C1D84), +('cEditUserData', 1B0112C, 0x2180484), +('cEditValue', 1B010F4, 0x21804A4), +('cEfcHandle', 1B014D8, 0x21804C4), +('cEfcMotSync', 1B019CC, 0x2180508), +('cEfcMotSync::SyncManageFactor', 1B019B8, 0x21804E8), +('cEffectCorrectParam', 1C79850, 0x21AE76C), +('cEffectCycleCtrl', 1B01F14, 0x218056C), +('cEffectStatus', 1BEB148, 0x2193458), +('cEffectUnitGenerator', 20D6E68, 0x220A224), +('cEm010202ActFireModeOn', 1CBEB00, 0x21C2424), +('cEm010221ActDeadDirect', 1CC3DF0, 0x21C25E8), +('cEm010303ActComboBash', 1CC00C8, 0x21C24AC), +('cEm010303ActGuardCounter', 1CC0080, 0x21C248C), +('cEm010820ActDead', 1CC34E8, 0x21C25A4), +('cEm011201PriorDead', 1CC4B60, 0x21C267C), +('cEm011201PriorWait', 1CC4B18, 0x21C265C), +('cEm011201SummonMove', 1CC4AD0, 0x21C263C), +('cEm011410FogFirstWarpEnd', 1CC5E50, 0x21C2764), +('cEm011410FogSummonAppear', 1CC5D20, 0x21C26E4), +('cEm011410FogWarpEnd', 1CC5E00, 0x21C2744), +('cEm011410NoWarpWait', 1CC5D68, 0x21C2704), +('cEm011410WarpEnd', 1CC5DB0, 0x21C2724), +('cEm015060ActArmedAtkNear', 1CC8AB0, 0x21C2878), +('cEm015060ActExtraBurstSet', 1CC8A68, 0x21C2858), +('cEm015060ActExtraBurstStart', 1CC8A20, 0x21C2838), +('cEm015220ActExtraBurstMain', 1CC9438, 0x21C28DC), +('cEm015220ActExtraBurstSet', 1CC9480, 0x21C28FC), +('cEm015220ActExtraBurstStart', 1CC93F0, 0x21C28BC), +('cEm015330ActExtraBurstMain', 1CCADC8, 0x21C2A94), +('cEm015330ActExtraBurstSet', 1CCAE10, 0x21C2AB4), +('cEm015330ActExtraBurstStart', 1CCAD80, 0x21C2A74), +('cEm015330ResetSet', 1CCAEA0, 0x21C2AF4), +('cEm015330ResetStart', 1CCAE58, 0x21C2AD4), +('cEm015400ActFogStart', 1CCBDD8, 0x21C2CE4), +('cEm015400ActNmlToBattleSummon', 1CCBFD0, 0x21C2D24), +('cEm015400ActRegeneSp1Set', 1CCBCB8, 0x21C2BC4), +('cEm015400ActRegeneSp1Start', 1CCBC70, 0x21C2BA4), +('cEm015400ActRegeneSp2Set', 1CCBD48, 0x21C2C04), +('cEm015400ActRegeneSp2Start', 1CCBD00, 0x21C2BE4), +('cEm015400ActWaitHide', 1CCBE20, 0x21C2D04), +('cEm015400ActWarpEnd', 1CCBC28, 0x21C2B64), +('cEm015400ActWarpStart', 1CCBBE0, 0x21C2B44), +('cEm015400FogFinishWarpEnd', 1CCC0B8, 0x21C2B84), +('cEm015400FogPhase', 1B0AC50, 0x2181F4C), +('cEm015400FogWarpEnd', 1CCC018, 0x21C2D64), +('cEm015400InitPosWarpEnd', 1CCC068, 0x21C2D84), +('cEm015400Leave', 1CCBD90, 0x21C2C24), +('cEm015401ActHoverLateral', 1CCCDC8, 0x21C2E68), +('cEm015401ActWarpEnd', 1CCCD78, 0x21C2E48), +('cEm015401ActWarpStart', 1CCCD30, 0x21C2E28), +('cEm015508ActAtkCombo', 1CCDFA0, 0x21C2ED0), +('cEm015508ActStunAtkCombo', 1CCDFE8, 0x21C2EF0), +('cEm015510ActExtraBurstSet', 1CCE958, 0x21C2F54), +('cEm015510ActExtraBurstStart', 1CCE910, 0x21C2F34), +('cEm015717ActAtkDashFinish', 1CD1428, 0x21C31D4), +('cEm015717ActAtkDashLoop', 1CD13E0, 0x21C31B4), +('cEm015717ActAtkDashStart', 1CD1398, 0x21C3194), +('cEm015720LegCtrl', 1CD222C, 0x21C323C), +('cEm015831ActModeChange', 1CD4E68, 0x21C33F8), +('cEm015860ForceUpperEnchant', 1CD6468, 0x21C34AC), +('cEm015860Summon', 1CD6420, 0x21C348C), +('cEm015863ActCatchAttack', 1CD8068, 0x21C35CC), +('cEm015863ActCatchCancel', 1CD8140, 0x21C362C), +('cEm015863ActCatchFailed', 1CD80B0, 0x21C35EC), +('cEm015863ActCatchLoop', 1CD8020, 0x21C35AC), +('cEm015863ActCatchRelease', 1CD80F8, 0x21C360C), +('cEm015863ActCatchStart', 1CD7F48, 0x21C354C), +('cEm015863ActCatchSuccess', 1CD7FD8, 0x21C358C), +('cEm015863ActCatchWait', 1CD7F90, 0x21C356C), +('cEm015863ActThrowPlayer', 1CD8188, 0x21C364C), +('cEm015863BattlePhase', 1B0A238, 0x2181EF4), +('cEm020602ActAtkDeltaSpellStart', 1CDB7B0, 0x21C39AC), +('cEm020602ActWarpAndSummonAvatarSet', 1CDB600, 0x21C38EC), +('cEm020602ActWarpAndSummonAvatarStart', 1CDB5B8, 0x21C38CC), +('cEm020602AvatarActEscape', 1CDB6D8, 0x21C394C), +('cEm020602AvatarActWarpToSummonedPos', 1CDB648, 0x21C390C), +('cEm020602AvatarDeath', 1CDB768, 0x21C398C), +('cEm020602BattlePhase', 1B0B168, 0x2181F70), +('cEm020602DeathArmStart', 1CDB720, 0x21C396C), +('cEm020602HideWaitAir', 1CDB570, 0x21C38AC), +('cEm020602SelfReinforcement', 1CDB690, 0x21C392C), +('cEm020700ActAtkIai', 1CDC7C0, 0x21C3AE0), +('cEm020700ActAtkNear', 1CDC850, 0x21C3B20), +('cEm020700ActAtkSpellStart', 1CDCA00, 0x21C3BE0), +('cEm020700ActBackStep', 1CDC808, 0x21C3B00), +('cEm020700ActCatchRelease', 1CDC9B8, 0x21C3BC0), +('cEm020700ActGuardCounter', 1CDC6E8, 0x21C3A80), +('cEm020700ActGuardHit', 1CDC6A0, 0x21C3A60), +('cEm020700ActGuardWait', 1CDC658, 0x21C3A40), +('cEm020700ActIaiReady', 1CDC778, 0x21C3AC0), +('cEm020700ActIaiStance', 1CDC730, 0x21C3AA0), +('cEm020700ActNmlMoveStop', 1CDCAD8, 0x21C3C40), +('cEm020700ActNmlWait', 1CDCA48, 0x21C3C00), +('cEm020700ActPosWarpEnd', 1CDC928, 0x21C3B80), +('cEm020700ActTraceMove', 1CDCA90, 0x21C3C20), +('cEm020700ActWalk', 1CDC970, 0x21C3BA0), +('cEm020700ActWarpEnd', 1CDC8E0, 0x21C3B60), +('cEm020700ActWarpStart', 1CDC898, 0x21C3B40), +('cEm020700ActWepModeChange', 1CDC610, 0x21C3A20), +('cEm020702ActBarrierBreak', 1CDCCD0, 0x21C3D20), +('cEm020702ActBladeShot', 1CDCD18, 0x21C3D40), +('cEm020702ActCatchStart', 1CDCBB0, 0x21C3CA0), +('cEm020702ActCombo', 1CDCB68, 0x21C3C80), +('cEm020702ActComboReady', 1CDCB20, 0x21C3C60), +('cEm020702ActDragonSkill', 1CDCC88, 0x21C3D00), +('cEm020803ExDashFirstWarpStart', 1CDDDB8, 0x21C3E50), +('cEm020803ExDashRestart', 1CDDD70, 0x21C3E30), +('cEm020803ExDashWarpEnd', 1CDDD20, 0x21C3E10), +('cEm020803ExDashWarpStart', 1CDDCD8, 0x21C3DF0), +('cEm020803ExFieldBreak', 1CDDE48, 0x21C3E90), +('cEm020803ExFieldBreakEnd', 1CDDE90, 0x21C3EB0), +('cEm020803ExMeteorAppearLoop', 1CDDE00, 0x21C3E70), +('cEm020803HomePointWarpEnd', 1CDDF20, 0x21C3EF0), +('cEm020803HomePointWarpStart', 1CDDED8, 0x21C3ED0), +('cEm020803RegenerateSet', 1CDDC90, 0x21C3DD0), +('cEm020804ActionHideWait', 1CDEBA8, 0x21C4060), +('cEm020804AtkBreath', 1CDEA88, 0x21C3FE0), +('cEm020804AtkBreathEnd', 1CDEAD0, 0x21C4000), +('cEm020804ChanceDown', 1CDE968, 0x21C3F60), +('cEm020804ContinuousAction', 1CDEA40, 0x21C3FC0), +('cEm020804ExGetup', 1CDE9F8, 0x21C3FA0), +('cEm020804ExGetupPre', 1CDE9B0, 0x21C3F80), +('cEm020804PreDown', 1CDE920, 0x21C3F40), +('cEm020804StartSummonHarpy', 1CDEB18, 0x21C4020), +('cEm020804TurnToBridge', 1CDEB60, 0x21C4040), +('cEm021004ChanceDown', 1AF15F0, 0x217DFA0), +('cEm021004Crash', 1AF1680, 0x217DFE0), +('cEm021004CrashLanding', 1AF16C8, 0x217E000), +('cEm021004DamageToDown', 1AF15A8, 0x217DF80), +('cEm021004GetupFromChanceDown', 1AF1638, 0x217DFC0), +('cEm021004RegenerateSet', 1AF1758, 0x217E040), +('cEm021004RegenerateStart', 1AF1710, 0x217E020), +('cEm021004Run', 1AF17A0, 0x217E060), +('cEm021004SpellSet', 1AF14D0, 0x217DF20), +('cEm021004SpellShoot', 1AF1488, 0x217DF00), +('cEm021004SpellStart', 1AF1440, 0x217DEE0), +('cEm021004StaffBattleSafeDomeEnd', 1B0C4E8, 0x21821E8), +('cEm021004StaffBattleSafeDomeStart', 1B0C4C0, 0x21821C8), +('cEm021004StaffBattleSpellAct01', 1B0C3F8, 0x2182128), +('cEm021004StaffBattleSpellAct02', 1B0C420, 0x2182148), +('cEm021004StaffBattleSpellAct03', 1B0C448, 0x2182168), +('cEm021004StaffBattleSpellAct04', 1B0C470, 0x2182188), +('cEm021004StaffBattleSpellEnd', 1B0C498, 0x21821A8), +('cEm021004StaffBattleSpellSetup', 1B0C380, 0x21820C8), +('cEm021004StaffBattleSpellStart', 1B0C3A8, 0x21820E8), +('cEm021004StaffBattleSpelling', 1B0C3D0, 0x2182108), +('cEm021004StaffBattleWait', 1B0C358, 0x21820A8), +('cEm021004StaffBreak', 1B0C538, 0x2182228), +('cEm021004StaffCtrl', 1AEE820, 0x217DB7C), +('cEm021004StaffOfWise', 1AEED20, 0x217DBB0), +('cEm021004StaffSpellCancel', 1B0C510, 0x2182208), +('cEm021004StaffSummonAppear', 1B0C330, 0x2182088), +('cEm021004StaffSummonWait', 1B0C308, 0x2182068), +('cEm021004SummonStaffLoop', 1AF1518, 0x217DF40), +('cEm021004SummonStaffSet', 1AF1560, 0x217DF60), +('cEm022000ActAtkBehindHoming', 1B04200, 0x2180900), +('cEm022000ActAtkDashInit', 1B03FC0, 0x2180800), +('cEm022000ActAtkDashMove', 1B03F30, 0x21807C0), +('cEm022000ActAtkDashTurn', 1B03F78, 0x21807E0), +('cEm022000ActAtkReset', 1B04170, 0x21808C0), +('cEm022000ActAtkSummonSet', 1B041B8, 0x21808E0), +('cEm023000ActAppear', 1CE2048, 0x21C43D4), +('cEm023000ActAppearEnd', 1CE2090, 0x21C43F4), +('cEm023000ActAtkBreath', 1CE2288, 0x21C44F4), +('cEm023000ActBackStep', 1CE22D0, 0x21C4514), +('cEm023000ActCallRisingMagmaPre', 1CE21F8, 0x21C44B4), +('cEm023000ActCallRisingMagmaStart', 1CE2240, 0x21C44D4), +('cEm023000ActFeignDeadMotPlay', 1CE1CA0, 0x21C4234), +('cEm023000ActFieldBreak', 1CE1FB8, 0x21C4394), +('cEm023000ActFieldBreakPre', 1CE1F70, 0x21C4374), +('cEm023000ActFieldBreath', 1CE1EE0, 0x21C4334), +('cEm023000ActGoToPhase2', 1CE2000, 0x21C43B4), +('cEm023000ActMagmaOmSummonSet', 1CE2120, 0x21C4434), +('cEm023000ActMagmaOmSummonStart', 1CE20D8, 0x21C4414), +('cEm023000ActMagmaRecover', 1CE1CE8, 0x21C4254), +('cEm023000ActMagmaRecoverEnd', 1CE1D30, 0x21C4274), +('cEm023000ActPhase4SpOugiAttack', 1CE21B0, 0x21C4494), +('cEm023000ActPhase4SpOugiLoop', 1CE2168, 0x21C4474), +('cEm023000ActPreFieldBreath', 1CE1E98, 0x21C4314), +('cEm023000ActPreFieldFlyMove', 1CE1E08, 0x21C42D4), +('cEm023000ActPreFieldFlyTurn', 1CE1E50, 0x21C42F4), +('cEm023000ActSummonMeteorSet', 1CE1C58, 0x21C4214), +('cEm023000ActSummonMeteorShoot', 1CE1C10, 0x21C41F4), +('cEm023000ActSummonMeteorStart', 1CE1BC8, 0x21C41D4), +('cEm023000BattlePhase', 1B0B668, 0x2181FA0), +('cEm023000SeriousnessSet', 1CE1DC0, 0x21C42B4), +('cEm023000SeriousnessStart', 1CE1D78, 0x21C4294), +('cEm024000ActAirBreath', 1CE3630, 0x21C4808), +('cEm024000ActAtkTrans', 1CE30B0, 0x21C45A8), +('cEm024000ActCombo', 1CE30F8, 0x21C45C8), +('cEm024000ActDarkExplosionCristalStart', 1CE33C8, 0x21C4708), +('cEm024000ActDarkExplosionSet', 1CE3260, 0x21C4668), +('cEm024000ActDarkExplosionStart', 1CE3218, 0x21C4648), +('cEm024000ActDragonBreathShrink', 1CE3380, 0x21C46E8), +('cEm024000ActMoonPunchBase', 1CE3410, 0x21C4728), +('cEm024000ActMoonPunchLeavePlanet', 1CE3460, 0x21C4748), +('cEm024000ActMoonPunchSummon', 1CE35E8, 0x21C47E8), +('cEm024000ActMoonPunchSummonStart', 1CE35A0, 0x21C47C8), +('cEm024000ActMoonPunchTired', 1CE3550, 0x21C47A8), +('cEm024000ActNmlTrans', 1CE3068, 0x21C4588), +('cEm024000ActReset', 1CE3140, 0x21C45E8), +('cEm024000ActRoar', 1CE32A8, 0x21C4688), +('cEm024000ActSatelliteSet', 1CE32F0, 0x21C46A8), +('cEm024000ActSpellNoMotion', 1CE3338, 0x21C46C8), +('cEm024000ActTransform', 1CE3188, 0x21C4608), +('cEm024000ActTransformEnd', 1CE31D0, 0x21C4628), +('cEm02400ActMoonPunchDashLoop', 1CE3500, 0x21C4788), +('cEm02400ActMoonPunchHoverLoop', 1CE34B0, 0x21C4768), +('cEm030107ActionHideWait', 1CF0E98, 0x21C502C), +('cEm030108ActRegenerateSet', 1CF1008, 0x21C50CC), +('cEm030108ActionWarpFollow', 1CF0EE0, 0x21C504C), +('cEm030108MeteorAppearLoop', 1CF0F30, 0x21C506C), +('cEm030108MeteorBreak', 1CF0FC0, 0x21C50AC), +('cEm030108MeteorExplosion', 1CF0F78, 0x21C508C), +('cEm030109ActFall', 1CF1478, 0x21C512C), +('cEm030109ActLandWait', 1CF1430, 0x21C510C), +('cEm030109ActMoveWait', 1CF14C0, 0x21C514C), +('cEm030110SpecialDie', 1CE4190, 0x21C485C), +('cEm030111HideHillock', 1CE4B08, 0x21C48F0), +('cEm030111HillockAppear', 1CE4B50, 0x21C4910), +('cEm030111HillockCheck', 1CE4CB8, 0x21C49D0), +('cEm030111HillockDisappear', 1CE4C28, 0x21C4990), +('cEm030111InitProcess', 1CE4AC0, 0x21C48D0), +('cEm030111Parts', 1CE46AC, 0x21C4890), +('cEm030111PartsFire', 1CE4B98, 0x21C4930), +('cEm030111PartsNoFire', 1CE4D00, 0x21C4950), +('cEm030111PartsRespawn', 1CE4C70, 0x21C49B0), +('cEm030111SetInsect', 1CE4BE0, 0x21C4970), +('cEm030112Appear', 1CE6268, 0x21C4A74), +('cEm030112Fall', 1CE62B0, 0x21C4A94), +('cEm030113Appear', 1CE62F8, 0x21C4AB4), +('cEm030116AtkAction', 1CEE750, 0x21C4F10), +('cEm030116Death', 1CEE708, 0x21C4EF0), +('cEm030118Death', 1CE74D8, 0x21C4B1C), +('cEm050800ActExmAppear', 1CDCBF8, 0x21C3CC0), +('cEm050800ActExmLeave', 1CDCC40, 0x21C3CE0), +('cEm075300ActDeadSelf', 1CE8240, 0x21C4BA0), +('cEm075300ActPreDeadSelf', 1CE81F8, 0x21C4B80), +('cEm075300ExMeteorAppearLoop', 1CE81B0, 0x21C4B60), +('cEm075400Phase3ActAppearFromMagma', 1CE8C18, 0x21C4C34), +('cEm075400Phase3ActFightEscape', 1CE8D00, 0x21C4C94), +('cEm075400Phase3ActFlightBase', 1CE8BC8, 0x21C4C14), +('cEm075400Phase3ActHoverBase', 1CE8B78, 0x21C4BF4), +('cEm075400Phase3ActHoverLoop', 1CE8C68, 0x21C4C54), +('cEm075400Phase3ActHoverToNextPoint', 1CE8CB0, 0x21C4C74), +('cEm075400Phase3HideWait', 1CE8D50, 0x21C4CB4), +('cEm075400PointWarp', 1CE8DA0, 0x21C4CD4), +('cEmAct01501YoroyoroDamage', 1B029F0, 0x2180614), +('cEmAct015050SpecialDead', 1AEF3A8, 0x217DBD4), +('cEmAct015230AtkJump', 1CCA398, 0x21C2A30), +('cEmAct015230DownEnd', 1CCA350, 0x21C2A10), +('cEmAct015230DownNow', 1CCA308, 0x21C29F0), +('cEmAct015230DownStart', 1CCA2C0, 0x21C29D0), +('cEmAct015230Extra2AtkNear', 1CCA1E8, 0x21C2970), +('cEmAct015230ExtraAtkBreath', 1CCA230, 0x21C2990), +('cEmAct015230ExtraAtkNear', 1CCA1A0, 0x21C2950), +('cEmAct015230ExtraHillock', 1CCA278, 0x21C29B0), +('cEmAct015603Appear', 1CCF2F0, 0x21C2FC8), +('cEmAct015603Dead', 1CCF338, 0x21C2FE8), +('cEmAct015603DeathScythe', 1CCF4B0, 0x21C3088), +('cEmAct015603Down', 1CCF540, 0x21C30C8), +('cEmAct015603Escape', 1CCF380, 0x21C3008), +('cEmAct015603Hide', 1CCF2A8, 0x21C2FA8), +('cEmAct015603Lantern', 1CCF4F8, 0x21C30A8), +('cEmAct015603WarpBackEnd', 1CCF460, 0x21C3068), +('cEmAct015603WarpFrontEnd', 1CCF410, 0x21C3048), +('cEmAct015603WarpStart', 1CCF3C8, 0x21C3028), +('cEmAct015720ActDead', 1B03060, 0x2180698), +('cEmAct015720ChanceDown', 1B02FD0, 0x2180658), +('cEmAct015720ChanceDownPreGetup', 1B03018, 0x2180678), +('cEmAct015720CrushLandingToDown', 1B030F0, 0x21806D8), +('cEmAct015720FallToDown', 1B030A8, 0x21806B8), +('cEmAct015720GetupFromChanceDown', 1B03138, 0x21806F8), +('cEmAct015720ToDown', 1B02F88, 0x2180638), +('cEmAct015730AtkHigh', 1CD3080, 0x21C332C), +('cEmAct015730LegBreakToDown', 1CD2F60, 0x21C32AC), +('cEmAct015730LegChanceDown', 1CD2FA8, 0x21C32CC), +('cEmAct015730StoneBreath', 1CD3038, 0x21C330C), +('cEmAct015730Storm', 1CD2FF0, 0x21C32EC), +('cEmAct015730ToDown', 1CD2F18, 0x21C328C), +('cEmAct015821AtkCannoSetup', 1AEFB70, 0x217DCE4), +('cEmAct015821AtkCannonBase', 1AEF9C0, 0x217DC24), +('cEmAct015821AtkCannonCharge', 1AEFA50, 0x217DC64), +('cEmAct015821AtkCannonChargeInit', 1AEFA98, 0x217DC84), +('cEmAct015821AtkCannonOrder', 1AEFB28, 0x217DCC4), +('cEmAct015821AtkCannonSearch', 1AEFAE0, 0x217DCA4), +('cEmAct015821AtkCannonUseBase', 1AEFA08, 0x217DC44), +('cEmAct015821AtkRageOrder', 1AEF978, 0x217DC04), +('cEmAct015821CannonWarp', 1AEFBB8, 0x217DD04), +('cEmAct015850AtkDashEnd', 1B037F8, 0x218073C), +('cEmAct015850AtkDashFinish', 1B03840, 0x218075C), +('cEmAct015850AtkDashMove', 1B037B0, 0x218071C), +('cEmAct015850TrinityStart', 1B03888, 0x218077C), +('cEmAct015861Assist', 1AF0348, 0x217DD94), +('cEmAct015861HateOrder', 1AF0300, 0x217DD74), +('cEmAct015861SummonOrder', 1AF0270, 0x217DD34), +('cEmAct015861SummonSet', 1AF02B8, 0x217DD54), +('cEmAct015862AtkShrinkComb', 1AF0B08, 0x217DE5C), +('cEmAct015862AtkSpellShoot', 1AF09E8, 0x217DDD8), +('cEmAct015862AtkSpellStart', 1AF09A0, 0x217DDB8), +('cEmAct015862AtkSummonBlow', 1AF0AC0, 0x217DE3C), +('cEmAct015862AtkSummonSet', 1AF0A30, 0x217DDFC), +('cEmAct015862AtkSummonShrink', 1AF0A78, 0x217DE1C), +('cEmAct015862Ranbu', 1AF0B50, 0x217DE7C), +('cEmAct015862StaminaHeal', 1AF0BE0, 0x217DEBC), +('cEmAct015862StaminaHealPre', 1AF0B98, 0x217DE9C), +('cEmAct015863AtkQuestLinkAction', 1CD8218, 0x21C368C), +('cEmAct015863AtkSummonSet', 1CD81D0, 0x21C366C), +('cEmAct015863BackChantStart', 1CD8260, 0x21C36AC), +('cEmAct015863BerserkerCall', 1CD8388, 0x21C372C), +('cEmAct015863Warp', 1CD82A8, 0x21C36CC), +('cEmAct015863WarpEnd', 1CD82F0, 0x21C36EC), +('cEmAct015863WeakStart', 1CD8340, 0x21C370C), +('cEmAct022000AtkSpOugiSet', 1B04098, 0x2180860), +('cEmAct022000AtkSpOugiShoot', 1B04050, 0x2180840), +('cEmAct022000AtkSpOugiStart', 1B04008, 0x2180820), +('cEmAct022000FieldBreak', 1B040E0, 0x2180880), +('cEmAct022000Swayed', 1B03EE8, 0x21807A0), +('cEmAct071250Cleave', 1CD87F8, 0x21C378C), +('cEmAct071250LongitudinalSlash', 1CD87B0, 0x21C376C), +('cEmAct071250Wait', 1CD8840, 0x21C37AC), +('cEmActAirAtkBreath', 1B04DE0, 0x2180D24), +('cEmActAirAtkExtra', 1B04F48, 0x2180D64), +('cEmActAirAtkJumpEnd', 1B04C30, 0x2180C24), +('cEmActAirAtkJumpStart', 1B04BE8, 0x2180C04), +('cEmActAirAtkMiddle', 1B04BA0, 0x2180BE4), +('cEmActAirAtkMiddleStart', 1B04B58, 0x2180BC4), +('cEmActAirAtkNear', 1B04B10, 0x2180BA4), +('cEmActAirAtkReset', 1B04E70, 0x2180CE4), +('cEmActAirAtkShakeoff', 1B04E28, 0x2180CC4), +('cEmActAirAtkShell', 1B04D98, 0x2180D04), +('cEmActAirAtkSpellSet', 1B04D08, 0x2180C84), +('cEmActAirAtkSpellShoot', 1B04CC0, 0x2180C64), +('cEmActAirAtkSpellStart', 1B04C78, 0x2180C44), +('cEmActAirAtkSummonSet', 1B04D50, 0x2180CA4), +('cEmActAirShrink', 1B03DE0, 0x218120C), +('cEmActAirShrinkBlow', 1B06948, 0x218122C), +('cEmActAirSwayed', 1B06AB8, 0x21812EC), +('cEmActAirSwayedGetup', 1B06B48, 0x218132C), +('cEmActAirSwayedLanding', 1B06B00, 0x218130C), +('cEmActAltitudeFall', 1B06D50, 0x218144C), +('cEmActAltitudeLanding', 1B06D98, 0x218146C), +('cEmActAngryStart', 1B09390, 0x2181BE0), +('cEmActAppear', 1B093D8, 0x2181C00), +('cEmActAppearEnd', 1B09420, 0x2181C20), +('cEmActArmedExtraBurst', 1B050B0, 0x2180E04), +('cEmActArmedExtraBurstPre', 1B05068, 0x2180DE4), +('cEmActAroundMove', 1B092B8, 0x2181B80), +('cEmActAroundMoveStop', 1B09300, 0x2181BA0), +('cEmActAtkBehind', 1B04890, 0x2180964), +('cEmActAtkBreath', 1B04A78, 0x2180B24), +('cEmActAtkBreathWait', 1B04A30, 0x2180B04), +('cEmActAtkChargeEnd', 1B05020, 0x2180DC4), +('cEmActAtkChargeLoop', 1B04FD8, 0x2180DA4), +('cEmActAtkChargeStart', 1B04F90, 0x2180D84), +('cEmActAtkDashEnd', 1B03728, 0x2180A24), +('cEmActAtkDashFinish', 1B03768, 0x2180A44), +('cEmActAtkDashMove', 1B036E8, 0x21809E4), +('cEmActAtkDashMoveInitPlay', 1B04970, 0x2180A04), +('cEmActAtkHerald', 1B04F00, 0x2180D44), +('cEmActAtkJump', 1B048D8, 0x21809A4), +('cEmActAtkJumpLanding', 1B04920, 0x21809C4), +('cEmActAtkMiddle', 1B04840, 0x2180984), +('cEmActAtkNear', 1AF0898, 0x2180924), +('cEmActAtkReset', 1B03EA0, 0x2180B64), +('cEmActAtkShakeoff', 1B04AC0, 0x2180B44), +('cEmActAtkShell', 1B049E8, 0x2180AE4), +('cEmActAtkSpellSet', 1AF11F8, 0x2180AA4), +('cEmActAtkSpellShoot', 1AF01E8, 0x2180A84), +('cEmActAtkSpellStart', 1AF08D8, 0x2180A64), +('cEmActAtkSummonSet', 1AF0228, 0x2180AC4), +('cEmActAtkTurn', 1B03E60, 0x2180944), +('cEmActAttackBase', 1AEF8F0, 0x2182344), +('cEmActBackMove', 1B09228, 0x2181B40), +('cEmActBackTurn', 1B09348, 0x2181BC0), +('cEmActBaphoFoundationStart', 1B09980, 0x2181E80), +('cEmActBase', 1B0D6A8, 0x21822A4), +('cEmActBind', 1B07060, 0x218168C), +('cEmActBlow', 1AF0958, 0x218138C), +('cEmActBlowLanding', 1B06C28, 0x21813AC), +('cEmActCatchAttack', 1B05A80, 0x2180EA8), +('cEmActCatchBase', 1B058D8, 0x21823C4), +('cEmActCatchCancel', 1B05B58, 0x2180F08), +('cEmActCatchFailed', 1B05AC8, 0x2180EC8), +('cEmActCatchFailedStretch', 1B05C78, 0x2180F88), +('cEmActCatchLoop', 1B05A38, 0x2180E88), +('cEmActCatchRelease', 1B05B10, 0x2180EE8), +('cEmActCatchStart', 1B05960, 0x2180E28), +('cEmActCatchStartStretch', 1B05BA0, 0x2180F28), +('cEmActCatchSuccess', 1B059F0, 0x2180E68), +('cEmActCatchSuccessStretch', 1B05C30, 0x2180F68), +('cEmActCatchWait', 1B059A8, 0x2180E48), +('cEmActCatchWaitStretch', 1B05BE8, 0x2180F48), +('cEmActCaughtBase', 1B05918, 0x21823E4), +('cEmActCaughtBeardownCancel', 1B05FD8, 0x2181108), +('cEmActCaughtBeardownEscape', 1B05F90, 0x21810E8), +('cEmActCaughtBeardownFailed', 1B05F48, 0x21810C8), +('cEmActCaughtBeardownLoop', 1B05F00, 0x21810A8), +('cEmActCaughtBeardownStart', 1B05E70, 0x2181068), +('cEmActCaughtBeardownSuccess', 1B05EB8, 0x2181088), +('cEmActCaughtBindCancel', 1B06188, 0x21811C8), +('cEmActCaughtBindEscape', 1B06140, 0x21811A8), +('cEmActCaughtBindFailed', 1B060F8, 0x2181188), +('cEmActCaughtBindLoop', 1B060B0, 0x2181168), +('cEmActCaughtBindStart', 1B06020, 0x2181128), +('cEmActCaughtBindSuccess', 1B06068, 0x2181148), +('cEmActChanceDown', 1AF1338, 0x21814EC), +('cEmActCrush', 1B06C70, 0x21813CC), +('cEmActCrushLanding', 1B06CB8, 0x21813EC), +('cEmActCrushLandingToDown', 1AF1238, 0x218140C), +('cEmActCrushToDown', 1AF12B8, 0x21814AC), +('cEmActDamageBase', 1AEF320, 0x2182364), +('cEmActDead', 1B02F40, 0x218158C), +('cEmActDeadBase', 1AEF360, 0x2182384), +('cEmActDeadDirect', 1B06EB0, 0x21815CC), +('cEmActDeadSelf', 1B06E68, 0x21815AC), +('cEmActDmgDown', 1B06E08, 0x218152C), +('cEmActDmgToFall', 1B06D08, 0x218142C), +('cEmActDown', 1AF12F8, 0x218150C), +('cEmActEm015400AirShrink', 1CCBE68, 0x21C2C44), +('cEmActEm015400AirSwayedLoop', 1CCBF40, 0x21C2CA4), +('cEmActEm015400SpAtkCrush', 1CCBEF8, 0x21C2C84), +('cEmActEm015400SpOugiShlLoop', 1CCBEB0, 0x21C2C64), +('cEmActEm015400Swayed', 1CCBF88, 0x21C2CC4), +('cEmActEm022000AirShrink', 1B04128, 0x21808A0), +('cEmActEm023000FieldBreakJumpAtk', 1CE1F28, 0x21C4354), +('cEmActErosionRegenerateAll', 1B097D0, 0x2181DC0), +('cEmActErosionRegenerateInit', 1B09818, 0x2181DE0), +('cEmActErosionRegeneratePriority', 1B09860, 0x2181E00), +('cEmActErosionRegenerateSetAll', 1B098A8, 0x2181E20), +('cEmActErosionRegenerateSetInit', 1B098F0, 0x2181E40), +('cEmActErosionRegenerateSetPriority', 1B09938, 0x2181E60), +('cEmActFallSwayed', 1B06B90, 0x218134C), +('cEmActFallSwayedLanding', 1B06BD8, 0x218136C), +('cEmActFallToDown', 1B02F00, 0x21814CC), +('cEmActFlyBase', 1B07B78, 0x2182324), +('cEmActFlyMove', 1B07DB8, 0x21818B0), +('cEmActFlyToHover', 1B07E90, 0x2181910), +('cEmActFlyTraceMove', 1B07E00, 0x21818D0), +('cEmActFsmWait', 1B08528, 0x2181974), +('cEmActGetup', 1AF1378, 0x218154C), +('cEmActGetupFromChanceDown', 1AF13B8, 0x218156C), +('cEmActGoldFlyMove', 1CEAD08, 0x21C4D64), +('cEmActGuardBreak', 1B07138, 0x21816EC), +('cEmActGuardCounter', 1B04EB8, 0x2180B84), +('cEmActGuardEnd', 1B094F8, 0x2181C80), +('cEmActGuardHit', 1B099C8, 0x2181EA0), +('cEmActGuardStart', 1B09468, 0x2181C40), +('cEmActGuardWait', 1B094B0, 0x2181C60), +('cEmActHoverBase', 1B07B38, 0x2182304), +('cEmActHoverLoop', 1B07C08, 0x21817F0), +('cEmActHoverMotion', 1B07C98, 0x2181830), +('cEmActHoverMotionStop', 1B07CE0, 0x2181850), +('cEmActHoverMove', 1B07C50, 0x2181810), +('cEmActHoverToFly', 1B07E48, 0x21818F0), +('cEmActHoverTraceMove', 1B07D28, 0x2181870), +('cEmActHoverTurn', 1B07D70, 0x2181890), +('cEmActJumpSwayed', 1B069E0, 0x218128C), +('cEmActJumpSwayedGetup', 1B06A70, 0x21812CC), +('cEmActJumpSwayedLanding', 1B06A28, 0x21812AC), +('cEmActLanding', 1B07ED8, 0x2181930), +('cEmActLandingApproach', 1B07F20, 0x2181950), +('cEmActMotPlay', 1B08A28, 0x21822E4), +('cEmActMotSet', 1B08A70, 0x218199C), +('cEmActMoveFreezeDie', 1B072E8, 0x21817AC), +('cEmActNmlFall', 1B09148, 0x2181AC0), +('cEmActNmlJump', 1B090B8, 0x2181A80), +('cEmActNmlLanding', 1B09190, 0x2181AE0), +('cEmActNmlMove', 1AF13F8, 0x2181A00), +('cEmActNmlMoveStop', 1B09028, 0x2181A40), +('cEmActNmlOmWait', 1B09618, 0x2181D00), +('cEmActNmlSummonAppear', 1B09588, 0x2181CC0), +('cEmActNmlSummonAppearMotPlay', 1B095D0, 0x2181CE0), +('cEmActNmlSummonWait', 1B09540, 0x2181CA0), +('cEmActNmlTraceMove', 1B08FE0, 0x2181A20), +('cEmActNmlTurn', 1B09070, 0x2181A60), +('cEmActNmlWait', 1AF01A8, 0x21819E0), +('cEmActNormalBase', 1AEF8B0, 0x21822C4), +('cEmActNpcTalk', 1B08AB8, 0x21819BC), +('cEmActPointJump', 1B09100, 0x2181AA0), +('cEmActQuake', 1B070F0, 0x21816CC), +('cEmActRegenerateSet', 1B096A8, 0x2181D40), +('cEmActRegenerateStart', 1B09660, 0x2181D20), +('cEmActReturnTerritoryWarp', 1B091E0, 0x2181B20), +('cEmActRigid', 1B07180, 0x218170C), +('cEmActRigidAir', 1B071C8, 0x218172C), +('cEmActRigidEnd', 1B072A0, 0x218178C), +('cEmActRigidFly', 1B07210, 0x218174C), +('cEmActRigidLanding', 1B07258, 0x218176C), +('cEmActShrink', 1AF0918, 0x21811EC), +('cEmActSleepLoop', 1B07018, 0x218166C), +('cEmActSleepStart', 1B06FD0, 0x218164C), +('cEmActSpBlow', 1B06EF8, 0x21815EC), +('cEmActStepMove', 1B09270, 0x2181B60), +('cEmActStun', 1B06F40, 0x218160C), +('cEmActStunEnd', 1B06F88, 0x218162C), +('cEmActSwayed', 1B03E20, 0x218124C), +('cEmActSwayedEnd', 1B06998, 0x218126C), +('cEmActTakeoff', 1B07BC0, 0x21817D0), +('cEmActToDown', 1AF1278, 0x218148C), +('cEmActTraceBase', 1B0D728, 0x21823A4), +('cEmActWarpBase', 1AEF930, 0x2181B00), +('cEmActWarpEnd', 1B09738, 0x2181D80), +('cEmActWarpEndEx', 1B09780, 0x2181DA0), +('cEmActWarpStart', 1B096F0, 0x2181D60), +('cEmActWind', 1B070A8, 0x21816AC), +('cEmArmor', 1AF1DDC, 0x217E0A4), +('cEmBaseInfoSv', 1C551A0, 0x21A9584), +('cEmCategory', 1C579A8, 0x21A9954), +('cEmDamageDirInfo', 1C57F50, 0x21A9998), +('cEmDmgTimerTbl', 1C585A0, 0x21A99DC), +('cEmEffectSeControl', 1C29218, 0x21A4108), +('cEmEffectTable', 1C58B48, 0x21A9A20), +('cEmFloatMoveCtrl', 1B0BD88, 0x2181FE4), +('cEmLvUpParam', 1C59100, 0x21A9A64), +('cEmMsgTable', 1C591FC, 0x21A9AA4), +('cEmPhaseBase', 1B0A1F0, 0x2181ED4), +('cEmPhaseCtrl', 1B0A774, 0x2181F18), +('cEmPhoenexDragonOMActionHideWait', 1CF0E50, 0x21C500C), +('cEmPhoenixDragonActBlendBreath', 1CE2318, 0x21C4534), +('cEmRotationMoveCtrl', 1B0BDA4, 0x2182004), +('cEmScaleTable', 1C59FEC, 0x21A9B8C), +('cEmScrAdjust', 1C5A0E4, 0x21A9BCC), +('cEmSimpleMoveCtrl', 1B0BD6C, 0x2181FC4), +('cEmSoundTable', 1C5A1E4, 0x21A9C0C), +('cEmStatusAdj', 1C5A320, 0x21A9C4C), +('cEmWarpParam', 1C5A41C, 0x21A9C8C), +('cEmWeakSafe', 1C5A514, 0x21A9CCC), +('cEmWorkRateCtrl', 1B0CC28, 0x218224C), +('cEmWorkRateTable', 1C5A610, 0x21A9D0C), +('cEmblemColorTable', 1C55730, 0x21A95C4), +('cEmparam', 1C59A40, 0x21A9B48), +('cEndContentsManager', 1B0D178, 0x218227C), +('cEndContentsSortieInfo', 1C5A72C, 0x21A9D4C), +('cEnemyBloodStain', 1C5ACD8, 0x21A9D90), +('cEnemyEventHistory', 1B0D874, 0x2182404), +('cEnemyGroup', 1C5AE08, 0x21A9DD0), +('cEnemyGroup::cEmList', 1C5ADD8, 0x21A9DF0), +('cEnemyLocalEstTable', 1C5B3E0, 0x21A9E34), +('cEnemyLocalShelTable', 1C5B9E8, 0x21A9E78), +('cEnemyMaterialTable', 1C5BFB8, 0x21A9EBC), +('cEnemyOrderBase', 1B0DD58, 0x218242C), +('cEnemyOrderCtrl', 1B0E280, 0x2182470), +('cEnemyOrderHateFix', 1B0DD80, 0x218244C), +('cEnemyReactRes', 1C5C5B0, 0x21A9F00), +('cEnemyStatusChange', 1C5C6B0, 0x21A9F40), +('cEnemyThink', 1B0EC24, 0x21824A8), +('cEnhancedData', 1C5CA84, 0x21AA000), +('cEnhancedParam', 1C5CABC, 0x21AA020), +('cEnumDef', 1B0EC50, 0x21824C8), +('cEquipCalc', 1AF89D0, 0x2182574), +('cEquipData', 1B0F6F8, 0x2182530), +('cEquipItemInfoEx', 1C949A0, 0x21AFB50), +('cEquipParamBase', 1B0F200, 0x218250C), +('cEquipParamDisplay', 1B103C8, 0x2182598), +('cEquipParamPerformance', 1B108C4, 0x21825DC), +('cEquipPlayerData', 1B10DC8, 0x2182600), +('cEquipPreset', 1C5D708, 0x21AA0C8), +('cEquipPresetPalette', 1C1915C, 0x21AA108), +('cErosionInfoRes', 1C5DD88, 0x21AA148), +('cErosionRegion', 1B112E0, 0x2182624), +('cErosionRegionRes', 1C5DE78, 0x21AA188), +('cErosionRegionScaleChange', 1C5E1A0, 0x21AA248), +('cErosionShakeConvert', 1C4F5E4, 0x21A8C50), +('cErosionSmallInfoRes', 1C5DF68, 0x21AA1C8), +('cErosionSuperInfoRes', 1C5E05C, 0x21AA208), +('cEvaluation', 1B9E3A8, 0x218ACB8), +('cEvaluationData', 1B9E38C, 0x218ACD8), +('cEvaluationPoint', 1B9E370, 0x218ACF8), +('cEvaluationTable', 1C5E2B4, 0x21AA288), +('cEventParam', 1C5E460, 0x21AA2C8), +('cEventParam::cOmList', 1C5E430, 0x21AA308), +('cEventResTable', 1C5E600, 0x21AA328), +('cFSMAutoPlay', 1B117C0, 0x2182658), +('cFSMBase', 1B9E928, 0x218AD48), +('cFSMBase::cParamCallMessage', 1B9E8F0, 0x218AD68), +('cFSMBase::cParamCallMessageFortDef_Common', 1B9E910, 0x218AD88), +('cFSMCamEv', 1B11CB0, 0x2182688), +('cFSMCore', 1B11DB8, 0x21826A8), +('cFSMEvent', 1B9F074, 0x218ADBC), +('cFSMOrder', 1B9F6A0, 0x218ADF0), +('cFSMOrderParam', 1B9FCC8, 0x218AE18), +('cFSMOrderParamAreaHit', 1B9FE1C, 0x218AF58), +('cFSMOrderParamBGMCommon', 1B9FD68, 0x218AEB8), +('cFSMOrderParamBGMRequest', 1B9FF6C, 0x218B098), +('cFSMOrderParamBGMStop', 1B9FF8C, 0x218B0B8), +('cFSMOrderParamCallAnnounce', 1B9FE7C, 0x218AFB8), +('cFSMOrderParamCallEvent', 1B9FDFC, 0x218AF18), +('cFSMOrderParamCallEvent::cNpcId', 1B9FDD0, 0x218AF38), +('cFSMOrderParamCamera', 1B9FD88, 0x218AED8), +('cFSMOrderParamChangeBattleThink', 1B9FFAC, 0x218B0D8), +('cFSMOrderParamCheckLayout', 1B9FEDC, 0x218B018), +('cFSMOrderParamCtrlSubSdl', 1BA008C, 0x218B1B8), +('cFSMOrderParamDrawingSwordFlag', 1BA010C, 0x218B238), +('cFSMOrderParamEvidenceItem', 1BA00EC, 0x218B218), +('cFSMOrderParamFSMFreeFlag', 1BA00CC, 0x218B1F8), +('cFSMOrderParamFlagCommon', 1B9FCE8, 0x218AE38), +('cFSMOrderParamFlagQuest', 1B9FD08, 0x218AE58), +('cFSMOrderParamIsMyQuestFlag', 1B9FE5C, 0x218AF98), +('cFSMOrderParamJumpArea', 1B9FD28, 0x218AE78), +('cFSMOrderParamJumpPos', 1B9FD48, 0x218AE98), +('cFSMOrderParamLayoutFlag', 1BA00AC, 0x218B1D8), +('cFSMOrderParamQuestInfo', 1B9FE3C, 0x218AF78), +('cFSMOrderParamSetCallSe', 1BA004C, 0x218B178), +('cFSMOrderParamSetDispUnit', 1B9FF4C, 0x218B078), +('cFSMOrderParamSetEffect', 1B9FFCC, 0x218B0F8), +('cFSMOrderParamSetEnemy', 1B9FF2C, 0x218B038), +('cFSMOrderParamSetEnemy::cSetEmInfo', 1B9FF04, 0x218B058), +('cFSMOrderParamSetFade', 1B9FFEC, 0x218B118), +('cFSMOrderParamSetLayout', 1B9FDA8, 0x218AEF8), +('cFSMOrderParamSetLocationName', 1BA000C, 0x218B138), +('cFSMOrderParamSetOpenDoor', 1BA002C, 0x218B158), +('cFSMOrderParamSetVib', 1BA006C, 0x218B198), +('cFSMOrderParamStageEffect', 1BA012C, 0x218B258), +('cFSMOrderParamStartQuake', 1B9FE9C, 0x218AFD8), +('cFSMOrderParamStopQuake', 1B9FEBC, 0x218AFF8), +('cFSMRelate', 1BA08E8, 0x218B278), +('cFSMTaskCtrl', 1CF32E8, 0x21C5238), +('cFSMUnit', 1BA0E38, 0x218B2AC), +('cFSMUnit::cParamAddAttendPoint', 1BA127C, 0x218B68C), +('cFSMUnit::cParamCheckGauge', 1BA130C, 0x218B70C), +('cFSMUnit::cParamRandomChoice', 1BA12EC, 0x218B6CC), +('cFSMUnit::cParamRandomChoice::cParamRandomChoiceParam', 1BA12C4, 0x218B6EC), +('cFSMUnit::cParamSelectedChoiceTalk', 1BA132C, 0x218B72C), +('cFSMUnit::cParamSetAction', 1BA0F04, 0x218B36C), +('cFSMUnit::cParamSetAdjustScrHit', 1BA0FE4, 0x218B44C), +('cFSMUnit::cParamSetAttendComp', 1BA129C, 0x218B6AC), +('cFSMUnit::cParamSetAttendNpc', 1BA1004, 0x218B46C), +('cFSMUnit::cParamSetCallSe', 1BA10A4, 0x218B50C), +('cFSMUnit::cParamSetChangeThink', 1BA0FC4, 0x218B42C), +('cFSMUnit::cParamSetDisableTouchAction', 1BA1024, 0x218B48C), +('cFSMUnit::cParamSetDispMiniMap', 1BA1184, 0x218B5EC), +('cFSMUnit::cParamSetDispWeapon', 1BA1044, 0x218B4AC), +('cFSMUnit::cParamSetEffect', 1BA0F24, 0x218B38C), +('cFSMUnit::cParamSetEmDie', 1BA0F84, 0x218B3EC), +('cFSMUnit::cParamSetEmMontage', 1BA1124, 0x218B58C), +('cFSMUnit::cParamSetEnemyHP', 1BA123C, 0x218B64C), +('cFSMUnit::cParamSetEnemyPos', 1BA125C, 0x218B66C), +('cFSMUnit::cParamSetEyeBall', 1BA0F64, 0x218B3CC), +('cFSMUnit::cParamSetEyeClose', 1BA1164, 0x218B5CC), +('cFSMUnit::cParamSetGoto', 1BA0E84, 0x218B2EC), +('cFSMUnit::cParamSetGotoTarget', 1BA0EA4, 0x218B30C), +('cFSMUnit::cParamSetHakuryuStoneLevel', 1BA10C4, 0x218B52C), +('cFSMUnit::cParamSetHaveThing', 1BA1084, 0x218B4EC), +('cFSMUnit::cParamSetHeadCtrl', 1BA1144, 0x218B5AC), +('cFSMUnit::cParamSetIK', 1BA11A4, 0x218B60C), +('cFSMUnit::cParamSetMotion', 1BA0EC4, 0x218B32C), +('cFSMUnit::cParamSetMotionGoto', 1BA0EE4, 0x218B34C), +('cFSMUnit::cParamSetNeck', 1BA0F44, 0x218B3AC), +('cFSMUnit::cParamSetParts', 1BA10E4, 0x218B54C), +('cFSMUnit::cParamSetShadowCast', 1BA1064, 0x218B4CC), +('cFSMUnit::cParamSetVibUnit', 1BA1104, 0x218B56C), +('cFSMUnit::cParamSetWait', 1BA0E64, 0x218B2CC), +('cFSMUnit::cParamSetWaypoint', 1BA0FA4, 0x218B40C), +('cFSMUnit::uEvHeadTarget', 1BA11C8, 0x218B62C), +('cFacialEditJointPreset', 1C5F304, 0x21AA44C), +('cFatAdjust', 1C5F420, 0x21AA48C), +('cFunctionList', 1C5FE28, 0x21AA63C), +('cFurniture', 1B12318, 0x21826D8), +('cFurniture::Info', 1B122E8, 0x21826F8), +('cFurnitureData', 1C604F8, 0x21AA6E0), +('cFurnitureGroup', 1C60618, 0x21AA720), +('cFurnitureGroupListItems::cItem', 1B7A304, 0x2188A7C), +('cFurnitureItem', 1C607E8, 0x21AA7A0), +('cFurnitureLayout', 1C60700, 0x21AA760), +('cFurnitureListItems::cInfo', 1B7A348, 0x2188A9C), +('cFurnitureListItems::cItem', 1B7A37C, 0x2188ABC), +('cFurnitureMenuFlow', 1B12834, 0x2182728), +('cGUIClanExecutor', 1B131F8, 0x218275C), +('cGUIContentsExecutor', 1B13714, 0x218278C), +('cGUIControlMgr', 1B13DDC, 0x21827BC), +('cGUIDogmaOrbRes', 1C60C4C, 0x21AA8A0), +('cGUIExtNetMgr', 1B14354, 0x21827EC), +('cGUIFloorManager', 1BA3268, 0x218B7F0), +('cGUIFloorManager::cParam', 1BA3240, 0x218B810), +('cGUIFontFilterBorder', 20D2CD8, 0x220906C), +('cGUIFontFilterGradationOverlay', 20D2D78, 0x22090AC), +('cGUIFontFilterShading', 20D2D28, 0x220908C), +('cGUIFontFilterShadow', 20D2C88, 0x220904C), +('cGUIFontFilterTextureBlend', 20D2DC8, 0x22090CC), +('cGUIInstAnimControl', 20C5358, 0x2205624), +('cGUIInstAnimVariable', 20C52E8, 0x2205604), +('cGUIInstAnimation', 20C5280, 0x22055E4), +('cGUIInstMessage', 20D60F0, 0x2209E04), +('cGUIInstNull', 20C51B0, 0x22055A4), +('cGUIInstRoot', 20C5150, 0x2205584), +('cGUIInstScissorMask', 20C5218, 0x22055C4), +('cGUIInstText', 20D6180, 0x2209E24), +('cGUIKeepString', 1B14380, 0x218280C), +('cGUIMessageAnalyzer', 20CBC48, 0x2206AB8), +('cGUIObjChildAnimationRoot', 20C49C8, 0x22054A4), +('cGUIObjColorAdjust', 20C48A0, 0x2205424), +('cGUIObjFreePolygonDDO', 1B14408, 0x218282C), +('cGUIObjMessage', 20C4B78, 0x2205524), +('cGUIObjNull', 20C4968, 0x2205484), +('cGUIObjPolygon', 20C4A28, 0x22054C4), +('cGUIObjRoot', 20C4838, 0x2205404), +('cGUIObjScissorMask', 20C4908, 0x2205464), +('cGUIObjSoundReq', 1BA37A8, 0x218B840), +('cGUIObjText', 20C4C00, 0x2205544), +('cGUIObjTexture', 20C4A98, 0x22054E4), +('cGUIObjTextureRef', 1BA3CE8, 0x218B870), +('cGUIObjTextureSet', 20C4B08, 0x2205504), +('cGUIPawnThinkScroll::cData', 1B14ECC, 0x218288C), +('cGUIPawnThinkScroll::cElement', 1B14F2C, 0x21828CC), +('cGUIPawnThinkScroll::cHeader', 1B14EFC, 0x21828AC), +('cGUIPhotoFrameRes', 1C60EA4, 0x21AA920), +('cGUIVarFloat', 20D0E38, 0x2207994), +('cGUIVarInt', 20D0E10, 0x2207974), +('cGameDataCache', 1BA2810, 0x218B754), +('cGameHttpClient', 1C92970, 0x21AF98C), +('cGameHttpClient::cLoginBackDoorInfo', 1C9295C, 0x21AF9CC), +('cGameHttpClient::cServerEnvironmentInfo', 1C92940, 0x21AF9AC), +('cGamePadInfo', 1C9B690, 0x21C0638), +('cGatherItemList', 1B36A14, 0x2194CC4), +('cGatheringItem', 1C60B4C, 0x21AA860), +('cGeneralPoint', 1BA2840, 0x218B778), +('cGeneralPointLifeArea', 1BA2860, 0x218B798), +('cGeomConvexHull', 20C9F00, 0x220A9E4), +('cGeomIterator', 1B155CC, 0x2182910), +('cGridCollision', 20D3F84, 0x22097BC), +('cGroundAttrInfo', 1C0164C, 0x21951EC), +('cGroupParam', 1C65288, 0x21AB2AC), +('cGroupParam::DropItemInfo', 1C6523C, 0x21AB34C), +('cGroupParam::EmSetInfo', 1C65274, 0x21AB30C), +('cGroupParam::OmSetInfo', 1C65258, 0x21AB32C), +('cGroupParam::cID', 1C65218, 0x21AB2CC), +('cGroupParam::cLifeArea', 1C651D0, 0x21AB36C), +('cGroupParam::cUnitData', 1C651F4, 0x21AB2EC), +('cGuardInfo', 1BA2D58, 0x218B7BC), +('cHeadCtrl', 1C60F9C, 0x21AA960), +('cHealedInfo', 1BA58E8, 0x218B908), +('cHemLeoBattlePerform', 1B1BC78, 0x2183F90), +('cHemLeoChangeDown', 1B1BBE8, 0x2183F50), +('cHemLeoChangeDownEnd', 1B1BC30, 0x2183F70), +('cHemLeoDash', 1B1BD98, 0x2184010), +('cHemLeoDashStop', 1B1BDE0, 0x2184030), +('cHemLeoMove', 1B1BD50, 0x2183FF0), +('cHemLeoMultiShootAction', 1B1BD08, 0x2183FD0), +('cHemLeoMultiShootPrepare', 1B1BCC0, 0x2183FB0), +('cHideNpcNameInfo', 1C61098, 0x21AA9A0), +('cHitGeom', 1B155B0, 0x21828F0), +('cHitInfo', 1BF9A0C, 0x2193D6C), +('cHitInfoAfter', 1B8A2A0, 0x218B8A8), +('cHitInfoAfterCommon', 1BA58B0, 0x218B8C8), +('cHitInfoAfterLocal', 1AF7444, 0x218B928), +('cHitNode', 1B15650, 0x2182950), +('cHitNodeIterator', 1B1566C, 0x2182970), +('cHmActAfterLifeWarp', 1BAC818, 0x218D4D4), +('cHmActBlowJumpSide', 1BAC500, 0x218D374), +('cHmActBlowJumpSideEnd', 1BAC548, 0x218D394), +('cHmActBlowJumpUp', 1BAC470, 0x218D334), +('cHmActBlowJumpUpEnd', 1BAC4B8, 0x218D354), +('cHmActBringOMCancel', 1BA6870, 0x218BDBC), +('cHmActBringOMFall', 1BA6708, 0x218BD1C), +('cHmActBringOMJump', 1BA6678, 0x218BCDC), +('cHmActBringOMJumpLand', 1BA66C0, 0x218BCFC), +('cHmActBringOMLoop', 1BA6630, 0x218BCBC), +('cHmActBringOMRelease', 1BA67E0, 0x218BD7C), +('cHmActBringOMReleaseAir', 1BA6828, 0x218BD9C), +('cHmActBringOMSuccess', 1BA65E8, 0x218BC9C), +('cHmActBringOMThrow', 1BA6750, 0x218BD3C), +('cHmActBringOMThrowAir', 1BA6798, 0x218BD5C), +('cHmActCatchAttack', 1BA6090, 0x218BA3C), +('cHmActCatchCancel', 1BA6048, 0x218BA1C), +('cHmActCatchFailed', 1BA5FB8, 0x218B9DC), +('cHmActCatchLoop', 1BA5F70, 0x218B9BC), +('cHmActCatchRelease', 1BA6000, 0x218B9FC), +('cHmActCatchStart', 1BA5E98, 0x218B95C), +('cHmActCatchSuccess', 1BA5F28, 0x218B99C), +('cHmActCatchWait', 1BA5EE0, 0x218B97C), +('cHmActCaughtBeardownCancel', 1BA63F0, 0x218BBBC), +('cHmActCaughtBeardownEscape', 1BA63A8, 0x218BB9C), +('cHmActCaughtBeardownFailed', 1BA6360, 0x218BB7C), +('cHmActCaughtBeardownLoop', 1BA6318, 0x218BB5C), +('cHmActCaughtBeardownStart', 1BA6288, 0x218BB1C), +('cHmActCaughtBeardownSuccess', 1BA62D0, 0x218BB3C), +('cHmActCaughtBindCancel', 1BA65A0, 0x218BC7C), +('cHmActCaughtBindEscape', 1BA6558, 0x218BC5C), +('cHmActCaughtBindFailed', 1BA6510, 0x218BC3C), +('cHmActCaughtBindLoop', 1BA64C8, 0x218BC1C), +('cHmActCaughtBindStart', 1BA6438, 0x218BBDC), +('cHmActCaughtBindSuccess', 1BA6480, 0x218BBFC), +('cHmActCaughtCancel', 1BA6240, 0x218BAFC), +('cHmActCaughtEscape', 1BA61F8, 0x218BADC), +('cHmActCaughtFailed', 1BA61B0, 0x218BABC), +('cHmActCaughtLoop', 1BA6168, 0x218BA9C), +('cHmActCaughtLoopDrag', 1BA6990, 0x218BE3C), +('cHmActCaughtLoopDrawOff', 1BA6900, 0x218BDFC), +('cHmActCaughtStart', 1BA60D8, 0x218BA5C), +('cHmActCaughtSuccess', 1BA6120, 0x218BA7C), +('cHmActCaughtSuccessDrag', 1BA6948, 0x218BE1C), +('cHmActCaughtSuccessDrawOff', 1BA68B8, 0x218BDDC), +('cHmActDeathCountDeath', 1BAC590, 0x218D3B4), +('cHmActDeathCountDeathAir', 1BAC5D8, 0x218D3D4), +('cHmActDeathRecoverByPawn', 1BAC6F8, 0x218D454), +('cHmActDragPoint', 1BAC7D0, 0x218D4B4), +('cHmActGreatestBlow', 1BAC668, 0x218D414), +('cHmActJankenBase', 1BAC860, 0x218D4F4), +('cHmActJankenCall', 1BAC8A8, 0x218D514), +('cHmActJankenCallEnd', 1BAC938, 0x218D554), +('cHmActJankenCallJudge', 1BAC8F0, 0x218D534), +('cHmActJankenEnd', 1BACAA0, 0x218D5F4), +('cHmActJankenJoin', 1BAC980, 0x218D574), +('cHmActJankenJoinEnd', 1BACA10, 0x218D5B4), +('cHmActJankenJoinJudge', 1BAC9C8, 0x218D594), +('cHmActJankenPonPon', 1BACA58, 0x218D5D4), +('cHmActJankenRandamPon', 1BACAE8, 0x218D614), +('cHmActMandraLoop', 1BAC350, 0x218D2B4), +('cHmActMandraPickup', 1BAC308, 0x218D294), +('cHmActMandraPut', 1BAC398, 0x218D2D4), +('cHmActMandraStroke', 1BAC3E0, 0x218D2F4), +('cHmActMandraStrokeEnd', 1BAC428, 0x218D314), +('cHmActPawnSpecialityBase', 1BAC6B0, 0x218D434), +('cHmActSpearBlow', 1BAC620, 0x218D3F4), +('cHmFreeMagic', 1BA7550, 0x218BF70), +('cHmMagicChantBase', 1BA73B8, 0x218BFB0), +('cHmMagicChantCustomBase', 1BA7218, 0x218BF90), +('cHmMagicChantCustomBegin', 1BA7268, 0x218BE70), +('cHmMagicChantCustomNextChant', 1BA72B8, 0x218BE90), +('cHmMagicChantCustomPreShot', 1BA7308, 0x218BEB0), +('cHmMagicChantCustomShot', 1BA7358, 0x218BED0), +('cHmMagicChantNormalBegin', 1BA7408, 0x218BEF0), +('cHmMagicChantNormalPreShot', 1BA7458, 0x218BF10), +('cHmMagicChantNormalShot', 1BA74A8, 0x218BF30), +('cHmMagicChantWalk', 1BA7500, 0x218BF50), +('cHpDamageInfo', 1BA58CC, 0x218B8E8), +('cHttpClient', 20C82B4, 0x2205F50), +('cHumanActAirCatchLadder', 1BABDB0, 0x218D034), +('cHumanActAltitudeFall', 1BAB418, 0x218CBD4), +('cHumanActAltitudeFallLand', 1BAB460, 0x218CBF4), +('cHumanActAtkHerald', 1B162F8, 0x2182A48), +('cHumanActAutoRunBase', 1BA9BC0, 0x218C0D4), +('cHumanActBaphometEXMWarp', 1BAC230, 0x218D234), +('cHumanActBaphometEXMWarpEnd', 1BAC278, 0x218D254), +('cHumanActBase', 1B15BA0, 0x218C054), +('cHumanActBlow', 1BAA5A8, 0x218C594), +('cHumanActBlowLanding', 1BAA680, 0x218C5D4), +('cHumanActBowAttackBase', 1BAA170, 0x218C394), +('cHumanActBowAttackEnd', 1BAA248, 0x218C3F4), +('cHumanActBowAttackMove', 1BAA200, 0x218C3D4), +('cHumanActBowAttackWait', 1BAA1B8, 0x218C3B4), +('cHumanActBringPhotoSphereFall', 1BACC98, 0x218D6D4), +('cHumanActBringPhotoSphereJump', 1BACC08, 0x218D694), +('cHumanActBringPhotoSphereJumpLand', 1BACC50, 0x218D6B4), +('cHumanActBringPhotoSphereLoop', 1BACBC0, 0x218D674), +('cHumanActBringPhotoSphereRelease', 1BACD70, 0x218D734), +('cHumanActBringPhotoSphereStart', 1BACB78, 0x218D654), +('cHumanActBringPhotoSphereThrow', 1BACCE0, 0x218D6F4), +('cHumanActBringPhotoSphereThrowAir', 1BACD28, 0x218D714), +('cHumanActCallWaitting', 1BABF60, 0x218D0F4), +('cHumanActCallWaittingEnd', 1BABFA8, 0x218D114), +('cHumanActCatapult', 1BAB538, 0x218CC54), +('cHumanActCatapultJump', 1BA9FB0, 0x218C294), +('cHumanActCatchBase', 1BA5E10, 0x218C314), +('cHumanActCatchLadder', 1BABBB8, 0x218CF54), +('cHumanActCaughtBase', 1BA5E50, 0x218C334), +('cHumanActChangeBattleMode', 1BAAFD8, 0x218C9D4), +('cHumanActChangeBattleModeAir', 1BAB020, 0x218C9F4), +('cHumanActCliffClimb', 1BAE858, 0x218D938), +('cHumanActCliffHang', 1BAE810, 0x218D918), +('cHumanActClimbLadder', 1BABC90, 0x218CFB4), +('cHumanActClutched', 1BAA0D0, 0x218C354), +('cHumanActCommonLand', 1BA9ED8, 0x218C234), +('cHumanActCustomSkillChange', 1BAC1E8, 0x218D214), +('cHumanActDash', 1BA9D28, 0x218C174), +('cHumanActDashJump', 1BA9F20, 0x218C254), +('cHumanActDashLand', 1BA9F68, 0x218C274), +('cHumanActDashStop', 1BA9D70, 0x218C194), +('cHumanActDashTurn', 1BA9DB8, 0x218C1B4), +('cHumanActDead', 1BA9FF8, 0x218C2B4), +('cHumanActDeathWarp', 1BABA08, 0x218CE94), +('cHumanActDisconnectRecover', 1BAC038, 0x218D154), +('cHumanActDisconnectWait', 1BABFF0, 0x218D134), +('cHumanActDown', 1BAA6C8, 0x218C5F4), +('cHumanActDownDamage', 1BAA710, 0x218C614), +('cHumanActEarthQuake', 1BAA638, 0x218C5B4), +('cHumanActElectric', 1BAA8C0, 0x218C6D4), +('cHumanActElectricRecovery', 1BAA908, 0x218C6F4), +('cHumanActEm011040Kick', 1B16388, 0x2182A88), +('cHumanActEm011040Summon', 1B163D0, 0x2182AA8), +('cHumanActEm011041Magic', 1B16418, 0x2182AC8), +('cHumanActEm011041Summon', 1B164A8, 0x2182B08), +('cHumanActEm011041SummonPre', 1B16460, 0x2182AE8), +('cHumanActEmotion', 1BAACB8, 0x218C894), +('cHumanActEmotionBase', 1BAAC68, 0x218C874), +('cHumanActEmotionLoop', 1BAAD58, 0x218C8D4), +('cHumanActEmotionLoopBegin', 1BAAD08, 0x218C8B4), +('cHumanActEmotionLoopEnd', 1BAADA8, 0x218C8F4), +('cHumanActEmotionLoopEndManual', 1BAADF8, 0x218C914), +('cHumanActEmotionLoopEndNoIK', 1BAAE48, 0x218C934), +('cHumanActEmotionMoving', 1BAAE98, 0x218C954), +('cHumanActEmotionRabbitJump', 1BAAEE8, 0x218C974), +('cHumanActEmotionRabbitJumpEnd', 1BAAF88, 0x218C9B4), +('cHumanActEmotionRabbitJumpJump', 1BAAF38, 0x218C994), +('cHumanActEnemyClimb', 1BAE450, 0x218D798), +('cHumanActEnemyClimbBase', 1BAE3B0, 0x218D758), +('cHumanActEnemyClimbBegin', 1BAE400, 0x218D778), +('cHumanActEnemyClimbEnd', 1BAE680, 0x218D878), +('cHumanActEnemyClimbEndure', 1BAE4F0, 0x218D7D8), +('cHumanActEnemyClimbEndureEnd', 1BAE540, 0x218D7F8), +('cHumanActEnemyClimbJolt', 1BAE590, 0x218D818), +('cHumanActEnemyClimbJoltEnd', 1BAE630, 0x218D858), +('cHumanActEnemyClimbLargeJolt', 1BAE5E0, 0x218D838), +('cHumanActEnemyClimbShakeDamageL', 1BAE720, 0x218D8B8), +('cHumanActEnemyClimbShakeDamageLEnd', 1BAE770, 0x218D8D8), +('cHumanActEnemyClimbShakeDamageS', 1BAE6D0, 0x218D898), +('cHumanActEnemyClimbShrink', 1BAE7C0, 0x218D8F8), +('cHumanActEnemyClimbStep', 1BAE4A0, 0x218D7B8), +('cHumanActErosionLost', 1BAAB48, 0x218C7F4), +('cHumanActErosionRescue', 1BAB738, 0x218CD54), +('cHumanActFall', 1BAA040, 0x218C2D4), +('cHumanActFallDown', 1BAA088, 0x218C2F4), +('cHumanActFastClimb', 1BABDF8, 0x218D054), +('cHumanActFootwork', 1BA9AE0, 0x218C074), +('cHumanActFreeze', 1BAA9E0, 0x218C754), +('cHumanActFreezeRecovery', 1BAAA28, 0x218C774), +('cHumanActGetOffLadder', 1BABC00, 0x218CF74), +('cHumanActGetOffLadderSummit', 1BABC48, 0x218CF94), +('cHumanActGraspedLoop', 1BAA118, 0x218C374), +('cHumanActHomingAutoDash', 1BA9CE0, 0x218C154), +('cHumanActHomingAutoRun', 1BA9C50, 0x218C114), +('cHumanActHugeble', 1BAAC20, 0x218C854), +('cHumanActHumitodomari', 1BAB268, 0x218CB14), +('cHumanActInjuredLoop', 1BAA2D8, 0x218C434), +('cHumanActInjuredLoopNext', 1BAA320, 0x218C454), +('cHumanActInjuredRecover', 1BAA368, 0x218C474), +('cHumanActInjuredStart', 1BAA290, 0x218C414), +('cHumanActItemFinish', 1BAB3D0, 0x218CBB4), +('cHumanActItemPickOut', 1BAB2F8, 0x218CB54), +('cHumanActItemPickOutWait', 1BAB2B0, 0x218CB34), +('cHumanActItemThrow', 1BAB340, 0x218CB94), +('cHumanActItemThrowPre', 1BAB388, 0x218CB74), +('cHumanActJob09FrightBoardJump', 1BAC080, 0x218D174), +('cHumanActJump', 1BA9E48, 0x218C1F4), +('cHumanActJumpLadder', 1BABD68, 0x218D014), +('cHumanActKousokuYarare', 1BAA830, 0x218C694), +('cHumanActKousokuYarareRecovery', 1BAA878, 0x218C6B4), +('cHumanActLadderBase', 1BABB70, 0x218CF34), +('cHumanActLost', 1BAA3B0, 0x218C494), +('cHumanActLostEnd', 1BAAB90, 0x218C814), +('cHumanActMotionPlay', 1BA9E00, 0x218C1D4), +('cHumanActNpcTalk', 1BABB28, 0x218CF14), +('cHumanActNpcTurn', 1BAC0C8, 0x218D194), +('cHumanActOcdRescue', 1BAB6F0, 0x218CD34), +('cHumanActOnsenIn', 1BAB618, 0x218CCD4), +('cHumanActPawnFollowWarp', 1BABE88, 0x218D094), +('cHumanActPawnPartyIn', 1BABED0, 0x218D0B4), +('cHumanActPawnTalk', 1BABF18, 0x218D0D4), +('cHumanActPurgatoryRecovery', 1BACB30, 0x218D634), +('cHumanActPutLever', 1BAB810, 0x218CDB4), +('cHumanActPutLoopLever', 1BAB858, 0x218CDD4), +('cHumanActPutLoopLeverEnd', 1BAB8A0, 0x218CDF4), +('cHumanActReceiveErosionRescue', 1BAB780, 0x218CD74), +('cHumanActReceiveErosionRescueEnd', 1BAB7C8, 0x218CD94), +('cHumanActRescue', 1BAA3F8, 0x218C4B4), +('cHumanActRescueEnd', 1BAA440, 0x218C4D4), +('cHumanActReturnTerritoryWarp', 1B16340, 0x2182A68), +('cHumanActRun', 1BA9B78, 0x218C0B4), +('cHumanActSacrificeHigh', 1BAC788, 0x218D494), +('cHumanActSacrificeLow', 1BAC740, 0x218D474), +('cHumanActSetMotion', 1BABA98, 0x218CED4), +('cHumanActSetNpcMotMyRoom', 1BAC110, 0x218D1B4), +('cHumanActSetNpcMotion', 1BABAE0, 0x218CEF4), +('cHumanActShrink', 1BAA4D0, 0x218C514), +('cHumanActShrinkAir', 1BAA518, 0x218C534), +('cHumanActShrinkBase', 1BAA488, 0x218C4F4), +('cHumanActShrinkLadder', 1BABE40, 0x218D074), +('cHumanActShrinkLanding', 1BAA560, 0x218C554), +('cHumanActSitChairBegin', 1BAB8E8, 0x218CE14), +('cHumanActSitChairSuccess', 1BAB930, 0x218CE34), +('cHumanActSiteFootwork', 1BAC2C0, 0x218D274), +('cHumanActSleep', 1BAA758, 0x218C634), +('cHumanActSlideLadder', 1BABCD8, 0x218CFD4), +('cHumanActSlideLadderEnd', 1BABD20, 0x218CFF4), +('cHumanActSlipSlope', 1BAB4A8, 0x218CC14), +('cHumanActSlipSlopeEnd', 1BAB4F0, 0x218CC34), +('cHumanActSpread', 1BAA950, 0x218C714), +('cHumanActSpreadRecovery', 1BAA998, 0x218C734), +('cHumanActStaminaOutLand', 1BAB1D8, 0x218CAD4), +('cHumanActStaminaOutWalk', 1BAB100, 0x218CA74), +('cHumanActStaminaRecover', 1BAB190, 0x218CAB4), +('cHumanActStaminaRefresh', 1BAB148, 0x218CA94), +('cHumanActStaminaRescue', 1BAB6A8, 0x218CD14), +('cHumanActStone', 1BAAA70, 0x218C794), +('cHumanActStoneLost', 1BAAB00, 0x218C7D4), +('cHumanActStoneRecovery', 1BAAAB8, 0x218C7B4), +('cHumanActStraightAutoDash', 1BA9C98, 0x218C134), +('cHumanActStraightAutoRun', 1BA9C08, 0x218C0F4), +('cHumanActStun', 1BAA7A0, 0x218C654), +('cHumanActStunRecovery', 1BAA7E8, 0x218C674), +('cHumanActTouchAct', 1BAB588, 0x218CC94), +('cHumanActTouchActBase', 1B15BE0, 0x218CC74), +('cHumanActTouchActLoop', 1BAB5D0, 0x218CCB4), +('cHumanActUkemi', 1BAA5F0, 0x218C574), +('cHumanActVerticalJump', 1BA9E90, 0x218C214), +('cHumanActWakeUp', 1BAABD8, 0x218C834), +('cHumanActWalk', 1BA9B30, 0x218C094), +('cHumanActWallClimb', 1BAE978, 0x218D9B8), +('cHumanActWallClimbBase', 1BAE8A0, 0x218D958), +('cHumanActWallClimbBegin', 1BAE8E8, 0x218D978), +('cHumanActWallClimbBeginTop', 1BAE930, 0x218D998), +('cHumanActWallClimbDetach', 1BAEA50, 0x218DA18), +('cHumanActWallClimbFastMove', 1BAEA98, 0x218DA38), +('cHumanActWallClimbJump', 1BAEA08, 0x218D9F8), +('cHumanActWallClimbLand', 1BAE9C0, 0x218D9D8), +('cHumanActWallClimbShrink', 1BAEAE0, 0x218DA58), +('cHumanActWallStop', 1BAB220, 0x218CAF4), +('cHumanActWarpBegin', 1BAB978, 0x218CE54), +('cHumanActWarpEnd', 1BAB9C0, 0x218CE74), +('cHumanActWeatherForecast', 1BAB660, 0x218CCF4), +('cHumanActionCannon', 1B15C78, 0x21829C4), +('cHumanActionCannonBase', 1B15C28, 0x21829A4), +('cHumanActionCannonEnd', 1B15D68, 0x2182A24), +('cHumanActionCannonReload', 1B15D18, 0x2182A04), +('cHumanActionCannonShot', 1B15CC8, 0x21829E4), +('cHumanBathtubAction', 1BAC1A0, 0x218D1F4), +('cHumanBedAction', 1BAC158, 0x218D1D4), +('cHumanCustomDodgeAfterBase', 1BAB0B8, 0x218CA54), +('cHumanCustomDodgeBeforeBase', 1BAB070, 0x218CA34), +('cHumanEnemyCustomSkill', 1C61198, 0x21AA9E0), +('cHumanEnemyEquip', 1C612A0, 0x21AAA20), +('cHumanEnemyParam', 1C613A4, 0x21AAA60), +('cHumanEnemyPreset', 1C614BC, 0x21AAAA0), +('cHumanPickUp', 1BABA50, 0x218CEB4), +('cIKCtrl', 1C615BC, 0x21AAAE0), +('cIKHandle', 1BEF760, 0x219376C), +('cImageDownloadMap', 1B16A88, 0x2182B38), +('cImageDownloadMap::cLoader', 1B16A60, 0x2182B58), +('cIncreaseParam2', 1C63064, 0x21AAEF0), +('cIndoorSkyFogParam', 1C14778, 0x2196F44), +('cInstancingFromMatrices', 20D1078, 0x2208860), +('cInstancingFromNulls', 20D1000, 0x2208840), +('cInterfaceBase', 1BAF0DC, 0x218DA78), +('cItemBase', 1C61F68, 0x21AACD0), +('cItemBaseParam', 1B16F70, 0x2182B78), +('cItemCore', 1C61EF0, 0x21AACB0), +('cItemDisplayParam', 1B16FA4, 0x2182B98), +('cItemEquipBase', 1C62238, 0x21AAD10), +('cItemEquipGroupBase', 1C62368, 0x21AADD0), +('cItemEquipJewelry', 1C62600, 0x21AAE90), +('cItemEquipJobInfo', 1C61830, 0x21AABA0), +('cItemEquipJobInfoData', 1C6180C, 0x21AAB80), +('cItemEquipNpcProtector', 1C62548, 0x21AAE70), +('cItemEquipParam', 1B174E8, 0x2182BB8), +('cItemEquipProtector', 1C62490, 0x21AAE50), +('cItemEquipProtectorGroup', 1C623B0, 0x21AAE10), +('cItemEquipWeapon', 1C623D8, 0x21AAE30), +('cItemEquipWeaponGroup', 1C6238C, 0x21AADF0), +('cItemIconBase', 1C61FE0, 0x21AACF0), +('cItemIndex', 1C61DE0, 0x21AAC70), +('cItemJob', 1C621C0, 0x21AAD90), +('cItemKey', 1C62148, 0x21AAD70), +('cItemMaterial', 1C620D0, 0x21AAD50), +('cItemModelBase', 1C61EBC, 0x21AAC90), +('cItemNormal', 1C622F0, 0x21AADB0), +('cItemParam', 1B17A0C, 0x2182C28), +('cItemParamStorage', 1AF9818, 0x2182C48), +('cItemUse', 1C62058, 0x21AAD30), +('cJob010Custom01AirStrike', 1B18448, 0x2182EB8), +('cJob010Custom01MoreJump', 1B18490, 0x2182ED8), +('cJob01AttackAirL00', 1BAF720, 0x218DAE8), +('cJob01AttackAirL01', 1BAF768, 0x218DB08), +('cJob01AttackAirS', 1BAF6D8, 0x218DAC8), +('cJob01AttackDelayCombo', 1BAF7B0, 0x218DB88), +('cJob01AttackL', 1BAF600, 0x218DB68), +('cJob01AttackL_Charge_Begin', 1BAF648, 0x218DB28), +('cJob01AttackL_Charge_Loop', 1BAF690, 0x218DB48), +('cJob01AttackS', 1BAF5B8, 0x218DAA8), +('cJob01ClimeEnemyAttackEnd', 1BAF848, 0x218DBC8), +('cJob01ClimeEnemyAttackLoop', 1BAF7F8, 0x218DBA8), +('cJob01Custom01', 1BAFBF8, 0x218DD68), +('cJob01Custom01Finish', 1BAFC40, 0x218DD88), +('cJob01Custom02', 1BAFC88, 0x218DDA8), +('cJob01Custom02_01', 1BAFCD0, 0x218DDC8), +('cJob01Custom02_02', 1BAFD18, 0x218DDE8), +('cJob01Custom02_03', 1BAFD60, 0x218DE08), +('cJob01Custom02_04', 1BAFDA8, 0x218DE28), +('cJob01Custom03', 1BAFE38, 0x218DE68), +('cJob01Custom03Base', 1BAFDF0, 0x218DE48), +('cJob01Custom03_Loop', 1BAFE80, 0x218DE88), +('cJob01Custom04', 1BAFEC8, 0x218DEA8), +('cJob01Custom05', 1BAFF10, 0x218DEC8), +('cJob01Custom05_End', 1BAFF58, 0x218DEE8), +('cJob01Custom06', 1BAFFA0, 0x218DF08), +('cJob01Custom07', 1BAFFE8, 0x218DF28), +('cJob01Custom07_Attack', 1BB0030, 0x218DF48), +('cJob01Custom07_Attack_2', 1BB0078, 0x218DF68), +('cJob01Custom08', 1BB00C0, 0x218DF88), +('cJob01Custom08_AirStartAir', 1BB0158, 0x218DFE8), +('cJob01Custom08_AirStartLand', 1BB0110, 0x218DFC8), +('cJob01Custom08_End', 1BB01A0, 0x218E008), +('cJob01Custom09', 1BB01E8, 0x218E028), +('cJob01Custom10', 1BB0230, 0x218E048), +('cJob01Custom10Fail', 1BB0278, 0x218E068), +('cJob01Custom11', 1BB02C0, 0x218E088), +('cJob01Custom11Success', 1BB0350, 0x218E0C8), +('cJob01Custom11SuccessStart', 1BB0308, 0x218E0A8), +('cJob01Custom12', 1BB0398, 0x218E0E8), +('cJob01Custom12Additional', 1BB03E0, 0x218E108), +('cJob01Custom13', 1BB0428, 0x218E128), +('cJob01Custom13CancelAttack', 1BB04C8, 0x218E168), +('cJob01Custom13End', 1BB0478, 0x218E148), +('cJob01Custom14', 1BB0518, 0x218E188), +('cJob01Custom14AirStrike', 1BB05A8, 0x218E1C8), +('cJob01Custom14Finish', 1BB05F0, 0x218E1E8), +('cJob01Custom14Success', 1BB0560, 0x218E1A8), +('cJob01Guard', 1BAFA00, 0x218DC88), +('cJob01GuardAirEnd', 1BAFA90, 0x218DCC8), +('cJob01GuardAirReaction', 1BAFB20, 0x218DD08), +('cJob01GuardAirStart', 1BAFA48, 0x218DCA8), +('cJob01GuardBase', 1BAF898, 0x218DBE8), +('cJob01GuardCounter', 1BAFB68, 0x218DD28), +('cJob01GuardCounterAir', 1BAFBB0, 0x218DD48), +('cJob01GuardEnd', 1BAF928, 0x218DC28), +('cJob01GuardJump', 1BAF970, 0x218DC48), +('cJob01GuardLand', 1BAF9B8, 0x218DC68), +('cJob01GuardReaction', 1BAFAD8, 0x218DCE8), +('cJob01GuardStart', 1BAF8E0, 0x218DC08), +('cJob02AttackAirL00', 1BB1710, 0x218E510), +('cJob02AttackAirLLand00', 1BB1758, 0x218E530), +('cJob02AttackAirS00', 1BB10C8, 0x218E290), +('cJob02AttackAirS01', 1BB1110, 0x218E2B0), +('cJob02AttackDelayCombo', 1BB0FF0, 0x218E230), +('cJob02AttackL', 1BB1038, 0x218E250), +('cJob02AttackLEnd', 1BB1080, 0x218E270), +('cJob02AttackS', 1BB0FA8, 0x218E210), +('cJob02ClimeEnemyAttack', 1BB1830, 0x218E590), +('cJob02ClimeEnemyAttackEnd', 1BB1880, 0x218E5B0), +('cJob02Custom01', 1BB1918, 0x218E5F0), +('cJob02Custom01Base', 1BB18D0, 0x218E5D0), +('cJob02Custom01_attack01', 1BB1960, 0x218E610), +('cJob02Custom02Begin', 1BB19A8, 0x218E630), +('cJob02Custom02Finish', 1BB19F0, 0x218E650), +('cJob02Custom03', 1BB1A38, 0x218E670), +('cJob02Custom03_Attack', 1BB1A80, 0x218E690), +('cJob02Custom03_AvoidAttack', 1BB1AC8, 0x218E6B0), +('cJob02Custom04PullUp', 1BB1BF8, 0x218E6F0), +('cJob02Custom04WireThrow', 1BB1BA8, 0x218E6D0), +('cJob02Custom05DropAttack', 1BB1D38, 0x218E770), +('cJob02Custom05JumpWire', 1BB1C98, 0x218E730), +('cJob02Custom05JumpWireAir', 1BB1CE8, 0x218E750), +('cJob02Custom05Land', 1BB1D88, 0x218E790), +('cJob02Custom05WireThrowBase', 1BB1C48, 0x218E710), +('cJob02Custom06', 1BB1DD0, 0x218E7B0), +('cJob02Custom07', 1BB1E18, 0x218E7D0), +('cJob02Custom07Air', 1BB1EF0, 0x218E830), +('cJob02Custom07Air_Failed', 1BB1F80, 0x218E870), +('cJob02Custom07Air_Jump', 1BB1F38, 0x218E850), +('cJob02Custom07_Failed', 1BB1EA8, 0x218E810), +('cJob02Custom07_Jump', 1BB1E60, 0x218E7F0), +('cJob02Custom08', 1BB1FC8, 0x218E890), +('cJob02Custom08_Ignite', 1BB2058, 0x218E8D0), +('cJob02Custom08_Ignite_Pre', 1BB2010, 0x218E8B0), +('cJob02Custom09', 1BB20A0, 0x218E8F0), +('cJob02Custom09Finish', 1BB2130, 0x218E930), +('cJob02Custom09Land', 1BB20E8, 0x218E910), +('cJob02Custom10', 1BB2178, 0x218E950), +('cJob02Custom10Fall', 1BB2218, 0x218E990), +('cJob02Custom10Slide', 1BB21C8, 0x218E970), +('cJob02Custom11', 1BB2260, 0x218E9B0), +('cJob02Custom11End', 1BB22F0, 0x218E9F0), +('cJob02Custom11Start', 1BB22A8, 0x218E9D0), +('cJob02Custom12', 1BB2338, 0x218EA10), +('cJob02Custom12End', 1BB2380, 0x218EA30), +('cJob02Custom12Success', 1BB2418, 0x218EA70), +('cJob02Custom12SuccessLarge', 1BB2468, 0x218EA90), +('cJob02Custom13', 1BB24B8, 0x218EAB0), +('cJob02Custom13_Air', 1BB2500, 0x218EAD0), +('cJob02Custom13_Air2', 1BB2548, 0x218EAF0), +('cJob02Custom14', 1BB2590, 0x218EB10), +('cJob02Custom14_Air', 1BB25E0, 0x218EB30), +('cJob02Custom14_Stop', 1BB2A80, 0x218ED10), +('cJob02Custom14_UpperCut', 1BB2A38, 0x218ECF0), +('cJob02Custom14_ZentyuAir_Down', 1BB2900, 0x218EC70), +('cJob02Custom14_ZentyuAir_DownDown', 1BB2950, 0x218EC90), +('cJob02Custom14_ZentyuAir_Mid', 1BB28B0, 0x218EC50), +('cJob02Custom14_ZentyuAir_UP', 1BB2860, 0x218EC30), +('cJob02Custom14_ZentyuAir_UPUP', 1BB2810, 0x218EC10), +('cJob02Custom14_ZentyuBase', 1BB2630, 0x218EB50), +('cJob02Custom14_ZentyuLand', 1BB29A0, 0x218ECD0), +('cJob02Custom14_ZentyuLandFnish', 1BB2AC8, 0x218ED30), +('cJob02Custom14_ZentyuLoop', 1BB29E8, 0x218ECB0), +('cJob02Custom14_Zentyu_Down', 1BB2770, 0x218EBD0), +('cJob02Custom14_Zentyu_DownDown', 1BB27C0, 0x218EBF0), +('cJob02Custom14_Zentyu_Mid', 1BB2720, 0x218EBB0), +('cJob02Custom14_Zentyu_UP', 1BB26D0, 0x218EB90), +('cJob02Custom14_Zentyu_UPUP', 1BB2680, 0x218EB70), +('cJob02Evasion00', 1BB17A0, 0x218E550), +('cJob02EvasionFall', 1BB17E8, 0x218E570), +('cJob02FallFromCS06', 1BB1230, 0x218E330), +('cJob02SecondJump', 1BB11E8, 0x218E310), +('cJob02WallJump', 1BB11A0, 0x218E2F0), +('cJob02WallJumpPre', 1BB1158, 0x218E2D0), +('cJob02WireBase', 1BB1278, 0x218ED50), +('cJob02WireCustomBase', 1BB1B10, 0x218ED90), +('cJob02WireJump', 1BB14D0, 0x218E410), +('cJob02WireJumpAir', 1BB1518, 0x218E430), +('cJob02WireJumpBase', 1BB1488, 0x218E3F0), +('cJob02WireJumpFall', 1BB15F0, 0x218E4D0), +('cJob02WireJumpHitKick', 1BB1560, 0x218E450), +('cJob02WireJumpHitLand', 1BB15A8, 0x218E470), +('cJob02WireJumpThroughLand', 1BB1638, 0x218E4F0), +('cJob02WireLand', 1BB16C8, 0x218E4B0), +('cJob02WireReady', 1BB12C0, 0x218E350), +('cJob02WireReadyEnd', 1BB1680, 0x218E490), +('cJob02WireThrow', 1BB13E8, 0x218E3B0), +('cJob02WireThrowAir', 1BB1438, 0x218E3D0), +('cJob02WireThrowBase', 1BB1398, 0x218ED70), +('cJob02WireThrowCustomBase', 1BB1B58, 0x218EDB0), +('cJob02WireWait', 1BB1308, 0x218E370), +('cJob02WireWaitAir', 1BB1350, 0x218E390), +('cJob03ArrowChange', 1BB3A40, 0x218EEC0), +('cJob03ArrowChangeAir', 1BB3A88, 0x218EEE0), +('cJob03ArrowReload', 1BB3968, 0x218EE60), +('cJob03ArrowReloadEnd', 1BB39B0, 0x218EE80), +('cJob03ClimbAttack', 1BB3B20, 0x218EF20), +('cJob03ClimbAttackEnd', 1BB3B70, 0x218EF40), +('cJob03ClimbBase', 1BB3AD0, 0x218EF00), +('cJob03Custom07', 1BB39F8, 0x218EEA0), +('cJob03Custom09', 1BB3BC0, 0x218EF60), +('cJob03Custom13', 1BB3C08, 0x218EF80), +('cJob03Custom13Atk', 1BB3C50, 0x218EFA0), +('cJob03Custom14Attack', 1BB3E88, 0x218F000), +('cJob03Custom14ClimbAttack', 1BB3EE8, 0x218F020), +('cJob03Custom14ClimbLoop', 1BB3E20, 0x218EFE0), +('cJob03Custom14Loop', 1BB3DC0, 0x218EFC0), +('cJob04AttackAirLEnd', 1BB4648, 0x218F114), +('cJob04AttackAirS', 1BB4560, 0x218F0B4), +('cJob04AttackLEnd', 1BB4600, 0x218F0F4), +('cJob04AttackS', 1BB44D0, 0x218F074), +('cJob04BulastOption', 1BB4B10, 0x218F2F4), +('cJob04BulastOptionPre', 1BB4AC0, 0x218F2D4), +('cJob04CircleShift', 1BB4A30, 0x218F294), +('cJob04CircleShiftBegin', 1BB49E8, 0x218F274), +('cJob04CircleShiftEnd', 1BB4A78, 0x218F2B4), +('cJob04Custom03Shot', 1BB46E0, 0x218F154), +('cJob04Custom04Shot', 1BB4740, 0x218F174), +('cJob04Custom10Shot', 1BB47A0, 0x218F194), +('cJob04CustomCircleShot', 1BB4800, 0x218F1B4), +('cJob04Floating', 1BB49A0, 0x218F1F4), +('cJob04HolyWind', 1BB4860, 0x218F1D4), +('cJob04NormalCircleShot', 1BB45A8, 0x218F0D4), +('cJob04PreAttackAirS', 1BB4518, 0x218F094), +('cJob04PreAttackS', 1BB4488, 0x218F054), +('cJob04PreClimbEnemyAttack', 1BB4690, 0x218F134), +('cJob04ShortChargeEnd', 1BB4958, 0x218F254), +('cJob04ShortChargeShot', 1BB4908, 0x218F234), +('cJob04SoulImpact', 1BB48C0, 0x218F214), +('cJob05AttackAirS', 1BB5238, 0x218F338), +('cJob05AttackS', 1BB51F0, 0x218F318), +('cJob05Chant', 1BB6078, 0x218FAD8), +('cJob05ClimbEnemyAttackEnd', 1BB5C20, 0x218F798), +('cJob05ClimbEnemyAttackLoop', 1BB5BD0, 0x218F778), +('cJob05ClimbEnemyAttackStart', 1BB5B80, 0x218F758), +('cJob05Custom02_Pre', 1BB5CB8, 0x218F7D8), +('cJob05Custom02_Shot', 1BB5D00, 0x218F7F8), +('cJob05Custom03', 1BB5E28, 0x218F878), +('cJob05Custom03_End', 1BB5EC0, 0x218F8B8), +('cJob05Custom03_Loop', 1BB5E70, 0x218F898), +('cJob05Custom04', 1BB5F08, 0x218F8D8), +('cJob05Custom04_End', 1BB5FA0, 0x218F918), +('cJob05Custom04_Loop', 1BB5F50, 0x218F8F8), +('cJob05Custom05', 1BB5FE8, 0x218F9F8), +('cJob05Custom05_End', 1BB6030, 0x218FA18), +('cJob05Custom06Chant', 1BB60C8, 0x218FA38), +('cJob05Custom06_Shot', 1BB6118, 0x218FA58), +('cJob05Custom07_Bomb_Begin', 1BB61A8, 0x218FA98), +('cJob05Custom07_Bomb_Shot', 1BB61F0, 0x218FAB8), +('cJob05Custom07_Shot', 1BB6160, 0x218FA78), +('cJob05Custom08_CatchEnd', 1BB6498, 0x218FBD8), +('cJob05Custom08_CatchFailed', 1BB63F8, 0x218FB98), +('cJob05Custom08_CatchLoop', 1BB6450, 0x218FBB8), +('cJob05Custom08_CatchSuccess', 1BB63A0, 0x218FB78), +('cJob05Custom08_CatchWait', 1BB6348, 0x218FB58), +('cJob05Custom08_Pre', 1BB6280, 0x218FB18), +('cJob05Custom08_Shot', 1BB62E0, 0x218FB38), +('cJob05Custom09', 1BB64F0, 0x218F938), +('cJob05Custom09_End', 1BB6588, 0x218F978), +('cJob05Custom09_Loop', 1BB6538, 0x218F958), +('cJob05Custom10', 1BB65D0, 0x218FBF8), +('cJob05Custom10Failed', 1BB6618, 0x218FC18), +('cJob05Custom10Success', 1BB6660, 0x218FC38), +('cJob05Custom11End', 1BB6738, 0x218FC98), +('cJob05Custom11Pre', 1BB66A8, 0x218FC58), +('cJob05Custom11Shot', 1BB66F0, 0x218FC78), +('cJob05Custom12End', 1BB6908, 0x218FD58), +('cJob05Custom12Failed', 1BB6830, 0x218FCF8), +('cJob05Custom12Loop', 1BB68C0, 0x218FD38), +('cJob05Custom12Pre', 1BB6780, 0x218FCB8), +('cJob05Custom12Shot', 1BB67D0, 0x218FCD8), +('cJob05Custom12Success', 1BB6878, 0x218FD18), +('cJob05Custom13', 1BB6950, 0x218FD78), +('cJob05Custom13Attack', 1BB6998, 0x218FD98), +('cJob05Custom13Cancel', 1BB69E0, 0x218FDB8), +('cJob05Custom14', 1BB6A28, 0x218F998), +('cJob05Custom14_End', 1BB6AC0, 0x218F9D8), +('cJob05Custom14_Loop', 1BB6A70, 0x218F9B8), +('cJob05CustomAnchorLoopBase', 1BB6238, 0x218FAF8), +('cJob05EelementEnchant', 1BB5AF0, 0x218F718), +('cJob05EelementEnchantAir', 1BB5B38, 0x218F738), +('cJob05EelementEnchantAirPre', 1BB5A60, 0x218F6D8), +('cJob05EelementEnchantPre', 1BB5A18, 0x218F6B8), +('cJob05ElementAttackBase', 1BB5868, 0x218F5F8), +('cJob05ElementChangeAirLoop', 1BB59D0, 0x218F678), +('cJob05ElementChangeEnd', 1BB5988, 0x218F698), +('cJob05ElementChangeLoop', 1BB5940, 0x218F658), +('cJob05ElementEnchantBase', 1BB5AA8, 0x218F6F8), +('cJob05ElementalGuard', 1BB5C70, 0x218F7B8), +('cJob05GCBackStep', 1BB5790, 0x218F598), +('cJob05GCHateAttack', 1BB5748, 0x218F578), +('cJob05GCHateAttackPre', 1BB5700, 0x218F558), +('cJob05Guard', 1BB5550, 0x218F498), +('cJob05GuardAir', 1BB56B8, 0x218F4D8), +('cJob05GuardAirEnd', 1BB55E0, 0x218F4F8), +('cJob05GuardAirReaction', 1BB5670, 0x218F538), +('cJob05GuardAirStart', 1BB5598, 0x218F4B8), +('cJob05GuardBase', 1BB53E8, 0x218F3F8), +('cJob05GuardEnd', 1BB5478, 0x218F438), +('cJob05GuardJump', 1BB54C0, 0x218F458), +('cJob05GuardLand', 1BB5508, 0x218F478), +('cJob05GuardReaction', 1BB5628, 0x218F518), +('cJob05GuardStart', 1BB5430, 0x218F418), +('cJob05LightBase', 1BB5D48, 0x218F818), +('cJob05LightBase_End', 1BB5DE0, 0x218F858), +('cJob05LightBase_Loop', 1BB5D90, 0x218F838), +('cJob05ProvokeEnd00', 1BB5310, 0x218F398), +('cJob05ProvokeEndAir', 1BB53A0, 0x218F3D8), +('cJob05ProvokeLoop00', 1BB52C8, 0x218F378), +('cJob05ProvokeLoopAir', 1BB5358, 0x218F3B8), +('cJob05ProvokeStart', 1BB5280, 0x218F358), +('cJob06AnchorDischarge', 1BB81D8, 0x21901EC), +('cJob06AnchorDischargeEnd', 1BB8220, 0x219020C), +('cJob06AnchorDischargeStart', 1BB8190, 0x21901CC), +('cJob06AnchorFailed', 1BB8268, 0x219022C), +('cJob06BackStep', 1BB7848, 0x218FE6C), +('cJob06BlackHizePreShot', 1BB7998, 0x218FEEC), +('cJob06BlackHizeShot', 1BB79E8, 0x218FF0C), +('cJob06BlackZoneShot', 1BB7BF8, 0x218FFCC), +('cJob06BlizzardArrowBegin', 1BB7C58, 0x218FFEC), +('cJob06BlizzardArrowNextBegin', 1BB7CA8, 0x219000C), +('cJob06BlizzardArrowShot', 1BB7CF8, 0x219002C), +('cJob06ChantClimbEnemyAttack', 1BB7708, 0x218FDEC), +('cJob06ClimbEnemyAttack', 1BB77A8, 0x218FE2C), +('cJob06ClimbEnemyAttackCancel', 1BB77F8, 0x218FE4C), +('cJob06FireBreath', 1BB78D8, 0x218FEAC), +('cJob06FireBreathLv2', 1BB7938, 0x218FECC), +('cJob06Floating', 1BB7890, 0x218FE8C), +('cJob06FrameWall', 1BB7A48, 0x218FF2C), +('cJob06IceSpearBegin', 1BB7EF8, 0x21900EC), +('cJob06IceSpearChargeShotSpear', 1BB80D0, 0x219016C), +('cJob06IceSpearMode', 1BB7FA8, 0x219018C), +('cJob06IceSpearShot', 1BB7F48, 0x219010C), +('cJob06IceSpearShotEnd', 1BB8088, 0x219014C), +('cJob06IceSpearShotSpearPre', 1BB8038, 0x219012C), +('cJob06LightningAnchorShot', 1BB8130, 0x21901AC), +('cJob06MeteorFallBegin', 1BB7AA8, 0x218FF4C), +('cJob06MeteorFallNextBegin', 1BB7AF8, 0x218FF6C), +('cJob06MeteorFallPreShot', 1BB7B48, 0x218FF8C), +('cJob06MeteorFallShot', 1BB7B98, 0x218FFAC), +('cJob06PreClimbEnemyAttack', 1BB7758, 0x218FE0C), +('cJob06ProminentSphereBegin', 1BB7D58, 0x219004C), +('cJob06ProminentSphereControlSphere', 1BB7DF8, 0x219008C), +('cJob06ProminentSphereNextChant', 1BB7DA8, 0x219006C), +('cJob06ProminentSpherePreShot', 1BB7E48, 0x21900AC), +('cJob06ProminentSphereShot', 1BB7E98, 0x21900CC), +('cJob06ThunderCageExtra02Chant', 1BB82B0, 0x219024C), +('cJob06ThunderCageExtra02PreShot', 1BB8300, 0x219026C), +('cJob06ThunderCageExtra02Shot', 1BB8350, 0x219028C), +('cJob07AttackAirL00', 1BB8D58, 0x2190334), +('cJob07AttackAirL01', 1BB8DA0, 0x2190354), +('cJob07AttackAirS00', 1BB8D10, 0x2190314), +('cJob07AttackL_Charge', 1BB8DE8, 0x2190374), +('cJob07AttackL_Release', 1BB8E30, 0x2190394), +('cJob07AttackS', 1BB8CC8, 0x21902F4), +('cJob07ClimbEnemyAttack', 1BB8F10, 0x21903F4), +('cJob07ClimbEnemyAttackEnd', 1BB8F60, 0x2190414), +('cJob07ClimbEnemyAttackStart', 1BB8EC0, 0x21903D4), +('cJob07Custom01UpthrustChop', 1BB8FB0, 0x2190434), +('cJob07Custom02ShaftImpetus', 1BB8FF8, 0x2190454), +('cJob07Custom02ShaftImpetusSndAtk', 1BB9088, 0x2190494), +('cJob07Custom02ShaftImpetusSndAtkPre', 1BB9040, 0x2190474), +('cJob07Custom03MajinStab', 1BB9118, 0x21904D4), +('cJob07Custom03MajinStabBegin', 1BB90D0, 0x21904B4), +('cJob07Custom03MajinStabEnd', 1BB9160, 0x21904F4), +('cJob07Custom04', 1BB91A8, 0x2190514), +('cJob07Custom04Pursuit', 1BB91F0, 0x2190534), +('cJob07Custom05ColossalHelix', 1BB9238, 0x2190554), +('cJob07Custom06MajinBreakCharge', 1BB9280, 0x2190574), +('cJob07Custom06MajinBreakRelease', 1BB92C8, 0x2190594), +('cJob07Custom07DivineCounter00', 1BB9310, 0x21905B4), +('cJob07Custom07DivineCounter01', 1BB9358, 0x21905D4), +('cJob07Custom08AirStrike', 1BB93A0, 0x21905F4), +('cJob07Custom09AttitudeOfFury', 1BB93E8, 0x2190614), +('cJob07Custom10WindmillSword', 1BB9430, 0x2190634), +('cJob07Custom10WindmillSwordFinish', 1BB9478, 0x2190654), +('cJob07Custom11PurificationBringerBegin', 1BB94C0, 0x2190674), +('cJob07Custom11PurificationBringerFinish', 1BB9550, 0x21906B4), +('cJob07Custom11PurificationBringerLoop', 1BB9508, 0x2190694), +('cJob07Custom12CaelumMitte', 1BB9598, 0x21906D4), +('cJob07Custom12CaelumMitteJump', 1BB95E0, 0x21906F4), +('cJob07Custom12CaelumMitteLand', 1BB9628, 0x2190714), +('cJob07Custom13', 1BB9670, 0x2190734), +('cJob07Custom13End', 1BB96C0, 0x2190754), +('cJob07Custom14', 1BB9710, 0x2190774), +('cJob07Custom14Air', 1BB97A0, 0x21907B4), +('cJob07Custom14End', 1BB9830, 0x21907F4), +('cJob07Custom14Land', 1BB97E8, 0x21907D4), +('cJob07Custom14Release', 1BB9758, 0x2190794), +('cJob07CustomBase', 1BB8C80, 0x21902D4), +('cJob07Endure', 1BB8E78, 0x21903B4), +('cJob07NormalBase', 1BB8C38, 0x21902B4), +('cJob08ClimbAttack', 1BBA1E0, 0x2190838), +('cJob08Custom12', 1BBA230, 0x2190858), +('cJob08Custom12End', 1BBA278, 0x2190878), +('cJob08MyHeal', 1BBA198, 0x2190818), +('cJob09AirAttackS', 1BBA970, 0x2190968), +('cJob09AttackLClimbBase', 1BBA920, 0x2190948), +('cJob09AttackLFinish', 1BBB518, 0x2190E28), +('cJob09AttackLFinishClimb', 1BBB578, 0x2190E48), +('cJob09AttackLLoop', 1BBB450, 0x2190DE8), +('cJob09AttackLLoopClimb', 1BBB4B0, 0x2190E08), +('cJob09AttackLStart', 1BBB388, 0x2190DA8), +('cJob09AttackLStartClimb', 1BBB3E8, 0x2190DC8), +('cJob09AttackLStop', 1BBB5E0, 0x2190E68), +('cJob09AttackLStopClimb', 1BBB640, 0x2190E88), +('cJob09AttackS', 1BBA7B8, 0x21908A8), +('cJob09AvoidAlchemy', 1BBA8D8, 0x2190928), +('cJob09Custom01', 1BBAA00, 0x21909A8), +('cJob09Custom01Attack', 1BBAA48, 0x21909C8), +('cJob09Custom02', 1BBAA90, 0x21909E8), +('cJob09Custom02AirStart', 1BBAAD8, 0x2190A08), +('cJob09Custom02Finish', 1BBAB20, 0x2190A28), +('cJob09Custom03', 1BBAB68, 0x2190A48), +('cJob09Custom03Attack', 1BBABB0, 0x2190A68), +('cJob09Custom03Ex01Climb', 1BBAC40, 0x2190AA8), +('cJob09Custom03Stop', 1BBABF8, 0x2190A88), +('cJob09Custom04', 1BBAC90, 0x2190AC8), +('cJob09Custom05', 1BBACD8, 0x2190AE8), +('cJob09Custom05Finish', 1BBAD20, 0x2190B08), +('cJob09Custom06', 1BBAD68, 0x2190B28), +('cJob09Custom06Air', 1BBAE40, 0x2190B88), +('cJob09Custom06AirPre', 1BBADF8, 0x2190B68), +('cJob09Custom06Jump', 1BBADB0, 0x2190B48), +('cJob09Custom07', 1BBAE88, 0x2190BA8), +('cJob09Custom08', 1BBAED0, 0x2190BC8), +('cJob09Custom08Finish', 1BBAF18, 0x2190BE8), +('cJob09Custom09', 1BBB848, 0x2190EA8), +('cJob09Custom09Climb', 1BBB8A0, 0x2190EC8), +('cJob09Custom09Finish', 1BBB900, 0x2190EE8), +('cJob09Custom09FinishClimb', 1BBB960, 0x2190F08), +('cJob09Custom09Release', 1BBB9C8, 0x2190F28), +('cJob09Custom09ReleaseClimb', 1BBBA28, 0x2190F48), +('cJob09Custom10AirStart', 1BBAFA8, 0x2190C28), +('cJob09Custom10ComAction', 1BBAFF0, 0x2190C48), +('cJob09Custom10ComLand', 1BBB038, 0x2190C68), +('cJob09Custom10LandStart', 1BBAF60, 0x2190C08), +('cJob09Custom11', 1BBB080, 0x2190C88), +('cJob09Custom11Air', 1BBB110, 0x2190CC8), +('cJob09Custom11AirShot', 1BBB158, 0x2190CE8), +('cJob09Custom11Shot', 1BBB0C8, 0x2190CA8), +('cJob09Custom12BarrierAlchem', 1BBB230, 0x2190D48), +('cJob09Custom12BarrierAlchemFinish', 1BBB2C0, 0x2190D88), +('cJob09Custom12BarrierPre', 1BBB1E8, 0x2190D28), +('cJob09Custom12End', 1BBB278, 0x2190D68), +('cJob09Custom12StartLoop', 1BBB1A0, 0x2190D08), +('cJob09DelayAttack', 1BBA800, 0x21908C8), +('cJob09ReleaseAlchemy', 1BBA890, 0x2190908), +('cJob09ReleaseAlchemyPre', 1BBA848, 0x21908E8), +('cJob09SecondJump', 1BBA9B8, 0x2190988), +('cJob10ActCustom01', 1B18370, 0x2182E58), +('cJob10ActCustom01Jump', 1B183B8, 0x2182E78), +('cJob10ActCustom01Land', 1B18400, 0x2182E98), +('cJob10AirAttackL', 1B18090, 0x2182D18), +('cJob10AirAttackLLand', 1B180D8, 0x2182D38), +('cJob10AirAttackS', 1B18048, 0x2182CF8), +('cJob10AirSupportAct', 1B18298, 0x2182DF8), +('cJob10AirSupportActPre', 1B18250, 0x2182DD8), +('cJob10AttackS', 1B17F70, 0x2182C98), +('cJob10AttackSFinish', 1B17FB8, 0x2182CB8), +('cJob10ClimbAttack', 1B18120, 0x2182D58), +('cJob10ClimbAttackEnd', 1B18170, 0x2182D78), +('cJob10CounterSupport', 1B18D08, 0x2183298), +('cJob10CounterSupportFinish', 1B18D50, 0x21832B8), +('cJob10Custom02', 1B184D8, 0x2182EF8), +('cJob10Custom02Air', 1B18520, 0x2182F18), +('cJob10Custom03', 1B18568, 0x2182F38), +('cJob10Custom03End', 1B185B0, 0x2182F58), +('cJob10Custom03Finish', 1B185F8, 0x2182F78), +('cJob10Custom04', 1B18640, 0x2182F98), +('cJob10Custom04Atk', 1B18688, 0x2182FB8), +('cJob10Custom05', 1B18718, 0x2182FF8), +('cJob10Custom05Fire', 1B187A8, 0x2183038), +('cJob10Custom05FireAir', 1B18838, 0x2183078), +('cJob10Custom05FireAirPre', 1B187F0, 0x2183058), +('cJob10Custom05FirePre', 1B18760, 0x2183018), +('cJob10Custom05Pre', 1B186D0, 0x2182FD8), +('cJob10Custom06', 1B188C8, 0x21830B8), +('cJob10Custom06Fire', 1B18910, 0x21830D8), +('cJob10Custom06FireClimb', 1B18958, 0x21830F8), +('cJob10Custom06Pre', 1B18880, 0x2183098), +('cJob10Custom07', 1B189A8, 0x2183118), +('cJob10Custom07Shl', 1B189F0, 0x2183138), +('cJob10Custom08', 1B18A38, 0x2183158), +('cJob10Custom08End', 1B18B10, 0x21831B8), +('cJob10Custom08Shot', 1B18AC8, 0x2183198), +('cJob10Custom08ShotPre', 1B18A80, 0x2183178), +('cJob10CustomAttackBase', 1B18328, 0x2182E38), +('cJob10Dodge', 1B18000, 0x2182CD8), +('cJob10ExecuteBoost', 1B182E0, 0x2182E18), +('cJob10FinishRampage', 1B18BA0, 0x21831F8), +('cJob10FinishRampageJump', 1B18BE8, 0x2183218), +('cJob10FinishRampageLand', 1B18C30, 0x2183238), +('cJob10LimitBreackSupport', 1B18CC0, 0x2183278), +('cJob10LimitBreackSupportPre', 1B18C78, 0x2183258), +('cJob10NormalAttackBase', 1B17F28, 0x2182C78), +('cJob10StartRampage', 1B18B58, 0x21831D8), +('cJob10SupportAct', 1B18208, 0x2182DB8), +('cJob10SupportActPre', 1B181C0, 0x2182D98), +('cJob11AttackAirS', 1B197C0, 0x2183340), +('cJob11AttackAirS_Fall_Stance', 1B19898, 0x21833A0), +('cJob11AttackAirS_Jump', 1B19850, 0x2183380), +('cJob11AttackAirS_Land_Slash', 1B198E0, 0x21833C0), +('cJob11AttackAirS_Lever', 1B19808, 0x2183360), +('cJob11AttackBase', 1B196E8, 0x21832E0), +('cJob11AttackDelayCombo', 1B19778, 0x2183320), +('cJob11AttackS', 1B19730, 0x2183300), +('cJob11Avoid', 1B19928, 0x21833E0), +('cJob11BackLeap_Begin', 1B19B40, 0x21834E0), +('cJob11BackLeap_Jump', 1B19BD0, 0x2183520), +('cJob11BackLeap_Land', 1B19C18, 0x2183540), +('cJob11BackLeap_Shot', 1B19B88, 0x2183500), +('cJob11ClimeEnemyAttackBase', 1B19E60, 0x2183640), +('cJob11ClimeEnemyAttackEnd', 1B19F00, 0x2183680), +('cJob11ClimeEnemyAttackStart', 1B19EB0, 0x2183660), +('cJob11Custom01Begin', 1B19FE0, 0x21836E0), +('cJob11Custom01End', 1B1A028, 0x2183700), +('cJob11Custom02', 1B1A070, 0x2183720), +('cJob11Custom03', 1B1A0B8, 0x2183740), +('cJob11Custom03Finish', 1B1A100, 0x2183760), +('cJob11Custom04', 1B1A148, 0x2183780), +('cJob11Custom05', 1B1A190, 0x21837A0), +('cJob11Custom05Climb', 1B1A220, 0x21837E0), +('cJob11Custom05Hit', 1B1A1D8, 0x21837C0), +('cJob11Custom06', 1B1A270, 0x2183800), +('cJob11Custom06Cancel', 1B1A300, 0x2183840), +('cJob11Custom06Slash', 1B1A2B8, 0x2183820), +('cJob11Custom07', 1B1A348, 0x2183860), +('cJob11Custom07Blast', 1B1A3D8, 0x21838A0), +('cJob11Custom07Cancel', 1B1A390, 0x2183880), +('cJob11Custom07Finish', 1B1A420, 0x21838C0), +('cJob11Custom08', 1B1A468, 0x21838E0), +('cJob11Custom08Blast', 1B1A4F8, 0x2183920), +('cJob11Custom08Cancel', 1B1A4B0, 0x2183900), +('cJob11Custom08Finish', 1B1A540, 0x2183940), +('cJob11CustomBase', 1B19F98, 0x21836C0), +('cJob11MagicShot', 1B19A68, 0x2183480), +('cJob11MagicShotAir', 1B19AF8, 0x21834C0), +('cJob11MagicShotBase', 1B19A20, 0x2183440), +('cJob11MagicShotBase::cSort', 1B19A08, 0x2183460), +('cJob11MagicShotStep', 1B19AB0, 0x21834A0), +('cJob11MarkShot', 1B199B8, 0x2183420), +('cJob11MarkShotPre', 1B19970, 0x2183400), +('cJob11NoCharm', 1B19F50, 0x21836A0), +('cJob11OverBraid', 1B19D38, 0x21835C0), +('cJob11OverBraidCancel', 1B19E18, 0x2183620), +('cJob11OverBraidEnd', 1B19DD0, 0x2183600), +('cJob11OverBraidShot', 1B19D80, 0x21835E0), +('cJob11PureMagicBase', 1B19CF0, 0x21835A0), +('cJob11ReturnShift_Appear', 1B19CA8, 0x2183580), +('cJob11ReturnShift_Begin', 1B19C60, 0x2183560), +('cJob5ElementAttack', 1BB58B0, 0x218F618), +('cJob5ElementAttackAir', 1BB58F8, 0x218F638), +('cJob5ElementAttackAirPre', 1BB5820, 0x218F5D8), +('cJob5ElementAttackPre', 1BB57D8, 0x218F5B8), +('cJobActBase', 1BBC0B8, 0x2190F6C), +('cJobCustomParam', 1C62F68, 0x21AAEB0), +('cJobLeoAttackAirL00', 1B1B058, 0x21839B0), +('cJobLeoAttackAirL01', 1B1B0A0, 0x21839D0), +('cJobLeoAttackAirS', 1B1B010, 0x2183990), +('cJobLeoAttackBack', 1B1BE28, 0x2184050), +('cJobLeoAttackDelayCombo', 1B1B0E8, 0x2183A70), +('cJobLeoAttackL', 1B1AF38, 0x2183A30), +('cJobLeoAttackL_Charge_Begin', 1B1AF80, 0x21839F0), +('cJobLeoAttackL_Charge_Loop', 1B1AFC8, 0x2183A10), +('cJobLeoAttackS', 1B1AEF0, 0x2183970), +('cJobLeoCustom01', 1B1B520, 0x2183C30), +('cJobLeoCustom01Finish', 1B1B568, 0x2183C50), +('cJobLeoCustom02', 1B1B5B0, 0x2183C70), +('cJobLeoCustom02_01', 1B1B5F8, 0x2183C90), +('cJobLeoCustom02_02', 1B1B640, 0x2183CB0), +('cJobLeoCustom02_03', 1B1B688, 0x2183CD0), +('cJobLeoCustom02_04', 1B1B6D0, 0x2183CF0), +('cJobLeoCustom04', 1B1B718, 0x2183D10), +('cJobLeoCustom06', 1B1B760, 0x2183D30), +('cJobLeoCustom08', 1B1B7A8, 0x2183D50), +('cJobLeoCustom08_AirStartAir', 1B1B840, 0x2183DB0), +('cJobLeoCustom08_AirStartLand', 1B1B7F8, 0x2183D90), +('cJobLeoCustom08_End', 1B1B888, 0x2183DD0), +('cJobLeoCustom09', 1B1B8D0, 0x2183DF0), +('cJobLeoCustom11', 1B1B918, 0x2183E10), +('cJobLeoCustom11Success', 1B1B9A8, 0x2183E50), +('cJobLeoCustom11SuccessStart', 1B1B960, 0x2183E30), +('cJobLeoCustom12', 1B1B9F0, 0x2183E70), +('cJobLeoCustom12Additional', 1B1BA38, 0x2183E90), +('cJobLeoCustom12AdditionalLand', 1B1BA80, 0x2183EB0), +('cJobLeoCustom14', 1B1BAC8, 0x2183ED0), +('cJobLeoCustom14AirStrike', 1B1BB58, 0x2183F10), +('cJobLeoCustom14Finish', 1B1BBA0, 0x2183F30), +('cJobLeoCustom14Success', 1B1BB10, 0x2183EF0), +('cJobLeoEnchant', 1B1B4D8, 0x2183C10), +('cJobLeoGuard', 1B1B298, 0x2183B10), +('cJobLeoGuardAirEnd', 1B1B370, 0x2183B70), +('cJobLeoGuardAirReaction', 1B1B400, 0x2183BB0), +('cJobLeoGuardAirStart', 1B1B328, 0x2183B50), +('cJobLeoGuardBase', 1B1B130, 0x2183A50), +('cJobLeoGuardCounter', 1B1B448, 0x2183BD0), +('cJobLeoGuardCounterAir', 1B1B490, 0x2183BF0), +('cJobLeoGuardEnd', 1B1B1C0, 0x2183AB0), +('cJobLeoGuardHumanEnemy', 1B1B2E0, 0x2183B30), +('cJobLeoGuardJump', 1B1B208, 0x2183AD0), +('cJobLeoGuardLand', 1B1B250, 0x2183AF0), +('cJobLeoGuardReaction', 1B1B3B8, 0x2183B90), +('cJobLeoGuardStart', 1B1B178, 0x2183A90), +('cJobMasterCtrl', 1C63184, 0x21AAF50), +('cJointEx2', 1C633E4, 0x21AAFB0), +('cJointInfo', 1C634DC, 0x21AAFF0), +('cJointOrder', 1AE5C00, 0x21AB030), +('cJukeBoxItem', 1C608D0, 0x21AA7E0), +('cJumpParam', 1AE296C, 0x21AB070), +('cJumpParamCtrl', 1B17F08, 0x2190F90), +('cKeyCommand', 1C63824, 0x21AB0B0), +('cKeyCustom', 1B1C9C8, 0x2184090), +('cKeyCustomManager', 1B1C9F8, 0x2184070), +('cKeyCustomParam', 1C64358, 0x21AB130), +('cKeyFrameValueColor', 1C1A678, 0x219732C), +('cKeyFrameValueF32', 1B3FC4C, 0x219734C), +('cKeyText', 1C63DA8, 0x21AB0F0), +('cLanternParam', 1D661A8, 0x21CB96C), +('cLargeCameraParam', 1C64A80, 0x21AB214), +('cLayoutPreset', 1AE2944, 0x21AB3D4), +('cLayoutSet', 1BBCAB8, 0x2190FC4), +('cLayoutSet::cUnitData', 1BBCA90, 0x2190FE4), +('cLayoutSetEnemy', 1BBD028, 0x2191018), +('cLayoutSetGeneralPoint', 1BBD088, 0x219103C), +('cLayoutSetNpc', 1BBD598, 0x2191064), +('cLayoutSetOm', 1BBDAA0, 0x2191098), +('cLegCtrl', 1C65C38, 0x21AB414), +('cLeverGacha', 1BBDFA8, 0x21910C8), +('cLightParamBlink', 1DA5B28, 0x21CF1EC), +('cLightParamCtrl', 1DA5B7C, 0x21CF24C), +('cLightParamNightColor', 1DA5B44, 0x21CF20C), +('cLightParamTimeCtrl', 1DA5B0C, 0x21CF1CC), +('cLightQuestManager', 1BBE4B0, 0x21910FC), +('cLightQuestManager::cLightQuestInfo', 1BBE500, 0x219111C), +('cLightUnitParam', 1DA5AF0, 0x21CF1AC), +('cLobbyDataMessage', 1BD8D50, 0x21915BC), +('cLoopEffectCtrl', 1B1CEE8, 0x21840B4), +('cMagicChantParam', 1C6665C, 0x21AB5F8), +('cMagicCommand', 1C66C08, 0x21AB63C), +('cMagicCommandList', 1C66C38, 0x21AB65C), +('cMagicCommandWord', 1C66CE8, 0x21AB69C), +('cMainQuestManager', 1BBEA50, 0x2191144), +('cMandraActionParam', 1C66F68, 0x21AB6DC), +('cMandraPictureBookWork', 1DAAF7C, 0x21CF778), +('cMandragoraCtrlParam', 1DAAFEC, 0x21CF7D8), +('cMandragoraDispWork', 1DAAF98, 0x21CF7F8), +('cMenu', 1B1D480, 0x2184110), +('cMenuActiveList', 1B20768, 0x2184E90), +('cMenuAdvGuide', 1B1D9A8, 0x2184140), +('cMenuApplyClan', 1B23108, 0x2185540), +('cMenuApplyFriend', 1B1FC10, 0x2184A70), +('cMenuApproveClan', 1B23210, 0x21855A0), +('cMenuApproveFriend', 1B1FCC0, 0x2184AB0), +('cMenuApproveInvitedClan', 1B23840, 0x21857E0), +('cMenuAreaMaster', 1B1FF80, 0x2184BB0), +('cMenuAreaMasterHistory', 1B200E0, 0x2184C30), +('cMenuAreaMasterQuestInfo', 1B20030, 0x2184BF0), +('cMenuAreaMasterRankUp', 1B1FFD8, 0x2184BD0), +('cMenuAreaMasterSpotInfo', 1B20088, 0x2184C10), +('cMenuAreaMasterSupplies', 1B20138, 0x2184C50), +('cMenuBaggageMenu', 1B20D98, 0x21850D0), +('cMenuBase', 1B1D428, 0x21840E8), +('cMenuBazaarBuy', 1B20B88, 0x2185010), +('cMenuBazaarMenu', 1B20B30, 0x2184FF0), +('cMenuBlackList', 1B208C8, 0x2184F10), +('cMenuBreakupParty', 1B1F0B0, 0x21845F0), +('cMenuBtlContentReset', 1B26008, 0x2185B30), +('cMenuButtonCalibration', 1B1FA00, 0x21846B0), +('cMenuCancelApplyClan', 1B23160, 0x2185560), +('cMenuCancelClanScoutEntry', 1B23630, 0x2185720), +('cMenuCancelFriend', 1B1FC68, 0x2184A90), +('cMenuCancelInviteClan', 1B23790, 0x21857A0), +('cMenuChangeServer', 1B20298, 0x2184CD0), +('cMenuCharacterList', 1B1E768, 0x2184290), +('cMenuChargePawnList', 1B1EA80, 0x21843B0), +('cMenuClanApplyList', 1B230B0, 0x2185520), +('cMenuClanApplyManager', 1B22B88, 0x2185340), +('cMenuClanApproveDirectInvite', 1B239A0, 0x2185860), +('cMenuClanAuthority', 1B239F8, 0x2185880), +('cMenuClanChangeMaster', 1B234D0, 0x21856A0), +('cMenuClanDirectInvite', 1B23948, 0x2185840), +('cMenuClanDirectInvitedList', 1B238F0, 0x2185820), +('cMenuClanExpelMember', 1B23478, 0x2185680), +('cMenuClanHistory', 1B233C8, 0x2185640), +('cMenuClanInfoDisp', 1B23000, 0x21854E0), +('cMenuClanInfoManager', 1B22BE0, 0x2185360), +('cMenuClanInviteList', 1B23898, 0x2185800), +('cMenuClanInvitedList', 1B237E8, 0x21857C0), +('cMenuClanJoinReqList', 1B231B8, 0x2185580), +('cMenuClanList', 1B23058, 0x2185500), +('cMenuClanMemberList', 1B23370, 0x2185620), +('cMenuClanScoutEntry', 1B23580, 0x21856E0), +('cMenuClanScoutEntryList', 1B23688, 0x2185740), +('cMenuClanSetMemberRank', 1B23528, 0x21856C0), +('cMenuContentsExecutor', 1B27900, 0x2185DE0), +('cMenuCraftBazaarCtrl', 1B1F8F8, 0x21849D0), +('cMenuCraftColorFrame', 1B1F620, 0x21848B0), +('cMenuCraftColorFrame::cMenuCtrl', 1B1F60C, 0x2184890), +('cMenuCraftColorItem', 1B1F678, 0x21848D0), +('cMenuCraftCreateItem', 1B1F438, 0x21847F0), +('cMenuCraftElementFrame', 1B1F558, 0x2184850), +('cMenuCraftElementFrame::cMenuCtrl', 1B1F544, 0x2184830), +('cMenuCraftElementItem', 1B1F5B0, 0x2184870), +('cMenuCraftEnhanceSelect', 1B1F8A0, 0x21849B0), +('cMenuCraftGoldStoneDetail', 1B20F50, 0x2185170), +('cMenuCraftGoldStoneDialog', 1B20EA0, 0x2185130), +('cMenuCraftItemSelect', 1B1F848, 0x2184990), +('cMenuCraftMenu', 1B1F210, 0x21846F0), +('cMenuCraftMyPawnList', 1B1F2C0, 0x2184730), +('cMenuCraftPoint', 1B1F798, 0x2184950), +('cMenuCraftProcessMenu', 1B1F268, 0x2184710), +('cMenuCraftQualityFrame', 1B1F6E8, 0x2184910), +('cMenuCraftQualityFrame::cMenuCtrl', 1B1F6D4, 0x21848F0), +('cMenuCraftQualityItem', 1B1F740, 0x2184930), +('cMenuCraftRecipeList', 1B1F318, 0x2184750), +('cMenuCraftSupportFrame', 1B1F388, 0x21847B0), +('cMenuCraftSupportFrame::cMenuCtrl', 1B1F374, 0x2184790), +('cMenuCraftSupportList', 1B1F3E0, 0x21847D0), +('cMenuCraftTask', 1B1F7F0, 0x2184970), +('cMenuCraftUpGradeItem', 1B1F4E8, 0x2184810), +('cMenuCraftUpGradeList', 1B1F490, 0x2184770), +('cMenuCreateClan', 1B22C38, 0x2185380), +('cMenuCreateEntryBoardItem', 1B273D8, 0x2185C00), +('cMenuCreateGameSession', 1B1EEF8, 0x2184550), +('cMenuCustomize', 1B1F950, 0x2184670), +('cMenuDSMix', 1B21308, 0x2185290), +('cMenuDSMix::cAnalize', 1B212C8, 0x21852D0), +('cMenuDSMix::cMaterial', 1B212AC, 0x21852B0), +('cMenuDSMixBaseSelect', 1B21360, 0x21852F0), +('cMenuDSMixMaterialSelect', 1B213B8, 0x2185310), +('cMenuDailyMission', 1B26718, 0x2185B60), +('cMenuDelivery', 1B26E10, 0x2185BB0), +('cMenuDialogFlow', 1B2A740, 0x2185F90), +('cMenuDispStatus', 1B20660, 0x2184E30), +('cMenuEditBlackList', 1B20920, 0x2184F30), +('cMenuEditClan', 1B22FA8, 0x21854C0), +('cMenuEditClanComment', 1B22EF8, 0x2185480), +('cMenuEditClanDay', 1B22DF0, 0x2185420), +('cMenuEditClanEmblem', 1B22D40, 0x21853E0), +('cMenuEditClanEntryComment', 1B235D8, 0x2185700), +('cMenuEditClanFeature', 1B22EA0, 0x2185460), +('cMenuEditClanHour', 1B22E48, 0x2185440), +('cMenuEditClanMessage', 1B22F50, 0x21854A0), +('cMenuEditClanMotto', 1B22D98, 0x2185400), +('cMenuEditCommentEntryBoardItem', 1B276F0, 0x2185D20), +('cMenuEditFavoritePawn', 1B1EE48, 0x2184510), +('cMenuEffectSealed', 1B25E78, 0x2185A90), +('cMenuEffectSealedSelect', 1B25F00, 0x2185AB0), +('cMenuEffectSealedSelect::cResult', 1B25ED4, 0x2185AD0), +('cMenuEmbodyingBox', 1B25FB0, 0x2185B10), +('cMenuEntryBoardInvite', 1B278A8, 0x2185DC0), +('cMenuEntryBoardInviteFromChat', 1B279B0, 0x2185E20), +('cMenuEntryBoardItem', 1B27380, 0x2185BE0), +('cMenuEntryBoardItemList', 1B277A0, 0x2185D60), +('cMenuEntryBoardMember', 1B27850, 0x2185DA0), +('cMenuEntryBoardRecruit', 1B277F8, 0x2185D80), +('cMenuEntryChat', 1B27748, 0x2185D40), +('cMenuEntryGameSession', 1B1EFA8, 0x2184590), +('cMenuEvidenceList', 1B28338, 0x2185E50), +('cMenuExmParty', 1B28910, 0x2185E80), +('cMenuExtendEntryBoardItem', 1B275E8, 0x2185CC0), +('cMenuFavoriteFriend', 1B1FD70, 0x2184AF0), +('cMenuFirstOption', 1B20BE0, 0x2185030), +('cMenuFriendList', 1B1FBB8, 0x2184A50), +('cMenuGetAreaMasterInfo', 1B20190, 0x2184C70), +('cMenuGetBlackList', 1B20870, 0x2184EF0), +('cMenuGetCharacterName', 1B1FED0, 0x2184B70), +('cMenuGetClanBaseInfo', 1B23318, 0x2185600), +('cMenuGetClanDetail', 1B232C0, 0x21855E0), +('cMenuGetCraftRecipeToServer', 1B20C90, 0x2185070), +('cMenuGetEntryBoardItem', 1B27430, 0x2185C20), +('cMenuGetFriendList', 1B1FB60, 0x2184A30), +('cMenuGetItemBaggageListToServer', 1B20D40, 0x21850B0), +('cMenuGetItemListToServer', 1B206B8, 0x2184E50), +('cMenuGetMailList', 1B203A0, 0x2184D30), +('cMenuGetMatchingProfile', 1B1E4A8, 0x2184190), +('cMenuGetMyClan', 1B23268, 0x21855C0), +('cMenuGetMyScoutEntry', 1B236E0, 0x2185760), +('cMenuGetOrbGainExtendParam', 1B20710, 0x2184E70), +('cMenuGetPawnName', 1B1FF28, 0x2184B90), +('cMenuGetRecentList', 1B207C0, 0x2184EB0), +('cMenuGroupChatMemberList', 1B20A80, 0x2184FB0), +('cMenuInfinityDelivery', 1B26DB8, 0x2185B90), +('cMenuInvite', 1B1FB08, 0x2184A10), +('cMenuInviteClan', 1B23738, 0x2185780), +('cMenuInviteEntryBoardItem', 1B27958, 0x2185E00), +('cMenuInviteGroupChat', 1B20978, 0x2184F50), +('cMenuJobMaster', 1B293D0, 0x2185EB0), +('cMenuJoinEntryBoardItem', 1B27488, 0x2185C40), +('cMenuJoinGameSession', 1B1EF50, 0x2184570), +('cMenuJoinPartyFlow', 1B1F058, 0x21845D0), +('cMenuKeyConfig', 1B21000, 0x21851B0), +('cMenuKeyConfigCopyCategory', 1B211F8, 0x2185250), +('cMenuKeyConfigRenameCategory', 1B211A0, 0x2185230), +('cMenuKeyConfigSubMenu', 1B21080, 0x21851D0), +('cMenuKeyConfigSubMenuCategoryList', 1B21140, 0x2185210), +('cMenuKeyConfigSubMenuKeyList', 1B210E0, 0x21851F0), +('cMenuKeyJobLink', 1B21250, 0x2185270), +('cMenuKickGroupChat', 1B20A28, 0x2184F90), +('cMenuKokujuEnter', 1B25F58, 0x2185AF0), +('cMenuLeaveEntryBoardItem', 1B274E0, 0x2185C60), +('cMenuLeaveGroupChat', 1B209D0, 0x2184F70), +('cMenuLeaveOnTheWay', 1B20AD8, 0x2184FD0), +('cMenuLostPawnList', 1B1EB30, 0x21843F0), +('cMenuLostPawnRevive', 1B1EB88, 0x2184410), +('cMenuMail', 1B20348, 0x2184D10), +('cMenuMailCreate', 1B20450, 0x2184D70), +('cMenuMailDelete', 1B20500, 0x2184DB0), +('cMenuMailDeleteMulti', 1B20558, 0x2184DD0), +('cMenuMailDetail', 1B203F8, 0x2184D50), +('cMenuMailGetItem', 1B205B0, 0x2184DF0), +('cMenuMailGetItemAll', 1B20608, 0x2184E10), +('cMenuMailToList', 1B204A8, 0x2184D90), +('cMenuMandraControl', 1B24598, 0x21858F0), +('cMenuMandraMenuCheckManure', 1B247A8, 0x21859B0), +('cMenuMandraMenuGrow', 1B245F0, 0x2185910), +('cMenuMandraMenuItemReceive', 1B24800, 0x21859D0), +('cMenuMandraMenuModelChange', 1B24648, 0x2185930), +('cMenuMandraMenuNameChange', 1B246A0, 0x2185950), +('cMenuMandraMenuQuickGrow', 1B24750, 0x2185990), +('cMenuMandraMenuSoilChange', 1B246F8, 0x2185970), +('cMenuMandraPictureBook', 1B24858, 0x21859F0), +('cMenuMandraSelect', 1B24540, 0x21858D0), +('cMenuMatchingProfile', 1B1E450, 0x2184170), +('cMenuMyPawnList', 1B1E9D0, 0x2184370), +('cMenuMyRoomBase', 1B244E8, 0x21858B0), +('cMenuOnlineShop', 1B20EF8, 0x2185150), +('cMenuPartyList', 1B1E6B8, 0x2184250), +('cMenuPartyListMemberInfo', 1B1E710, 0x2184270), +('cMenuPartyManager', 1B1E500, 0x21841B0), +('cMenuPartyMemberList', 1B1E558, 0x21841D0), +('cMenuPartyReq', 1B1E660, 0x2184230), +('cMenuPawnDelete', 1B1ED40, 0x21844B0), +('cMenuPawnFeedback', 1B1ECE8, 0x2184490), +('cMenuPawnHistory', 1B1ED98, 0x21844D0), +('cMenuPawnManageMenu', 1B1EBE0, 0x2184430), +('cMenuPawnManager', 1B1EC38, 0x2184450), +('cMenuPawnPoint', 1B1F9A8, 0x2184690), +('cMenuPawnRental', 1B1EEA0, 0x2184530), +('cMenuPawnReqList', 1B1E978, 0x2184350), +('cMenuPawnReqMenu', 1B1E920, 0x2184330), +('cMenuPawnReturn', 1B1EC90, 0x2184470), +('cMenuPawnRevive', 1B1F160, 0x2184630), +('cMenuPawnSearch', 1B1EAD8, 0x21843D0), +('cMenuPawnSetPartner', 1B20CE8, 0x2185090), +('cMenuPawnShareRange', 1B1EDF0, 0x21844F0), +('cMenuPawnSpecialSkill', 1B29B80, 0x2185EE0), +('cMenuPawnSpecialSkillActiveList', 1B2A170, 0x2185F40), +('cMenuPawnSpecialSkillItemSelect', 1B2A008, 0x2185F20), +('cMenuPawnSpecialSkillManager', 1B29F28, 0x2185F00), +('cMenuPawnThinkControl', 1B25688, 0x2185A40), +('cMenuPlDeadMenu', 1B1F108, 0x2184610), +('cMenuPlayWithPawn', 1B248B0, 0x2185A10), +('cMenuQuickMatch', 1B1E818, 0x21842D0), +('cMenuQuickMatchCancel', 1B1E8C8, 0x2184310), +('cMenuQuickMatchRetry', 1B1E870, 0x21842F0), +('cMenuQuickMatchSelect', 1B1E7C0, 0x21842B0), +('cMenuQuitClan', 1B23420, 0x2185660), +('cMenuReadyCheck', 1B202F0, 0x2184CF0), +('cMenuReadyEntryBoardItem', 1B27538, 0x2185C80), +('cMenuRecentList', 1B20818, 0x2184ED0), +('cMenuRecreateEntryBoardItem', 1B27640, 0x2185CE0), +('cMenuReleasePassEntryBoardItem', 1B27698, 0x2185D00), +('cMenuRemoveFriend', 1B1FD18, 0x2184AD0), +('cMenuRentalPawnList', 1B1EA28, 0x2184390), +('cMenuResetCraftPoint', 1B20C38, 0x2185050), +('cMenuSearchFilter', 1B1E5B0, 0x21841F0), +('cMenuServerList', 1B201E8, 0x2184C90), +('cMenuSetClanName', 1B22C90, 0x21853A0), +('cMenuSetClanNickName', 1B22CE8, 0x21853C0), +('cMenuSetJob', 1B1FE78, 0x2184B50), +('cMenuSetLevel', 1B1FDC8, 0x2184B10), +('cMenuSetLimitPreset', 1B1FE20, 0x2184B30), +('cMenuShop', 1B1F1B8, 0x2184650), +('cMenuSimplePartyReq', 1B1E608, 0x2184210), +('cMenuStartEntryBoardItem', 1B27590, 0x2185CA0), +('cMenuStartGameSession', 1B1F000, 0x21845B0), +('cMenuSubMenu', 1B1FAB0, 0x21849F0), +('cMenuSupport', 1B2A720, 0x2185F70), +('cMenuSupportList', 1B2A780, 0x2185FD0), +('cMenuSupportMenu', 1B2A760, 0x2185FB0), +('cMenuTraining', 1B20FA8, 0x2185190), +('cMenuTreasuresLot', 1B20DF0, 0x21850F0), +('cMenuTreasuresLotAnnounce', 1B20E48, 0x2185110), +('cMenuUILargeSetting', 1B1FA58, 0x21846D0), +('cMenuUpdateCommunityList', 1B20240, 0x2184CB0), +('cMethodConstantBase', 1BBEAC0, 0x2191164), +('cMethodConstantManagerBase', 1BBEADC, 0x2191184), +('cMobHuntQuestManager', 1B2B2B8, 0x2185FF0), +('cMobHuntQuestManager::cMobHuntQuestInfo', 1B2B308, 0x2186010), +('cMockActPauseStop', 1D696A8, 0x21CC5D8), +('cMockActWait', 1D69660, 0x21CC5B8), +('cModelConstInfo', 1B892A0, 0x21890F8), +('cModelList', 1BF996C, 0x2193DAC), +('cMotionFilter', 1C67E80, 0x21AB8D4), +('cMotionParam', 1C67F84, 0x21AB914), +('cMyRoomActParam', 1C68218, 0x21AB9B4), +('cNamedParam', 1C68328, 0x21AB9F4), +('cNetCtrl', 1BBF538, 0x21911CC), +('cNetGame', 1BBFA50, 0x21911F0), +('cNetGameServer', 1BC5C10, 0x2191224), +('cNetGameServer::cChatLog', 1BC5B8C, 0x21912A4), +('cNetGameServer::cCtrlFlow', 1BC5B64, 0x2191284), +('cNetLoginServer', 1BD6AAC, 0x2191334), +('cNetLoginServer::cCtrlFlow', 1BD6A98, 0x2191354), +('cNetMsgCtrlAction', 1BD7668, 0x219144C), +('cNetMsgGameEasy', 1BD7BD0, 0x21914C0), +('cNetMsgGameNormal', 1BD7BA0, 0x21914A0), +('cNetMsgReceiveInfo', 1BD70A8, 0x21913B8), +('cNetMsgSetNormal', 1BD8118, 0x2191508), +('cNetMsgToolEasy', 1BD8680, 0x219156C), +('cNetMsgToolNormal', 1BD8650, 0x219154C), +('cNetSessionManager', 1BD8DCC, 0x219159C), +('cNetSet', 1BD92D0, 0x2191604), +('cNetStorage', 1BD97C4, 0x2191624), +('cNetTool', 1BD9CA0, 0x2191648), +('cNodeGeomIterator', 1B155E8, 0x2182930), +('cNpcConstItem', 1C68658, 0x21ABA74), +('cNpcCustomSkill', 1C68764, 0x21ABAB4), +('cNpcIsNoSetPS3', 1C68A0C, 0x21ABB74), +('cNpcIsUseJobParamEx', 1C68B0C, 0x21ABBB4), +('cNpcMeetingPlace', 1C68DEC, 0x21ABC74), +('cObjCollisionNodeArray', 1B31A88, 0x2193DCC), +('cObjHitCache', 1B83554, 0x2188C70), +('cOcdBadDarkDef', 1BDACD8, 0x219191C), +('cOcdBadDarkDefHuman', 1BDD218, 0x2191E4C), +('cOcdBadElectricDef', 1BDABD8, 0x21918DC), +('cOcdBadElectricDefHuman', 1BDD118, 0x2191E0C), +('cOcdBadErosionBase', 1BDD518, 0x2191F0C), +('cOcdBadErosionLv1', 1BDD5A0, 0x2191F2C), +('cOcdBadErosionLv2', 1BDD628, 0x2191F4C), +('cOcdBadErosionLv3', 1BDD6B0, 0x2191F6C), +('cOcdBadErosionLvMAX', 1BDD738, 0x2191F8C), +('cOcdBadFireDef', 1BDAAD8, 0x219189C), +('cOcdBadFireDefHuman', 1BDD018, 0x2191DCC), +('cOcdBadHolyDef', 1BDAC58, 0x21918FC), +('cOcdBadHolyDefHuman', 1BDD198, 0x2191E2C), +('cOcdBadIceDef', 1BDAB58, 0x21918BC), +('cOcdBadIceDefHuman', 1BDD098, 0x2191DEC), +('cOcdBadKousokuYarare', 1BDD7B8, 0x2191FAC), +('cOcdBadMgcAtk', 1BDAE58, 0x219197C), +('cOcdBadMgcAtkHuman', 1BDD398, 0x2191EAC), +('cOcdBadMgcDef', 1BDAED8, 0x219199C), +('cOcdBadMgcDefHuman', 1BDD418, 0x2191ECC), +('cOcdBadOil', 1BDA438, 0x219171C), +('cOcdBadOilHuman', 1BDCA80, 0x2191C6C), +('cOcdBadPhysAtk', 1BDAD58, 0x219193C), +('cOcdBadPhysAtkHuman', 1BDD298, 0x2191E6C), +('cOcdBadPhysDef', 1BDADD8, 0x219195C), +('cOcdBadPhysDefHuman', 1BDD318, 0x2191E8C), +('cOcdBadWeakening', 1BDD498, 0x2191EEC), +('cOcdBase', 1BDC1F0, 0x2191B7C), +('cOcdBlind', 1BDAA58, 0x219187C), +('cOcdBlindEnemy', 1BDB988, 0x2191ACC), +('cOcdBlindHuman', 1BDCF98, 0x2191DAC), +('cOcdCache', 1B835C8, 0x2188C90), +('cOcdCounterBreakPartsAfterChance', 1BDBB08, 0x2191B2C), +('cOcdCurse', 1BDA538, 0x219175C), +('cOcdCurseHuman', 1BDCB80, 0x2191CAC), +('cOcdCustomReqInfo', 1B835F0, 0x2188CB0), +('cOcdDamageInfo', 1BDE8D8, 0x21920F4), +('cOcdDarkPhase', 1BDBB88, 0x2191B4C), +('cOcdElectric', 1BDA950, 0x219185C), +('cOcdElectricEnemy', 1BDB780, 0x2191A4C), +('cOcdElectricHuman', 1BDCF10, 0x2191D8C), +('cOcdElectricParam', 1C69178, 0x21ABDB4), +('cOcdElementCover', 1BE12D8, 0x2192664), +('cOcdEnchant', 1BDEE20, 0x2192118), +('cOcdEnchantEnemy', 1BDEEA0, 0x2192138), +('cOcdEnemyOrcRage', 1BE03D0, 0x21923E0), +('cOcdEnemyOrcRageCaptain', 1BE0350, 0x21923C0), +('cOcdErosionCancel', 1BE02D0, 0x21923A0), +('cOcdExplosiveArrowHuman', 1BE1258, 0x2192644), +('cOcdFreeze', 1BDA8D0, 0x219183C), +('cOcdFreezeEnemy', 1BDB700, 0x2191A2C), +('cOcdFreezeHuman', 1BDCE90, 0x2191D6C), +('cOcdGold', 1BDA850, 0x219181C), +('cOcdGoldEnemy', 1BDB600, 0x21919EC), +('cOcdGoldHuman', 1BDCE10, 0x2191D4C), +('cOcdGoodDarkDef', 1BDF9F0, 0x21922DC), +('cOcdGoodDarkDefHuman', 1BE0F58, 0x2192584), +('cOcdGoodElectricDef', 1BDF8F0, 0x219229C), +('cOcdGoodElectricDefHuman', 1BE0E58, 0x2192544), +('cOcdGoodEndurance', 1BDF6F0, 0x219221C), +('cOcdGoodEnduranceHuman', 1BE0C58, 0x21924C4), +('cOcdGoodFireDef', 1BDF7F0, 0x219225C), +('cOcdGoodFireDefHuman', 1BE0D58, 0x2192504), +('cOcdGoodGuts', 1BDF770, 0x219223C), +('cOcdGoodGutsHuman', 1BE0CD8, 0x21924E4), +('cOcdGoodHitPoint', 1BDFA70, 0x21922FC), +('cOcdGoodHitPointHuman', 1BE0FD8, 0x21925A4), +('cOcdGoodHolyDef', 1BDF970, 0x21922BC), +('cOcdGoodHolyDefHuman', 1BE0ED8, 0x2192564), +('cOcdGoodIceDef', 1BDF870, 0x219227C), +('cOcdGoodIceDefHuman', 1BE0DD8, 0x2192524), +('cOcdGoodMgcAtk', 1BDF570, 0x21921BC), +('cOcdGoodMgcAtkHuman', 1BE0AD8, 0x2192464), +('cOcdGoodMgcDef', 1BDF5F0, 0x21921DC), +('cOcdGoodMgcDefHuman', 1BE0B58, 0x2192484), +('cOcdGoodPhysAtk', 1BDF470, 0x219217C), +('cOcdGoodPhysAtkHuman', 1BE09D8, 0x2192424), +('cOcdGoodPhysDef', 1BDF4F0, 0x219219C), +('cOcdGoodPhysDefHuman', 1BE0A58, 0x2192444), +('cOcdGoodPower', 1BDF670, 0x21921FC), +('cOcdGoodPowerHuman', 1BE0BD8, 0x21924A4), +('cOcdGoodStamina', 1BDFAF0, 0x219231C), +('cOcdGoodStaminaHuman', 1BE1058, 0x21925C4), +('cOcdGoodStatusBase', 1BDF3F0, 0x219215C), +('cOcdGoodStatusHuman', 1BE0958, 0x2192404), +('cOcdGoodTalismanDefence', 1BDFBF0, 0x219235C), +('cOcdGoodTalismanDefenceHuman', 1BE1158, 0x2192604), +('cOcdGoodTalismanPower', 1BDFB70, 0x219233C), +('cOcdGoodTalismanPowerHuman', 1BE10D8, 0x21925E4), +('cOcdHolyAbsorp', 1BDA9D8, 0x21919BC), +('cOcdHumanAttackFeild', 1BE13D8, 0x21926A4), +('cOcdHumanBlowUp', 1BE1658, 0x2192744), +('cOcdHumanDarkErosionImmunity', 1BDDBD8, 0x21920AC), +('cOcdHumanDarkErosionLv1', 1BDDAC8, 0x219206C), +('cOcdHumanDarkErosionLv2', 1BDDB50, 0x219208C), +('cOcdHumanDarkFlame', 1BDD9C8, 0x219202C), +('cOcdHumanDarkPrison', 1BDDA48, 0x219204C), +('cOcdHumanDeathCount', 1BDD948, 0x219200C), +('cOcdHumanDefenceFeild', 1BE1458, 0x21926C4), +('cOcdHumanEnchantUp', 1BE16D8, 0x2192764), +('cOcdHumanErosionEndurance', 1BE15D8, 0x2192724), +('cOcdHumanGoldStoneBuff', 1BE1358, 0x2192684), +('cOcdHumanHateUpBase', 1BDD838, 0x2191FCC), +('cOcdHumanHateUpOrcBeast', 1BDD8C0, 0x2191FEC), +('cOcdHumanIronFeild', 1BE14D8, 0x21926E4), +('cOcdHumanPawnSpecialityBase', 1BE1758, 0x2192784), +('cOcdHumanSolaceFeild', 1BE1558, 0x2192704), +('cOcdImmuneParam', 1BDC1B8, 0x2191BBC), +('cOcdImmuneParamRes', 1BE1AC4, 0x21927E4), +('cOcdInfo', 1BE1A7C, 0x21927A4), +('cOcdIrAdj', 1C69728, 0x21ABDF8), +('cOcdIrAdjPL', 1C69814, 0x21ABE38), +('cOcdLanthanumHuman', 1BE11D8, 0x2192624), +('cOcdMsgCtrl2', 1B83AD0, 0x2188CD8), +('cOcdParamChangeEnemy', 1BDB580, 0x21920D0), +('cOcdParamChangeSoftEnemy', 1BDB908, 0x2191AAC), +('cOcdPhysMagicChange', 1BE0250, 0x2192380), +('cOcdPoison', 1BDA6C0, 0x21917BC), +('cOcdPoisonHuman', 1BDCC80, 0x2191CEC), +('cOcdPriorityParam', 1BE1B98, 0x2192804), +('cOcdRageShrinkAfterChance', 1BDBA08, 0x2191AEC), +('cOcdSeal', 1BDA4B8, 0x219173C), +('cOcdSealHuman', 1BDCB00, 0x2191C8C), +('cOcdSlayerShrinkAfterChance', 1BDBA88, 0x2191B0C), +('cOcdSleep', 1BDA2B8, 0x21916BC), +('cOcdSleepChanceTime', 1BDA338, 0x21916DC), +('cOcdSleepEnemy', 1BDB888, 0x2191A8C), +('cOcdSleepHuman', 1BDC980, 0x2191C2C), +('cOcdSlipDamage', 1BDA638, 0x219179C), +('cOcdSlow', 1BDA238, 0x219169C), +('cOcdSlowHuman', 1BDC900, 0x2191C0C), +('cOcdSoftBody', 1BDA5B8, 0x219177C), +('cOcdSoftBodyHuman', 1BDCC00, 0x2191CCC), +('cOcdSpread', 1BDA748, 0x21917DC), +('cOcdSpreadHuman', 1BDCD08, 0x2191D0C), +('cOcdStatusParam', 1BDC1D4, 0x2191B9C), +('cOcdStatusParamRes', 1BE1AA8, 0x21927C4), +('cOcdStone', 1BDA7D0, 0x21917FC), +('cOcdStoneEnemy', 1BDB680, 0x2191A0C), +('cOcdStoneHuman', 1BDCD90, 0x2191D2C), +('cOcdStun', 1BDA1B8, 0x219167C), +('cOcdStunEnemy', 1BDB808, 0x2191A6C), +('cOcdStunHuman', 1BDC880, 0x2191BEC), +('cOcdWet', 1BDA3B8, 0x21916FC), +('cOcdWetHuman', 1BDCA00, 0x2191C4C), +('cOmControl', 1BE2184, 0x2192928), +('cOmControl::InputLot', 1BE2170, 0x21928E8), +('cOmControl::InputLotBase', 1BE20F8, 0x2192868), +('cOmControl::InputLotBaseEx', 1BE2114, 0x2192888), +('cOmControl::LegacyExLOT', 1BE214C, 0x21928C8), +('cOmControl::LegacyLOT', 1BE2130, 0x21928A8), +('cOmGauge', 1BFAD9C, 0x219499C), +('cOmLoadList', 1C69A8C, 0x21ABEDC), +('cOmLoadList::cOmList', 1C69A5C, 0x21ABEFC), +('cOmParam', 1C700DC, 0x21ACBF4), +('cOmParamBase', 1C70098, 0x21ACBD4), +('cOmTreeControl', 1BE20D4, 0x2192908), +('cOnceRequestEffectType', 1B0246C, 0x21805D0), +('cOnceRequestEffectTypeDanger', 1B02498, 0x21805F0), +('cOnceRequestEffectTypeDangerData', 1B02438, 0x21805B0), +('cOnceRequestEffectTypeData', 1B02418, 0x2180590), +('cOpeningMovie', 1B83FB0, 0x2188D08), +('cOutfitExclusiveSlot', 1C6A5D8, 0x21ABFBC), +('cOutfitInfoRes', 1C6A610, 0x21ABF9C), +('cOutlineParam', 1C70660, 0x21ACC58), +('cP3post', 1BE25AC, 0x2192948), +('cPCGraphicOption', 1B85104, 0x2188DA0), +('cPCIEtc', 1B2D35C, 0x21861EC), +('cPCIFrenquencySkill', 1B2D33C, 0x21861CC), +('cPCIPrioThink', 1B2D2FC, 0x218618C), +('cPCIPrioThinkPT', 1B2D31C, 0x21861AC), +('cPCSpecInfo', 1B85E38, 0x2188E14), +('cPRTManager', 1C00BF8, 0x2195178), +('cPackageQuestManager', 1B2B840, 0x2186040), +('cPackageQuestManager::cPackageSequence', 1B2B8A4, 0x2186060), +('cPackageQuestManager::cPackageSequence::cClientNpc', 1B2B8C0, 0x2186080), +('cPaletteParams', 1C19148, 0x21972F8), +('cParabolicMoveCtrl', 1B84024, 0x2188D28), +('cParentRegionStatus', 1B2C318, 0x21860D4), +('cParentRegionStatusParam', 1C741F8, 0x21ADA88), +('cParticleGeneratorAdhesion', 20D7318, 0x220A344), +('cParticleGeneratorAxisPolygon', 20D7380, 0x220A364), +('cParticleGeneratorBillboard', 20D6EE8, 0x220A244), +('cParticleGeneratorBillboardStrip', 20D6F50, 0x220A264), +('cParticleGeneratorClothPolygon', 20D72B0, 0x220A324), +('cParticleGeneratorCustom', 20D7A28, 0x220A4E4), +('cParticleGeneratorFilter', 20D7808, 0x220A464), +('cParticleGeneratorForce', 20D7BB8, 0x220A544), +('cParticleGeneratorHit', 20D7918, 0x220A4A4), +('cParticleGeneratorLensFlare', 20D76F8, 0x220A424), +('cParticleGeneratorLight', 20D7890, 0x220A484), +('cParticleGeneratorLightShaft', 20D7AB0, 0x220A504), +('cParticleGeneratorLine', 20D7570, 0x220A3C4), +('cParticleGeneratorLiteBillboard', 20D7020, 0x220A2A4), +('cParticleGeneratorLitePolygon', 20D73E8, 0x220A384), +('cParticleGeneratorLitePolyline', 20D7178, 0x220A2E4), +('cParticleGeneratorMassBillboard', 20D7780, 0x220A444), +('cParticleGeneratorModel', 20D75F0, 0x220A3E4), +('cParticleGeneratorPoint', 20D7B38, 0x220A524), +('cParticleGeneratorPolygon', 20D7248, 0x220A304), +('cParticleGeneratorPolygonStrip', 20D7998, 0x220A4C4), +('cParticleGeneratorPolyline', 20D7110, 0x220A2C4), +('cParticleGeneratorPrimModel', 20D7670, 0x220A404), +('cParticleGeneratorSizeBillboard', 20D6FB8, 0x220A284), +('cParticleGeneratorTexline', 20D74E8, 0x220A3A4), +('cParticleGeneratorTrail', 20D7DA0, 0x220A564), +('cParticleNode', 20D6D80, 0x220A1E4), +('cParticleNodeInfinite', 20D6DE0, 0x220A204), +('cPartnerReactParam', 1C6A968, 0x21AC0BC), +('cPartsCtrlTable', 1C707BC, 0x21ACC78), +('cPartsGroupList', 1BE4C24, 0x2192A50), +('cPartyMemberInfo', 1BC5B08, 0x2191264), +('cPawnAIActInter', 1C70D78, 0x21ACCBC), +('cPawnAIAction', 1C70DA8, 0x21ACCDC), +('cPawnActInterActArrow', 1BE567C, 0x2192BC4), +('cPawnActInterActArrowChange', 1BE583C, 0x2192CA4), +('cPawnActInterActBindAnchor', 1BE55FC, 0x2192B84), +('cPawnActInterActChant', 1BE56BC, 0x2192BE4), +('cPawnActInterActChantCircle', 1BE56FC, 0x2192C04), +('cPawnActInterActChargeMove', 1BE563C, 0x2192BA4), +('cPawnActInterActCircleCancel', 1BE577C, 0x2192C44), +('cPawnActInterActElementArrow', 1BE573C, 0x2192C24), +('cPawnActInterActElementChange', 1BE57BC, 0x2192C64), +('cPawnActInterActEnchant', 1BE60A0, 0x2193144), +('cPawnActInterActLight', 1BE57FC, 0x2192C84), +('cPawnActInterActMedalChange', 1BE5874, 0x2192CC4), +('cPawnActInterActNo', 1BE557C, 0x2192B44), +('cPawnActInterActProvoke', 1BE58AC, 0x2192CE4), +('cPawnActInterActRapid', 1BE55BC, 0x2192B64), +('cPawnActInterAtkHerald', 1BE5DC8, 0x2192FA4), +('cPawnActInterAutoMotion', 1BE5D90, 0x2192F84), +('cPawnActInterBase', 1BE544C, 0x2192A84), +('cPawnActInterBreak', 1BE6068, 0x2193124), +('cPawnActInterBreakWithHealOm', 1BE626C, 0x2193244), +('cPawnActInterCliffClimb', 1BE5D58, 0x2192F64), +('cPawnActInterClimbBegin', 1BE5D20, 0x2192F44), +('cPawnActInterCommon', 1BE5FF8, 0x21930E4), +('cPawnActInterDamage', 1BE5BD0, 0x2192E84), +('cPawnActInterDisableMgr', 1BE5484, 0x2192AA4), +('cPawnActInterEnemyClimb', 1BE5B28, 0x2192E24), +('cPawnActInterEnemyClimbAttack', 1BE5B98, 0x2192E64), +('cPawnActInterEnemyClimbMove', 1BE5B60, 0x2192E44), +('cPawnActInterEscape', 1BE5CE8, 0x2192F24), +('cPawnActInterEscapeNotice', 1BE5C08, 0x2192EA4), +('cPawnActInterFree', 1BE54D0, 0x2192AE4), +('cPawnActInterGuard', 1BE5C78, 0x2192EE4), +('cPawnActInterGuardCancel', 1BE5CB0, 0x2192F04), +('cPawnActInterHold', 1BE5AB8, 0x2192DE4), +('cPawnActInterHoldWait', 1BE5AF0, 0x2192E04), +('cPawnActInterIfLen', 1BE5A10, 0x2192D84), +('cPawnActInterJob11BackLeap', 1BE61C0, 0x21931E4), +('cPawnActInterJob11CheckEnemyMarked', 1BE6188, 0x21931C4), +('cPawnActInterJob11ManageCharm', 1BE6150, 0x21931A4), +('cPawnActInterJob11ReturnShift', 1BE6234, 0x2193204), +('cPawnActInterLantern', 1BE5EE0, 0x2193044), +('cPawnActInterMove', 1BE5508, 0x2192B04), +('cPawnActInterMoveAlchemyTrap', 1BE5F50, 0x2193084), +('cPawnActInterMoveEnergySpot', 1BE5F18, 0x2193064), +('cPawnActInterMoveJump', 1BE5C40, 0x2192EC4), +('cPawnActInterMoveLightingAnchor', 1BE5FC0, 0x21930C4), +('cPawnActInterMoveReksElement', 1BE5F88, 0x21930A4), +('cPawnActInterPhotoAction', 1BE6118, 0x2193184), +('cPawnActInterRecover', 1BE5EA8, 0x2193024), +('cPawnActInterReload', 1BE5E38, 0x2192FE4), +('cPawnActInterRot', 1BE5544, 0x2192B24), +('cPawnActInterSearchArmorPoint', 1BE59C8, 0x2192D64), +('cPawnActInterSearchCorePoint', 1BE5938, 0x2192D24), +('cPawnActInterSearchCorePointBase', 1BE58F0, 0x2192D04), +('cPawnActInterSearchMaskPoint', 1BE5980, 0x2192D44), +('cPawnActInterSpecialityAction', 1BE61FC, 0x2193224), +('cPawnActInterStandOff', 1BE5A48, 0x2192DA4), +('cPawnActInterStandOffHmEm', 1BE5A80, 0x2192DC4), +('cPawnActInterTalkToPl', 1BE60E0, 0x2193164), +('cPawnActInterWait', 1BE5E70, 0x2193004), +('cPawnActInterWaitFootwork', 1BE6030, 0x2193104), +('cPawnActInterWarp', 1BE5E00, 0x2192FC4), +('cPawnActInterface', 1BE54B4, 0x2192AC4), +('cPawnCultivationInfoBase', 1B2D2DC, 0x218616C), +('cPawnEnableArea', 1BE5430, 0x21A77EC), +('cPawnListParam', 1BC5AEC, 0x21912C4), +('cPawnQuestManager', 1B2DD98, 0x218623C), +('cPawnQuestManager::cPawnQuestInfo', 1B2DDE8, 0x218625C), +('cPawnThinkCtrlParam', 1B25668, 0x2185A60), +('cPawnVoiceData', 1BC5B40, 0x2191304), +('cPcTouchAction', 1B86410, 0x2188E44), +('cPlActWpnBow', 1BA7C28, 0x218C000), +('cPlActWpnBowBase', 1BA7BE0, 0x218BFE0), +('cPlActWpnMagicBow', 1BA7CA8, 0x218C020), +('cPlDeadFlow', 1BF7CB8, 0x2193BD0), +('cPlanetariumItem', 1C609B8, 0x21AA820), +('cPlayPointInfo', 1B35570, 0x2186698), +('cPlayPointInfo::cPlayPoint', 1B35548, 0x21866B8), +('cPlayerLoadManager', 1BF71B8, 0x2193B78), +('cPrim', 20D9924, 0x220AD48), +('cPrimBuffer', 20D128C, 0x22088C0), +('cPrimBufferManager', 20D99FC, 0x220AD88), +('cPrimObj', 20D1270, 0x220AE90), +('cPrimTagList', 20D98AC, 0x220AD08), +('cPrimTagManager', 20D99D0, 0x220AD68), +('cPrimTexHandle', 20D12B4, 0x22088E0), +('cPrimTexHandleManager', 20D98E4, 0x220AD28), +('cPrioThkCmd', 1C71E2C, 0x21ACDE4), +('cPrioThkCmdAddAnimalCoop', 1C721F0, 0x21AD044), +('cPrioThkCmdAddAnimalProtect', 1C72218, 0x21AD064), +('cPrioThkCmdAddBase', 1C71F50, 0x21ACE44), +('cPrioThkCmdAddBreakTarget', 1C72290, 0x21AD0C4), +('cPrioThkCmdAddBreakWithHealTarget', 1C722B8, 0x21AD0E4), +('cPrioThkCmdAddCoreNearTarget', 1C72240, 0x21AD084), +('cPrioThkCmdAddEnemy', 1C71FA0, 0x21ACE84), +('cPrioThkCmdAddEnemyClimb', 1C72018, 0x21ACEE4), +('cPrioThkCmdAddEnemyHp', 1C71FF0, 0x21ACEC4), +('cPrioThkCmdAddEnemyRange', 1C71FC8, 0x21ACEA4), +('cPrioThkCmdAddErosionRequest', 1C72268, 0x21AD0A4), +('cPrioThkCmdAddEvaluation', 1C721C8, 0x21AD024), +('cPrioThkCmdAddHiPrioEnemy', 1C71F78, 0x21ACE64), +('cPrioThkCmdAddHiPrioEnemyCorePoint', 1C72040, 0x21ACF04), +('cPrioThkCmdAddParty', 1C72068, 0x21ACF24), +('cPrioThkCmdAddPartyAction', 1C7219C, 0x21AD004), +('cPrioThkCmdAddPartyHp', 1C72094, 0x21ACF44), +('cPrioThkCmdAddPartyHpForShift', 1C720EC, 0x21ACF84), +('cPrioThkCmdAddPartyHpNotWhite', 1C720C0, 0x21ACF64), +('cPrioThkCmdAddPartyOcd', 1C72144, 0x21ACFC4), +('cPrioThkCmdAddPartyStamina', 1C72118, 0x21ACFA4), +('cPrioThkCmdAddPartyStatus', 1C72170, 0x21ACFE4), +('cPrioThkCmdConCureSpot', 1C72CEC, 0x21AD924), +('cPrioThkCmdConEventOmElf', 1C72C74, 0x21AD8C4), +('cPrioThkCmdConFollowArea', 1C72D8C, 0x21AD9A4), +('cPrioThkCmdConHealFountain', 1C72C9C, 0x21AD8E4), +('cPrioThkCmdConHealSpot', 1C72CC4, 0x21AD904), +('cPrioThkCmdConSpot', 1C72D14, 0x21AD944), +('cPrioThkCmdConSpotAny', 1C72D64, 0x21AD984), +('cPrioThkCmdConSpotExt', 1C72D3C, 0x21AD964), +('cPrioThkCmdFilTargetStatus', 1C722E0, 0x21AD104), +('cPrioThkCmdIsAbaddonNotChanceTime', 1C7297C, 0x21AD644), +('cPrioThkCmdIsAction', 1C72420, 0x21AD204), +('cPrioThkCmdIsAutoSituation', 1C72470, 0x21AD244), +('cPrioThkCmdIsBakuensen', 1C727E0, 0x21AD504), +('cPrioThkCmdIsBase', 1C72308, 0x21AD124), +('cPrioThkCmdIsBattle', 1C72358, 0x21AD164), +('cPrioThkCmdIsBattleAct', 1C726F0, 0x21AD444), +('cPrioThkCmdIsCanErosionRescue', 1C72880, 0x21AD584), +('cPrioThkCmdIsCanSetEmotion', 1C72768, 0x21AD4A4), +('cPrioThkCmdIsDamage', 1C72330, 0x21AD144), +('cPrioThkCmdIsDanger', 1C723F8, 0x21AD1E4), +('cPrioThkCmdIsEnableArea', 1C72380, 0x21AD184), +('cPrioThkCmdIsEvaluation', 1C724C0, 0x21AD284), +('cPrioThkCmdIsFollowEnable', 1C72718, 0x21AD464), +('cPrioThkCmdIsGuardBit', 1C72790, 0x21AD4C4), +('cPrioThkCmdIsHp', 1C724E8, 0x21AD2A4), +('cPrioThkCmdIsImpactForce', 1C72808, 0x21AD524), +('cPrioThkCmdIsLanternOff', 1C725D8, 0x21AD364), +('cPrioThkCmdIsLanternOn', 1C725B0, 0x21AD344), +('cPrioThkCmdIsMasterDead', 1C72628, 0x21AD3A4), +('cPrioThkCmdIsNotice', 1C723D0, 0x21AD1C4), +('cPrioThkCmdIsOrder', 1C72498, 0x21AD264), +('cPrioThkCmdIsOtherFlag', 1C72740, 0x21AD484), +('cPrioThkCmdIsPartyJob', 1C726A0, 0x21AD404), +('cPrioThkCmdIsPhotoAct', 1C728A8, 0x21AD5A4), +('cPrioThkCmdIsReleaseAlchemy', 1C72858, 0x21AD564), +('cPrioThkCmdIsReload', 1C72600, 0x21AD384), +('cPrioThkCmdIsSaintWallBomb', 1C72830, 0x21AD544), +('cPrioThkCmdIsShl', 1C726C8, 0x21AD424), +('cPrioThkCmdIsStageNo', 1C72538, 0x21AD2E4), +('cPrioThkCmdIsStageType', 1C72560, 0x21AD304), +('cPrioThkCmdIsStamina', 1C72510, 0x21AD2C4), +('cPrioThkCmdIsStandOffTime', 1C723A8, 0x21AD1A4), +('cPrioThkCmdIsStatus', 1C72448, 0x21AD224), +('cPrioThkCmdIsStatusCounter', 1C72650, 0x21AD3C4), +('cPrioThkCmdIsStatusEx', 1C72678, 0x21AD3E4), +('cPrioThkCmdIsTalkWithPl', 1C727B8, 0x21AD4E4), +('cPrioThkCmdIsTarget', 1C72588, 0x21AD324), +('cPrioThkCmdIsTargetEnemy', 1C72904, 0x21AD5C4), +('cPrioThkCmdIsTargetEnemy::EnemyID', 1C728D8, 0x21AD5E4), +('cPrioThkCmdIsTargetEnemyHasTentacles', 1C7292C, 0x21AD604), +('cPrioThkCmdIsTargetEnemyIsPhoenixDragonFall', 1C72954, 0x21AD624), +('cPrioThkCmdRetActGoldBurst', 1C72C24, 0x21AD884), +('cPrioThkCmdRetActGroup', 1C72A44, 0x21AD704), +('cPrioThkCmdRetActInter', 1C729F4, 0x21AD6C4), +('cPrioThkCmdRetActInterTarget', 1C72A1C, 0x21AD6E4), +('cPrioThkCmdRetCureAct', 1C72BAC, 0x21AD824), +('cPrioThkCmdRetDispersion', 1C72B34, 0x21AD7C4), +('cPrioThkCmdRetEnemyTable', 1C729A4, 0x21AD664), +('cPrioThkCmdRetEnemyTable::cTmpResult', 1C71E04, 0x21AD684), +('cPrioThkCmdRetFollow', 1C72B0C, 0x21AD7A4), +('cPrioThkCmdRetFreeParam', 1C72BFC, 0x21AD864), +('cPrioThkCmdRetGoto', 1C72A6C, 0x21AD724), +('cPrioThkCmdRetHealAct', 1C72B5C, 0x21AD7E4), +('cPrioThkCmdRetNoMoveJump', 1C72ABC, 0x21AD764), +('cPrioThkCmdRetOrder', 1C72AE4, 0x21AD784), +('cPrioThkCmdRetPawnSpeciality', 1C72C4C, 0x21AD8A4), +('cPrioThkCmdRetRouteInfo', 1C72A94, 0x21AD744), +('cPrioThkCmdRetStaminaHealAct', 1C72BD4, 0x21AD844), +('cPrioThkCmdRetSupport', 1C729CC, 0x21AD6A4), +('cPrioThkCmdRetWhiteHealAct', 1C72B84, 0x21AD804), +('cPrioThkCode', 1C71E68, 0x21ACE04), +('cPrioThkIO', 1BFE9B0, 0x21ACDC4), +('cPrologueHmStatus', 1C6C3AC, 0x21AC31C), +('cPushRate', 1C73AB4, 0x21AD9C4), +('cQuakeParam', 1C50598, 0x21A8D18), +('cQuestAdvGuideManager', 1B41E5C, 0x21879AC), +('cQuestAdvGuideManager::cGUIGuideData', 1B41E80, 0x21879CC), +('cQuestAdvGuideManager::cQuestNaviInfo', 1B41E9C, 0x21879EC), +('cQuestAdvGuideManager::cQuestNaviMarker', 1B41EB8, 0x2187A0C), +('cQuestAdvGuideManager::cQuestNaviRequestQueue', 1B41ED4, 0x2187A2C), +('cQuestDeliverManager', 1B8C224, 0x21892D8), +('cQuestEventArg', 1B8C25C, 0x21892F8), +('cQuestEventArgEntryParty', 1B8C278, 0x2189318), +('cQuestEventArgLeaveParty', 1B8C294, 0x2189338), +('cQuestEventManager', 1B8C320, 0x2189358), +('cQuestEventManager::cEvent', 1B8C35C, 0x2189398), +('cQuestEventManager::cEventListener', 1B8C340, 0x2189378), +('cQuestFunctionManagerBase', 1B8C3CC, 0x21893B8), +('cQuestGroup', 1C6CA98, 0x21AC3C8), +('cQuestHistoryData', 1C6C4A8, 0x21AC35C), +('cQuestMarkerManager', 1C06820, 0x2195490), +('cQuestMarkerManager::cMarkerData', 1C068D4, 0x2195530), +('cQuestMarkerManager::cMarkerTask', 1C068B8, 0x2195510), +('cQuestMarkerManager::cQuestSetMarkerInfoBase', 1C06840, 0x21954B0), +('cQuestMarkerManager::cQuestSetMarkerInfoFieldArea', 1C06890, 0x21954F0), +('cQuestMarkerManager::cQuestSetMarkerInfoStage', 1C06868, 0x21954D0), +('cQuestMemoryPool', 1B8CD74, 0x21893EC), +('cQuestMemoryPool::cQuestMemoryCore', 1B8CD4C, 0x218940C), +('cQuestPartyManager', 1B8D294, 0x2189440), +('cQuestPartyManager::cLeaderScheduleInfo', 1B8D2B4, 0x2189460), +('cQuestPersonalData', 1C0726C, 0x2195604), +('cQuestPersonalData::cQuestFlag', 1C072C0, 0x2195664), +('cQuestPersonalData::cQuestPurpose', 1C072A4, 0x2195644), +('cQuestPhaseComponent', 1B41FBC, 0x2187A4C), +('cQuestPhaseCpDivide', 1B41FF4, 0x2187A6C), +('cQuestPhaseCpDivide::cPlayerState', 1B41FE0, 0x2187A8C), +('cQuestPhaseEvent', 1B42074, 0x2187AAC), +('cQuestPhaseEvent::cParam', 1B42090, 0x2187ACC), +('cQuestPhaseManager', 1B42584, 0x2187AEC), +('cQuestPhaseState', 1B425DC, 0x2187B0C), +('cQuestPhaseState001', 1B42610, 0x2187B2C), +('cQuestPhaseState002', 1B425A0, 0x2187B4C), +('cQuestPoint', 1B92188, 0x218A3BC), +('cQuestResourceLoadManager', 1B8DE44, 0x21894B4), +('cQuestResourceLoadManager::cLoadTask', 1B8DE64, 0x21894D4), +('cQuestResourceManager', 1B8E394, 0x21894F4), +('cQuestResourceManager::cPackageQuestResource', 1B8E3EC, 0x2189554), +('cQuestResourceManager::cPackageQuestSequenceResource', 1B8E408, 0x2189574), +('cQuestResourceManager::cQuestContentResource', 1B8E3D0, 0x2189534), +('cQuestResourceManager::cQuestResource', 1B8E3B4, 0x2189514), +('cQuestSequence', 1C6CBA0, 0x21AC448), +('cQuestSet', 1C6CA68, 0x21AC3A8), +('cQuestStage', 1C6CAC8, 0x21AC3E8), +('cQuestSvNotCancelQuestNavigation', 1B8EDFC, 0x2189AD4), +('cQuestSvNotCycle01Phase', 1B8E958, 0x21896B4), +('cQuestSvNotCycle01SituationLevel', 1B8EC4C, 0x2189954), +('cQuestSvNotCycle04Phase', 1B8E97C, 0x21896D4), +('cQuestSvNotCycleContentsEnable', 1B8EBBC, 0x21898D4), +('cQuestSvNotCycleContentsPlayEnd', 1B8E9C4, 0x2189714), +('cQuestSvNotDecideDeliveryItem', 1B8E934, 0x2189694), +('cQuestSvNotEndContentsPlayEnd', 1B8EA54, 0x2189794), +('cQuestSvNotFortDefenseExtraSituation', 1B8ED6C, 0x2189A54), +('cQuestSvNotGetMainQuestList', 1B8EA9C, 0x21897D4), +('cQuestSvNotGetSetQuestList', 1B8E8C8, 0x2189634), +('cQuestSvNotGetWorldMangeQuestLit', 1B8EB2C, 0x2189854), +('cQuestSvNotJoinLobbyQuestInfo', 1B8EBE0, 0x21898F4), +('cQuestSvNotLeaderQuestProgress', 1B8EA78, 0x21897B4), +('cQuestSvNotPackageQuestComplete', 1B8ED24, 0x2189A14), +('cQuestSvNotPackageQuestSequenceBegin', 1B8ECDC, 0x21899D4), +('cQuestSvNotPackageQuestSequenceComplete', 1B8ED00, 0x21899F4), +('cQuestSvNotPartyChangeLeader', 1B8EAC0, 0x21897F4), +('cQuestSvNotPartyQuestComplete', 1B8E8A4, 0x2189614), +('cQuestSvNotPartyQuestProgress', 1B8E880, 0x21895F4), +('cQuestSvNotPlayAddTimer', 1B8EA0C, 0x2189754), +('cQuestSvNotPlayStartTimer', 1B8E9E8, 0x2189734), +('cQuestSvNotPlayTimeup', 1B8EA30, 0x2189774), +('cQuestSvNotQuestCancel', 1B8EB50, 0x2189874), +('cQuestSvNotQuestComplete', 1B8E910, 0x2189674), +('cQuestSvNotQuestEnable', 1B8EB98, 0x21898B4), +('cQuestSvNotQuestMobHuntQuestListNum', 1B8EE20, 0x2189AF4), +('cQuestSvNotQuestOrder', 1B8EB74, 0x2189894), +('cQuestSvNotQuestPhase', 1B8ECB8, 0x21899B4), +('cQuestSvNotQuestProgress', 1B8E85C, 0x21895D4), +('cQuestSvNotQuestProgressWorkSave', 1B8E9A0, 0x21896F4), +('cQuestSvNotQuestSvCancel', 1B8ED90, 0x2189A74), +('cQuestSvNotQuestSvClear', 1B8EDB4, 0x2189A94), +('cQuestSvNotQuestTimer', 1B8E8EC, 0x2189654), +('cQuestSvNotReleaseSetQuestArea', 1B8EC94, 0x2189994), +('cQuestSvNotRestartTimer', 1B8EB08, 0x2189814), +('cQuestSvNotSendLeaderQuestOrderConditionInfo', 1B8EC04, 0x2189914), +('cQuestSvNotSendLeaderWaitOrderQuestList', 1B8EC28, 0x2189934), +('cQuestSvNotSetQuestNavigation', 1B8EDD8, 0x2189AB4), +('cQuestSvNotSetQuestUnreleasedArea', 1B8EC70, 0x2189974), +('cQuestSvNotStopTimer', 1B8EAE4, 0x2189834), +('cQuestSvNotWarMissionGaugeZero', 1B8ED48, 0x2189A34), +('cQuestSvNoticeCallback', 1B8E83C, 0x21895B4), +('cQuestSvNoticeManager', 1B8F834, 0x2189B14), +('cQuestSvReqAddPackageQuestPoint', 1B90860, 0x218A238), +('cQuestSvReqCancelActiveQuest', 1B9034C, 0x2189F18), +('cQuestSvReqCancelNavigationQuest', 1B90998, 0x218A2F8), +('cQuestSvReqCheckQuestDistribution', 1B901E0, 0x2189E38), +('cQuestSvReqCycleContentsPlayEnd', 1B90450, 0x2189FB8), +('cQuestSvReqCycleContentsRoulette', 1B90894, 0x218A258), +('cQuestSvReqDebugMainQuestJump', 1B900A8, 0x2189D78), +('cQuestSvReqDebugQuestForceProgress', 1B900DC, 0x2189D98), +('cQuestSvReqDebugQuestReset', 1B90110, 0x2189DB8), +('cQuestSvReqDebugQuestResetAll', 1B90144, 0x2189DD8), +('cQuestSvReqDecideDeliveryItem', 1B9000C, 0x2189D18), +('cQuestSvReqEndContentsPlayEnd', 1B90484, 0x2189FD8), +('cQuestSvReqEndDistributionQuestCancel', 1B904EC, 0x218A018), +('cQuestSvReqGetActiveQuest', 1B902E4, 0x2189ED8), +('cQuestSvReqGetAdventureGuideQuestList', 1B908FC, 0x218A298), +('cQuestSvReqGetAdventureGuideQuestNotice', 1B90930, 0x218A2B8), +('cQuestSvReqGetAreaBonusList', 1B90728, 0x218A178), +('cQuestSvReqGetAreaInfoList', 1B90248, 0x2189E78), +('cQuestSvReqGetAreaMasterInfo', 1B90588, 0x218A078), +('cQuestSvReqGetAreaQuestInfoList', 1B90554, 0x218A058), +('cQuestSvReqGetBoardBonusList', 1B908C8, 0x218A278), +('cQuestSvReqGetClanQuestList', 1B8FDD0, 0x2189BB8), +('cQuestSvReqGetCycleContentsBorderRewardList', 1B903E8, 0x2189F78), +('cQuestSvReqGetCycleContentsNewsList', 1B9041C, 0x2189F98), +('cQuestSvReqGetCycleContentsNowPointList', 1B901AC, 0x2189E18), +('cQuestSvReqGetCycleContentsPointList', 1B90178, 0x2189DF8), +('cQuestSvReqGetCycleContentsRankingList', 1B90380, 0x2189F38), +('cQuestSvReqGetCycleContentsRankingRewardList', 1B903B4, 0x2189F58), +('cQuestSvReqGetCycleContentsStateList', 1B8FFD8, 0x2189CF8), +('cQuestSvReqGetEndContentsGroup', 1B905BC, 0x218A098), +('cQuestSvReqGetLightQuestList', 1B8FD9C, 0x2189B98), +('cQuestSvReqGetMainQuestCompleteInfo', 1B9027C, 0x2189E98), +('cQuestSvReqGetMainQuestList', 1B8FD34, 0x2189B58), +('cQuestSvReqGetMobHuntQuestList', 1B909CC, 0x218A318), +('cQuestSvReqGetPackageQuestInfoDetail', 1B9082C, 0x218A218), +('cQuestSvReqGetPackageQuestInfoList', 1B907F8, 0x218A1F8), +('cQuestSvReqGetPackageQuestList', 1B907C4, 0x218A1D8), +('cQuestSvReqGetPartyQuestProgressInfo', 1B8FFA4, 0x2189CD8), +('cQuestSvReqGetPawnQuestList', 1B9075C, 0x218A198), +('cQuestSvReqGetQuestCompleteList', 1B90074, 0x2189D58), +('cQuestSvReqGetQuestDetailList', 1B90040, 0x2189D38), +('cQuestSvReqGetQuestLayoutFlag', 1B8FF70, 0x2189CB8), +('cQuestSvReqGetQuestListInfo', 1B90790, 0x218A1B8), +('cQuestSvReqGetQuestPartyBonusList', 1B90624, 0x218A0D8), +('cQuestSvReqGetRankingDataRankByQuestScheduleId', 1B90658, 0x218A0F8), +('cQuestSvReqGetRecommendedQuestInfoList', 1B905F0, 0x218A0B8), +('cQuestSvReqGetSetQuestInfoList', 1B90214, 0x2189E58), +('cQuestSvReqGetSetQuestList', 1B8FD68, 0x2189B78), +('cQuestSvReqGetSetQuestOpenDateList', 1B902B0, 0x2189EB8), +('cQuestSvReqGetTimeLimitedQuestList', 1B8FEA0, 0x2189C38), +('cQuestSvReqGetTutorialQuestList', 1B8FE38, 0x2189BF8), +('cQuestSvReqGetWorldManageQuestList', 1B8FE6C, 0x2189C18), +('cQuestSvReqGpCompleteLightQuestList', 1B8FE04, 0x2189BD8), +('cQuestSvReqLeaderQuestProgress', 1B90520, 0x218A038), +('cQuestSvReqQuestCancel', 1B8FF3C, 0x2189C98), +('cQuestSvReqQuestCompleteFlagClear', 1B9068C, 0x218A138), +('cQuestSvReqQuestOrder', 1B8FED4, 0x2189C58), +('cQuestSvReqQuestProgress', 1B8FF08, 0x2189C78), +('cQuestSvReqSendLeaderQuestOrderConditionInfo', 1B906C0, 0x218A118), +('cQuestSvReqSendLeaderWaitOrderQuestList', 1B906F4, 0x218A158), +('cQuestSvReqSetActiveQuest', 1B90318, 0x2189EF8), +('cQuestSvReqSetNavigationQuest', 1B90964, 0x218A2D8), +('cQuestSvReqStartQuestTime', 1B904B8, 0x2189FF8), +('cQuestSvRequestManager', 1B9173C, 0x218A348), +('cQuestSyncDataManager', 1B91C28, 0x218A378), +('cQuestTask', 1C07200, 0x2195564), +('cQuestTask::cDeliveryItemInfo', 1C07288, 0x2195624), +('cQuestTask::cEnemyGroupInfo', 1C072DC, 0x21955A4), +('cQuestTask::cLayoutFlagInfo', 1C0730C, 0x21955C4), +('cQuestTask::cLayoutFlagInfo::cSetInfo', 1C07328, 0x21955E4), +('cQuestTask::cLeaderQuestProgress', 1C07344, 0x2195684), +('cQuestTask::cQuestOmTargetData', 1C07188, 0x2195584), +('cQuestTask::cQuestProcess', 1B8D870, 0x2189494), +('cQuestTaskParam', 1B9216C, 0x218A39C), +('cQuestTimerKeep', 1B921A4, 0x218A3DC), +('cQuestUnitGroup', 1B926C8, 0x218A410), +('cQuestUnitManager', 1B926F8, 0x218A430), +('cRage', 1BED9D0, 0x21935C8), +('cReaction', 1B0D778, 0x21AC508), +('cReaction::cAction', 1C6CDA0, 0x21AC4E8), +('cReaction::cCondition', 1C6CD68, 0x21AC4A8), +('cReaction::cTrigger', 1C6CD84, 0x21AC4C8), +('cRecommendDragonSkill', 1C6CED8, 0x21AC548), +('cRegionBreakInfo', 1C6CFDC, 0x21AC588), +('cRegionStatusCtrlTable', 1C73C90, 0x21ADA44), +('cRemoteCall', 20C7FD0, 0x2205ECC), +('cRemoteProcedureAsync', 20C7F4C, 0x2205E8C), +('cRemoteProcedureAsync::MsgMTFN_Async', 20C7F30, 0x2205EAC), +('cReplaceWardGmdList', 1C6D0E0, 0x21AC5C8), +('cRoomWearParam', 1C6D674, 0x21AC608), +('cS32Integer', 1C477AC, 0x21A7DF8), +('cSTFDNLight', 1DA5C9C, 0x21CF3AC), +('cSTFDayNightColorFogEm021004', 1DA4794, 0x21CF098), +('cSTFFilter', 1AEDB5C, 0x217DAA8), +('cSTFFilterAfterlife', 1DA3934, 0x21CEE14), +('cSTFFilterEm021004', 1DA3974, 0x21CEE54), +('cSTFFilterEvilEye', 1DA38F4, 0x21CEDF4), +('cSTFFilterParam', 1AEDB9C, 0x217DAC8), +('cSTFFilterParamBloom', 1AEDD28, 0x21CEFF4), +('cSTFFilterParamColorCorrect', 1AEDD04, 0x21CEF94), +('cSTFFilterParamDOF', 1AEDCE0, 0x21CEE34), +('cSTFFilterParamHaze', 1AEDCBC, 0x21CEEB4), +('cSTFInfLEnemyActionSpritDragon', 1DA61A8, 0x21CF42C), +('cSTFLight', 1AEDA7C, 0x217DA28), +('cSTFLightDarkSky', 1DA5D64, 0x21CF40C), +('cSTFLightExt', 1AEDAF0, 0x217DA68), +('cSTFLightExtEm021004', 1D670A0, 0x21CBB3C), +('cSTFLightExtParam', 1AEDB30, 0x217DA88), +('cSTFLightExtParamInfinite', 1AEDC98, 0x21CBB5C), +('cSTFLightParam', 1AEDABC, 0x217DA48), +('cSTFLightParamBlink', 1DA5C00, 0x21CF4AC), +('cSTFLightParamDayNight', 1DA5BCC, 0x21CF48C), +('cSTFLightParamPoint', 1DA5C34, 0x21CF4CC), +('cSTFLightParamSpot', 1DA5C68, 0x21CF4EC), +('cSTFLightParamVisible', 1DA5B98, 0x21CF46C), +('cSTFLightSetManager', 1DA5CDC, 0x21CF3CC), +('cSTFLightSetManagerTimeChangeSpot', 1DA5D20, 0x21CF3EC), +('cSTFShadowExt', 1AEDBC8, 0x217DAE8), +('cSTFShadowExtEm021004', 1D6FE3C, 0x21CCA04), +('cSTFShadowExtParam', 1AEDC08, 0x217DB08), +('cSTFShadowExtParamStable', 1AEDD4C, 0x21CCA24), +('cSTFSkyFog', 1AEDC34, 0x217DB28), +('cSTFSkyFogParam', 1AEDC74, 0x217DB48), +('cSTFSkyFogParamDayNight', 1AEDD70, 0x21CF0D8), +('cSTFSpotLEnemyActionSpritDragon', 1DA61E8, 0x21CF44C), +('cScenario', 1C07E0C, 0x21956A8), +('cScenarioArg', 1C07E50, 0x21956E8), +('cScenarioArg_AreaJump', 1C083B8, 0x2195738), +('cScenarioArg_BootFSM', 1C083D8, 0x2195758), +('cScenarioArg_Camera', 1C08398, 0x2195718), +('cScenarioData', 1C7612C, 0x21ADFA0), +('cScenarioParam', 1C07E30, 0x21956C8), +('cSeedGameSvConnection', 1BC5C38, 0x2191244), +('cSeedLoginSvConnection', 1BD6AF8, 0x2191374), +('cSeedServerStream', 1C08930, 0x2195778), +('cServerUIClientControl', 1B42B24, 0x2187B7C), +('cSetFurnitureWk', 1DAAFB4, 0x21CF798), +('cSetInfoCharacter', 1C08F60, 0x21957DC), +('cSetInfoCoord', 1C09468, 0x2195804), +('cSetInfoEnemy', 1C099E8, 0x219582C), +('cSetInfoEnemyLinked', 1C09A28, 0x219584C), +('cSetInfoGeneralPoint', 1C09AE0, 0x219586C), +('cSetInfoNpc', 1C09FE8, 0x2195894), +('cSetInfoOm', 1C0A638, 0x21958C8), +('cSetInfoOm511380', 1B38CD8, 0x2186CBC), +('cSetInfoOm511380::omLOT', 1B38CC4, 0x2186C9C), +('cSetInfoOmActText', 1C0AB48, 0x2195B08), +('cSetInfoOmBadStatus', 1C0AD90, 0x2195C08), +('cSetInfoOmBlock', 1C0AE68, 0x2195C68), +('cSetInfoOmBoard', 1C0A998, 0x2195A48), +('cSetInfoOmBowlOfLife', 1C0ACB0, 0x2195BA8), +('cSetInfoOmBreakHeal', 1B38650, 0x2186C08), +('cSetInfoOmBreakHeal::omLOT', 1B3863C, 0x2186BE8), +('cSetInfoOmBreakRecovery', 1C0AE20, 0x2195C48), +('cSetInfoOmBreakTarget', 1C0ADD8, 0x2195C28), +('cSetInfoOmCannon', 1C0A710, 0x2195928), +('cSetInfoOmCtrl', 1C0AD18, 0x2195BC8), +('cSetInfoOmCtrl::cLinkParam', 1C0ACF8, 0x2195BE8), +('cSetInfoOmDoor', 1C0A878, 0x21959C8), +('cSetInfoOmElfSW', 1C0AA28, 0x2195A88), +('cSetInfoOmEx', 1C0A680, 0x21958E8), +('cSetInfoOmFall', 1C0AA70, 0x2195AA8), +('cSetInfoOmFlagMapMarker', 1B39D10, 0x218716C), +('cSetInfoOmFlagMapMarker::omLOT', 1B39CFC, 0x218714C), +('cSetInfoOmGather', 1C0A758, 0x2195948), +('cSetInfoOmGauge', 1B3A378, 0x21871FC), +('cSetInfoOmGauge::omLOT', 1B3A360, 0x21871DC), +('cSetInfoOmGrp', 1B3A3E0, 0x218723C), +('cSetInfoOmGrp::omLOT', 1B3A3C8, 0x218721C), +('cSetInfoOmGrpID', 1B3A448, 0x218727C), +('cSetInfoOmGrpID::omLOT', 1B3A430, 0x218725C), +('cSetInfoOmHakuryuu', 1C0AC68, 0x2195B88), +('cSetInfoOmHeal', 1C0A7E8, 0x2195988), +('cSetInfoOmHugeRimShl', 1B36F80, 0x2186B08), +('cSetInfoOmHugeRimShl::omLOT', 1B36F6C, 0x2186AE8), +('cSetInfoOmLadder', 1C0A830, 0x21959A8), +('cSetInfoOmLever', 1C0AC20, 0x2195B68), +('cSetInfoOmLimitWarp', 1C0A950, 0x2195A28), +('cSetInfoOmMagmaFall', 1B362A8, 0x21868B4), +('cSetInfoOmMagmaFall::omLOT', 1B36294, 0x2186894), +('cSetInfoOmMagmaSpring', 1B3B070, 0x218737C), +('cSetInfoOmMagmaSpring::omLOT', 1B3B05C, 0x218735C), +('cSetInfoOmNav', 1C0A7A0, 0x2195968), +('cSetInfoOmOldDoor', 1C0A8C0, 0x21959E8), +('cSetInfoOmOneWay', 1C0AEB0, 0x2195C88), +('cSetInfoOmPLJump', 1C0AB90, 0x2195B28), +('cSetInfoOmPlCannon', 1C0AEF8, 0x2195CA8), +('cSetInfoOmRange', 1C0AAB8, 0x2195AC8), +('cSetInfoOmRimWarp', 1B3AAB0, 0x218730C), +('cSetInfoOmRimWarp::omLOT', 1B3AA98, 0x21872EC), +('cSetInfoOmRisingMagma', 1B36138, 0x21867F4), +('cSetInfoOmRisingMagma2', 1B361F0, 0x2186854), +('cSetInfoOmRisingMagma2::omLOT', 1B361DC, 0x2186834), +('cSetInfoOmRisingMagma::omLOT', 1B36124, 0x21867D4), +('cSetInfoOmText', 1C0AB00, 0x2195AE8), +('cSetInfoOmTimer', 1C0A6C8, 0x2195908), +('cSetInfoOmTreasureBox', 1C0A9E0, 0x2195A68), +('cSetInfoOmTreasureBoxG', 1BFD7D0, 0x2194D64), +('cSetInfoOmTreasureBoxG::omLOT', 1BFD7BC, 0x2194D44), +('cSetInfoOmVolcano', 1B36080, 0x2186794), +('cSetInfoOmVolcano::omLOT', 1B3606C, 0x2186774), +('cSetInfoOmWall', 1C0ABD8, 0x2195B48), +('cSetInfoOmWarp', 1C0A908, 0x2195A08), +('cSetInfoOmWarpFX', 1B36DC0, 0x2186A48), +('cSetInfoOmWarpFX::omLOT', 1B36DA8, 0x2186A28), +('cSetInfoOmXXX', 1B3D648, 0x218750C), +('cSetInfoOmXXX::omLOT', 1B3D634, 0x21874EC), +('cSetMgrFlag', 1B42C18, 0x2187BA0), +('cSetMgrFlagDarkOrdeal', 1B42CF4, 0x2187C40), +('cSetMgrFlagDarkTreasure', 1B42D20, 0x2187C60), +('cSetMgrFlagEnemyLinked', 1B42CC8, 0x2187C20), +('cSetMgrFlagSeasonDungeon', 1B42C70, 0x2187BE0), +('cSetMgrFlagSoulOrdeal', 1B42C9C, 0x2187C00), +('cSetMgrFlagTimeChange', 1B42C44, 0x2187BC0), +('cSetQuestManager', 1C0BAD0, 0x2195CD8), +('cSetQuestManager::cMemberInfo', 1C0BB20, 0x2195CF8), +('cShakeCtrl', 1C6D80C, 0x21AC648), +('cShlBakuensenLogNode', 1D77590, 0x21CCF88), +('cShlBreathSCRCheckPosInfo', 1D7AF00, 0x21CD220), +('cShlConditionInfo', 1B3E8C4, 0x21CD288), +('cShlConnectLineGame', 1D83530, 0x21CD800), +('cShlConnectLineInfo', 1D834F4, 0x21CD7E0), +('cShlFuwaFuwaCtrl2', 1B92C2C, 0x218A474), +('cShlFuwaFuwaInfo2', 1B92C10, 0x218A454), +('cShlGravityHitInfo', 1D89BC0, 0x21CDC5C), +('cShlGroupParam', 1C749B0, 0x21ADB4C), +('cShlHomingEmCtrlParam', 1D78170, 0x21CDE0C), +('cShlLimit', 1C6D908, 0x21AC688), +('cShlLogNode', 1D929F0, 0x21CE1A4), +('cShlNotifyInfo', 1C0C030, 0x2195D1C), +('cShlParam020702BladeShot', 1CDD074, 0x21C3D80), +('cShlParam021004MainMagic01', 1D70BB4, 0x21CCA6C), +('cShlParam021004MainMagic02', 1D70F04, 0x21CCAAC), +('cShlParam021004SubEnchant', 1D71BC8, 0x21CCBAC), +('cShlParam021004SubMagic03', 1D71234, 0x21CCAEC), +('cShlParam021004SubMagic04', 1D71894, 0x21CCB6C), +('cShlParam021004ThunderBall', 1D71560, 0x21CCB2C), +('cShlParamAlchemColBase', 1D76924, 0x21CCEE4), +('cShlParamAlchemColEnchant', 1D76CCC, 0x21CCF24), +('cShlParamAlchemColTrapAttack', 1D77034, 0x21CCF64), +('cShlParamAlchemy', 1D728A4, 0x21CCBF0), +('cShlParamAlchemyCS03', 1D72C0C, 0x21CCC30), +('cShlParamAlchemyCS03::cDamageAlchemyValueInfo', 1D72BDC, 0x21CCC50), +('cShlParamAlchemyCS03Ex01', 1D72F6C, 0x21CCC90), +('cShlParamAlchemyObj', 1D73940, 0x21CCCD4), +('cShlParamAlchemyTrap', 1D74298, 0x21CCD18), +('cShlParamAlchemyTrap::cTrapAttackShlInfo', 1D74270, 0x21CCD38), +('cShlParamAlchemyTrapAttack', 1D74608, 0x21CCD78), +('cShlParamArrow', 1D74ED4, 0x21CCDBC), +('cShlParamArrowInc', 1D75200, 0x21CCDFC), +('cShlParamArrowRainCtrl', 1D75A90, 0x21CCE40), +('cShlParamArrowRainCtrl::cShootCtrlParamArrowRainCtrl', 1D75A7C, 0x21CCE60), +('cShlParamBakuensen', 1D778C4, 0x21CCFC8), +('cShlParamBakuensenSpark', 1D77BF0, 0x21CD008), +('cShlParamBaphoElementAtk', 1D78578, 0x21CD04C), +('cShlParamBaphoEnlargeHit', 1D78BD8, 0x21CD0CC), +('cShlParamBase', 1CCEE94, 0x21CD114), +('cShlParamBlackLindwurmWingMist', 1D7A038, 0x21CD178), +('cShlParamBreath', 1D7A894, 0x21CD1BC), +('cShlParamCatoblepasBase', 1D9D95C, 0x21CE948), +('cShlParamCatoblepasBreath', 1D7B234, 0x21CD200), +('cShlParamCatoblepasCannon', 1D9DC9C, 0x21CE988), +('cShlParamCatoblepasHeadSmoke', 1D9DFDC, 0x21CE9C8), +('cShlParamCatoblepasStorm', 1DA1ADC, 0x21CEC84), +('cShlParamCompCollision', 1B3EA34, 0x218770C), +('cShlParamCompCondition', 1B3F044, 0x2187770), +('cShlParamCompConditionJob10Cs08', 1B3F6F4, 0x21877D4), +('cShlParamCompCustomCondition', 1B3F0E4, 0x2187790), +('cShlParamCompKeyFrame', 1B3FC60, 0x2187818), +('cShlParamCompList', 1B4035C, 0x218789C), +('cShlParamCompSelectorJob10Cs08', 1B408E8, 0x21878E0), +('cShlParamComponent', 1B3E99C, 0x21876CC), +('cShlParamComponentCtrl', 1D7BB10, 0x21CD264), +('cShlParamConditionBase', 1D7C998, 0x21CD308), +('cShlParamConditionFollowMove', 1D7C9E4, 0x21CD328), +('cShlParamConditionStick', 1D7CA38, 0x21CD348), +('cShlParamConstErosion', 1D96A40, 0x21CE4BC), +('cShlParamContaminateCrystal', 1D7D230, 0x21CD38C), +('cShlParamCreepHoming', 1D7DA7C, 0x21CD3D0), +('cShlParamCustomConditionBase', 1D7E584, 0x21CD434), +('cShlParamCustomConditionFollowMove', 1D7E5B8, 0x21CD454), +('cShlParamCustomSpline', 1D7EE5C, 0x21CD498), +('cShlParamDamageSync', 1D802A0, 0x21CD580), +('cShlParamDamageSyncBreak', 1D805D0, 0x21CD5C0), +('cShlParamDamageSyncCtrl', 1D7FF70, 0x21CD540), +('cShlParamDeathLantern', 1CCF880, 0x21C3108), +('cShlParamDividedCalled', 1D7F728, 0x21CD4DC), +('cShlParamDividedCalled::cDividedCalledParam', 1D7F710, 0x21CD4FC), +('cShlParamElemntCover', 1D80EC4, 0x21CD604), +('cShlParamEnchant', 1D762F0, 0x21CD6F0), +('cShlParamEnergyCharge', 1D82960, 0x21CD738), +('cShlParamEnlargeAtk', 1D788A8, 0x21CD08C), +('cShlParamEvilEyeBase', 1D83194, 0x21CD780), +('cShlParamEvilEyeDamageSyncCtrl', 1D834C0, 0x21CD7C0), +('cShlParamFireWallCtrl', 1D847D8, 0x21CD904), +('cShlParamFollowMove', 1D7C018, 0x21CD94C), +('cShlParamFollowMoveBomb', 1D83868, 0x21CD880), +('cShlParamFollowMoveBombExplosion', 1D83B9C, 0x21CD8C0), +('cShlParamFollowMoveWarOrc', 1D858B8, 0x21CD994), +('cShlParamFriendSupport', 1D860E8, 0x21CD9D8), +('cShlParamFuwaFuwa2', 1D8698C, 0x21CDA20), +('cShlParamGeneAlongGround', 1D871BC, 0x21CDA64), +('cShlParamGeneErosionTentacle', 1D87A74, 0x21CDAA8), +('cShlParamGeneErosionTentacle::cShootCtrlParamGeneErosionTentacle', 1D87A60, 0x21CDAC8), +('cShlParamGeneOwnerJoint', 1D70548, 0x21CDB0C), +('cShlParamGeneTarget', 1D89368, 0x21CDBD8), +('cShlParamGeneTarget::cShootCtrlParamGeneTarget', 1D89354, 0x21CDBF8), +('cShlParamGenerator', 1D7048C, 0x21CDB74), +('cShlParamGenerator::cShootCtrlParam', 1D70478, 0x21CDB94), +('cShlParamGravity', 1D89BDC, 0x21CDC3C), +('cShlParamHermiteY', 1D97CA4, 0x21CE544), +('cShlParamHitReactionConditionStick', 1D8AABC, 0x21CDD24), +('cShlParamHitReactionSpline', 1D8A444, 0x21CDCA4), +('cShlParamHitReactionStick', 1D8A780, 0x21CDCE4), +('cShlParamHoming', 1CDBE18, 0x21CDD68), +('cShlParamHomingEm', 1D78234, 0x21CDDEC), +('cShlParamIntervalHitBase', 1D8CB40, 0x21CDE70), +('cShlParamIntervalHitStick', 1D8CB90, 0x21CDE90), +('cShlParamJob04CS14', 1D8D494, 0x21CDED4), +('cShlParamJob06CS12', 1D8DC98, 0x21CDF18), +('cShlParamJob06CS13', 1D8E57C, 0x21CDF5C), +('cShlParamJob06CS14', 1D8ED80, 0x21CDFA0), +('cShlParamJob08CS12Npc', 1D8B6A4, 0x21CDDA8), +('cShlParamJob08CS13', 1D9592C, 0x21CE3F4), +('cShlParamJob08Cs05Ex02Stick', 1D8F588, 0x21CDFE4), +('cShlParamJob08Cs12Homing', 1D99214, 0x21CE688), +('cShlParamJob08Cs12Pad', 1D991E0, 0x21CE648), +('cShlParamJob09CS11', 1D900E0, 0x21CE028), +('cShlParamJob09CS11Alchem', 1D76958, 0x21CCEA4), +('cShlParamJob09CS11Blow', 1D90410, 0x21CE068), +('cShlParamJob10CS04', 1D90C58, 0x21CE0B0), +('cShlParamJob10CS06', 1D9147C, 0x21CE0F8), +('cShlParamJob10CS07', 1D91C80, 0x21CE13C), +('cShlParamJob11MarkUp', 1D924E0, 0x21CE180), +('cShlParamKeepLog', 1D92D34, 0x21CE1E4), +('cShlParamKeyFrameBase', 1D935F8, 0x21CE248), +('cShlParamKeyFrameSpeed', 1D900AC, 0x21CE268), +('cShlParamLaser', 1D93E10, 0x21CE2AC), +('cShlParamLineConnectCtrl', 1D70880, 0x21CD840), +('cShlParamMeteo', 1D94D30, 0x21CE370), +('cShlParamMeteoCtrl', 1D949FC, 0x21CE330), +('cShlParamMgcArrow', 1D955E4, 0x21CE3B4), +('cShlParamMgcArrowErosion', 1D96714, 0x21CE43C), +('cShlParamMgcArrowErosionCtrl', 1D963C8, 0x21CE47C), +('cShlParamMultiLock', 1D81A88, 0x21CD66C), +('cShlParamMultiLock::cRangePointTbl', 1D81A70, 0x21CD68C), +('cShlParamMultiLock::cShootCtrlParamMultiLock', 1D81A54, 0x21CD6AC), +('cShlParamNotifyCatch', 1D97434, 0x21CE500), +('cShlParamOmCannon', 1D97FE4, 0x21CE584), +('cShlParamOmPlCannon', 1D98324, 0x21CE5C4), +('cShlParamPadCtrl', 1D991AC, 0x21CE608), +('cShlParamPendularMovementLaser', 1D94140, 0x21CE2EC), +('cShlParamPhoenixDragonBase', 1D99AB4, 0x21CE6CC), +('cShlParamPhoenixDragonMissile', 1D99DE0, 0x21CE70C), +('cShlParamReflectWall', 1D9A774, 0x21CE750), +('cShlParamRenmadanCtrl', 1D9B34C, 0x21CE798), +('cShlParamRenmadanCtrl::cRenmaSubCtrlParam', 1D9B334, 0x21CE7F8), +('cShlParamRenmadanMain', 1D9B2F8, 0x21CE7D8), +('cShlParamShiftCircleBit', 1D9BC58, 0x21CE83C), +('cShlParamShortCharge', 1D9C4E8, 0x21CE880), +('cShlParamShortChargeRe', 1D9C818, 0x21CE8C0), +('cShlParamSpeed', 1CDBDEC, 0x21CE904), +('cShlParamSpeedWarOrc', 1D9E9EC, 0x21CEA0C), +('cShlParamSpline', 1D7EB24, 0x21CEA50), +('cShlParamSpline::cSplineShlNodeParam', 1D7EB10, 0x21CEA70), +('cShlParamSpread', 1D9FA90, 0x21CEAB4), +('cShlParamStateSurveillance', 1DA0318, 0x21CEB18), +('cShlParamStick', 1D72568, 0x21CEC00), +('cShlParamStickCtrl', 1DA0E9C, 0x21CEBC0), +('cShlParamStickCtrl2', 1DA0ED0, 0x21CEBE0), +('cShlParamTarasukuLight', 1DA1794, 0x21CEC44), +('cShlParamWraith', 1DA268C, 0x21CECC8), +('cShlParamWraithBlood', 1DA26C0, 0x21CED08), +('cShootCtrlParam', 1C3DBC0, 0x21A701C), +('cShootCtrlParamGeneOwnerJoint', 1D704D8, 0x21CDB2C), +('cShopGoods', 1C74AA0, 0x21ADB8C), +('cShopGoods::rDate', 1C74A84, 0x21ADBAC), +('cShotReqInfo', 1C74BF8, 0x21ADBEC), +('cShotReqInfo2', 1C6DAF8, 0x21AC708), +('cShrinkBlowValue', 1C4EF60, 0x21A8A90), +('cSndPitchLimitData', 1C6DEDC, 0x21AC808), +('cSoundGeneratorLayoutInfo', 1DABE18, 0x21CF9B0), +('cSoundGeneratorListener', 1DABE40, 0x21CF9D0), +('cSoundLayoutInfo', 1DAD4E0, 0x21CFD7C), +('cSoundMultiBandEQ', 20D27A4, 0x2208F70), +('cSoundOcclusionLayoutInfo', 1DAC284, 0x21CFAD4), +('cSoundOcclusionListener', 1DAC2AC, 0x21CFAF4), +('cSoundOptData', 1C6E008, 0x21AC84C), +('cSoundParamOfs', 1C75808, 0x21ADCD4), +('cSoundTriggerLayoutInfo', 1DACD80, 0x21CFCFC), +('cSoundTriggerListener', 1DACDA8, 0x21CFD1C), +('cSoundZoneListener', 1DAD4B0, 0x21CFD5C), +('cSplitArc', 1C0C548, 0x2195D90), +('cSplitBase', 1C0C510, 0x2195D50), +('cSplitBgm', 1CA2020, 0x21C0D3C), +('cSplitLot', 1C0C52C, 0x2195D70), +('cSpotEnemyData', 1C4C25C, 0x21A86C8), +('cSpotItemData', 1C4C240, 0x21A86A8), +('cStageCtrl', 1C0C5FC, 0x2195DD0), +('cStageCtrl::Area', 1C0C5CC, 0x2195DB0), +('cStageEpvCtrl', 1C0CB20, 0x2195DF4), +('cStageMap', 1C6EFDC, 0x21ACA1C), +('cStageMap::cParam', 1C6EFAC, 0x21ACA5C), +('cStageToSpot', 1C6F128, 0x21ACA7C), +('cStaminaCtrl', 1C0D000, 0x2195E24), +('cStaminaDecList', 1C771F4, 0x21AE17C), +('cStaminaDecParam', 1C771C4, 0x21AE15C), +('cStartPosArea', 1C6F224, 0x21ACABC), +('cStateActBringOM', 1C11FD0, 0x2196934), +('cStateActCatapult', 1C11F80, 0x21968F4), +('cStateActCatch', 1C0D584, 0x2195ED8), +('cStateActCaught', 1C0D5D4, 0x2195F18), +('cStateActCliff', 1C11C10, 0x2196654), +('cStateActClimbLadder', 1C12048, 0x2196994), +('cStateActClutch', 1C0D55C, 0x2195EB8), +('cStateActClutched', 1C0D5AC, 0x2195EF8), +('cStateActDead', 1C11C60, 0x2196694), +('cStateActDodgeAction', 1C12070, 0x21969B4), +('cStateActEnemyClimb', 1C11C38, 0x2196674), +('cStateActJob01AttackL', 1C11F58, 0x21968D4), +('cStateActJob04CircleShift', 1C120E8, 0x21969D4), +('cStateActJob05CS08', 1C12098, 0x21967F4), +('cStateActJob05CS12', 1C120C0, 0x2196814), +('cStateActJob07AttackL', 1C11EB8, 0x2196874), +('cStateActJob07Custom11', 1C11F08, 0x21968B4), +('cStateActJob07Endure', 1C11EE0, 0x2196894), +('cStateActJobLeoAttackL', 1C12250, 0x2196AF4), +('cStateActPutLever', 1C12020, 0x2196974), +('cStateActSittingChair', 1C11FF8, 0x2196954), +('cStateActStaminaOut', 1C11E90, 0x2196834), +('cStateAction', 1C0D534, 0x2195E98), +('cStateBow', 1C11FA8, 0x2196914), +('cStateBringPhotoSphere', 1C12200, 0x2196AB4), +('cStateChantBase', 1C11DF0, 0x2196634), +('cStateCondition', 1C0D71C, 0x2196038), +('cStateDamage', 1C0D6F4, 0x2196018), +('cStateEm015400Base', 1CCC10C, 0x21C2D44), +('cStateEm015400FogAppear', 1CCC15C, 0x21C2DC4), +('cStateEm015400FogDrawOff', 1CCC184, 0x21C2DE4), +('cStateEm015400FogHide', 1CCC134, 0x21C2DA4), +('cStateEm015720Base', 1B43300, 0x2187C84), +('cStateEm015720SBC', 1B43328, 0x2187CA4), +('cStateEm022000Base', 1CE11AC, 0x21C4160), +('cStateEm022000FinDisp', 1CE11D4, 0x21C4180), +('cStateEnemy2LegActAir', 1C0E3C0, 0x2196140), +('cStateEnemy2LegActDead', 1C0E3E8, 0x2196160), +('cStateEnemy2LegActGround', 1C0E398, 0x2196120), +('cStateEnemy2LegFlyLActAir', 1C0E938, 0x21961A4), +('cStateEnemy2LegFlyLActDead', 1C0E960, 0x21961C4), +('cStateEnemy2LegFlyLActGround', 1C0E910, 0x2196184), +('cStateEnemy2LegFlySActAir', 1C0EEB8, 0x2196208), +('cStateEnemy2LegFlySActDead', 1C0EEE0, 0x2196228), +('cStateEnemy2LegFlySActGround', 1C0EE90, 0x21961E8), +('cStateEnemy2LegLActAir', 1C0F438, 0x219626C), +('cStateEnemy2LegLActDead', 1C0F460, 0x219628C), +('cStateEnemy2LegLActGround', 1C0F410, 0x219624C), +('cStateEnemy4LegActAir', 1C0F9B0, 0x21962D0), +('cStateEnemy4LegActDead', 1C0F9D8, 0x21962F0), +('cStateEnemy4LegActGround', 1C0F988, 0x21962B0), +('cStateEnemy4LegFlyLActAir', 1C0FF28, 0x2196334), +('cStateEnemy4LegFlyLActDead', 1C0FF50, 0x2196354), +('cStateEnemy4LegFlyLActGround', 1C0FF00, 0x2196314), +('cStateEnemy4LegLActAir', 1C104A8, 0x2196398), +('cStateEnemy4LegLActDead', 1C104D0, 0x21963B8), +('cStateEnemy4LegLActGround', 1C10480, 0x2196378), +('cStateEnemyActAir', 1C0DDC8, 0x219609C), +('cStateEnemyActDead', 1C0DDF0, 0x21960BC), +('cStateEnemyActFlight', 1C0DE40, 0x21960FC), +('cStateEnemyActGround', 1C0DDA0, 0x219607C), +('cStateEnemyActHover', 1C0DE18, 0x21960DC), +('cStateEnemyBase', 1C0DD78, 0x219605C), +('cStateEnemyFloatActAir', 1C10A20, 0x21963FC), +('cStateEnemyFloatActDead', 1C10A48, 0x219641C), +('cStateEnemyFloatActGround', 1C109F8, 0x21963DC), +('cStateEnemyPeaceActAir', 1C10F98, 0x2196460), +('cStateEnemyPeaceActDead', 1C10FC0, 0x2196480), +('cStateEnemyPeaceActGround', 1C10F70, 0x2196440), +('cStateEnemyPeaceLActAir', 1C11010, 0x21964C0), +('cStateEnemyPeaceLActDead', 1C11038, 0x21964E0), +('cStateEnemyPeaceLActGround', 1C10FE8, 0x21964A0), +('cStateEnemyWeakActAir', 1C115D8, 0x2196524), +('cStateEnemyWeakActDead', 1C11600, 0x2196544), +('cStateEnemyWeakActGround', 1C115B0, 0x2196504), +('cStateEnemyWeakLActAir', 1C11650, 0x2196584), +('cStateEnemyWeakLActDead', 1C11678, 0x21965A4), +('cStateEnemyWeakLActGround', 1C11628, 0x2196564), +('cStateHumanBase', 1C11BE8, 0x21965D4), +('cStateInfo', 1C0D4F0, 0x2195E58), +('cStateJob01Guard', 1C11D78, 0x2196754), +('cStateJob02Wire', 1C11DA0, 0x21966D4), +('cStateJob02_CS01', 1C11DC8, 0x21966F4), +('cStateJob04ChantCircle', 1C11E68, 0x2196714), +('cStateJob05ElementChange', 1C11CB0, 0x2196794), +('cStateJob05ElementChangeA', 1C11CD8, 0x21967B4), +('cStateJob05ElementChangeB', 1C11D00, 0x21967D4), +('cStateJob05Guard', 1C11D50, 0x2196734), +('cStateJob05GuardImpact', 1C12160, 0x2196A34), +('cStateJob05Provoke', 1C11D28, 0x2196774), +('cStateJob09ElementChange', 1C12110, 0x21969F4), +('cStateJob09GoldBody', 1C12138, 0x2196A14), +('cStateJob10LimitBreak', 1C12188, 0x2196A54), +('cStateJob11OverBraid', 1C121D8, 0x2196A94), +('cStateJobLeoGuard', 1C12228, 0x2196AD4), +('cStateLiveAlive', 1C0D604, 0x2195F58), +('cStateLiveInjured', 1C0D62C, 0x2195F78), +('cStateLiveLost', 1C0D654, 0x2195F98), +('cStateLiveLostEnd', 1C0D67C, 0x2195FB8), +('cStateLiveRespawn', 1C0D6A4, 0x2195FD8), +('cStateLiveReturnTerritory', 1C0D6CC, 0x2195FF8), +('cStateMachineBase::StateBase', 20DA18C, 0x220AF94), +('cStateMagicChant', 1C11E18, 0x21965F4), +('cStateMagicShot', 1C11E40, 0x2196614), +('cStateSiteAct', 1C121B0, 0x2196A74), +('cStateSlipSlope', 1C11C88, 0x21966B4), +('cStateTransitionFromGameInfo', 1AEDA48, 0x217DA08), +('cStateWallClimb', 1C11F30, 0x2196854), +('cStatusCheck', 1C6F7C8, 0x21ACB00), +('cStatusGain', 1C7733C, 0x21AE1FC), +('cStockFurnitureWk', 1DAAFD0, 0x21CF7B8), +('cStorageData', 1C9E8CC, 0x21C0998), +('cStorageDataBase', 1C9E898, 0x21C0978), +('cStorageDataEdit', 1C9E900, 0x21C09B8), +('cSubAct021004', 1B0C2E0, 0x2182048), +('cSubActMgr021004', 1AEED34, 0x2182028), +('cSubAction', 1B0C2B0, 0x2187CC4), +('cSubActionManager', 1B43380, 0x2187CE4), +('cSwing', 20D11A4, 0x2208880), +('cSwingModel', 20D11CC, 0x22088A0), +('cSystemCheck', 1B931D8, 0x218A4A4), +('cTalkMsgData', 1C12674, 0x2196B14), +('cTalkStateAcceptReward', 1B93BC8, 0x218A4F8), +('cTalkStateAchievement', 1B4387C, 0x2187D14), +('cTalkStateAdvGuide', 1B43D78, 0x2187D44), +('cTalkStateAppStaff', 1B44270, 0x2187D74), +('cTalkStateAppraise', 1B940F0, 0x218A528), +('cTalkStateAreaMaster', 1B945E8, 0x218A558), +('cTalkStateAreaUp0300', 1B44778, 0x2187DA4), +('cTalkStateBase', 1B94AE0, 0x218A588), +('cTalkStateBazaar', 1B94FD0, 0x218A5B8), +('cTalkStateBeautyParlor', 1B954C8, 0x218A5E8), +('cTalkStateBoxGacha', 1B44C70, 0x2187DD4), +('cTalkStateBuyRushRight', 1B45168, 0x2187E04), +('cTalkStateClanBaseManage', 1B45660, 0x2187E34), +('cTalkStateClanBaseRelease', 1B45BA0, 0x2187E64), +('cTalkStateClanDungeon', 1B460A0, 0x2187E94), +('cTalkStateClanMake', 1B959C0, 0x218A618), +('cTalkStateCraft', 1B95EB8, 0x218A648), +('cTalkStateCreateMyPawn', 1B963A8, 0x218A678), +('cTalkStateCycle', 1B968A0, 0x218A6A8), +('cTalkStateCycleSelect', 1B96D90, 0x218A6D8), +('cTalkStateDPShop', 1B9C440, 0x218AB28), +('cTalkStateDailyMission', 1B46598, 0x2187EC4), +('cTalkStateDispel', 1B46A90, 0x2187EF4), +('cTalkStateDragonSkillMix', 1B46F88, 0x2187F24), +('cTalkStateEffectSealed', 1B47488, 0x2187F54), +('cTalkStateEmbodying', 1B47980, 0x2187F84), +('cTalkStateEndQuest', 1B97288, 0x218A708), +('cTalkStateEquipEnhance', 1B47E78, 0x2187FB4), +('cTalkStateEquipRecycle', 1B48370, 0x2187FE4), +('cTalkStateGUIPackageQuest', 1B48868, 0x2188014), +('cTalkStateGacha', 1B97780, 0x218A738), +('cTalkStateGrandMission', 1B97C70, 0x218A768), +('cTalkStateGreeting', 1B98170, 0x218A798), +('cTalkStateHOrbShop', 1B9C4D0, 0x218AB88), +('cTalkStateHistory', 1B98690, 0x218A7C8), +('cTalkStateInfDelEvt', 1B48D68, 0x2188044), +('cTalkStateInfDelViewAll', 1B49260, 0x2188074), +('cTalkStateInfDelViewCategory', 1B497C0, 0x21880A4), +('cTalkStateInfDelViewReward', 1B49CE0, 0x21880D4), +('cTalkStateInfinityDeliver', 1B4A238, 0x2188104), +('cTalkStateInn', 1B98B88, 0x218A7F8), +('cTalkStateJobEmblem', 1B4A768, 0x2188134), +('cTalkStateJobMaster', 1B99090, 0x218A828), +('cTalkStateKokujuShop', 1B9C4A0, 0x218AB68), +('cTalkStateKokujuTutorial', 1B4AC60, 0x2188164), +('cTalkStateLv80Up', 1B4B160, 0x2188194), +('cTalkStateMobHuntQuest', 1B4B658, 0x21881C4), +('cTalkStateMyRoomVisit', 1B4BB50, 0x21881F4), +('cTalkStateNewspaper', 1B99588, 0x218A858), +('cTalkStateOrbCrest', 1B9C3E0, 0x218AAE8), +('cTalkStateOrbMaterial', 1B9C410, 0x218AB08), +('cTalkStateOrbPlPowerUp', 1B99A80, 0x218A888), +('cTalkStateOrbPlPowerUp2', 1B4C0D0, 0x2188224), +('cTalkStateOrbPlPowerUp3', 1B4C610, 0x2188254), +('cTalkStatePPShop', 1B50548, 0x21884D8), +('cTalkStatePackageQuest', 1B4CB08, 0x2188284), +('cTalkStatePackageQuestGreeting', 1B4D000, 0x21882B4), +('cTalkStatePartnerPawn', 1B4D520, 0x21882E4), +('cTalkStatePartyMake', 1B99F78, 0x218A8B8), +('cTalkStatePawn', 1B9A470, 0x218A8E8), +('cTalkStatePawnExpeditionReward', 1B4DA54, 0x2188318), +('cTalkStatePawnExpeditionSally', 1B4DF68, 0x2188348), +('cTalkStatePawnQuest', 1B4E468, 0x2188378), +('cTalkStatePawnReborn', 1B4E978, 0x21883A8), +('cTalkStatePawnRevive', 1B9A9A0, 0x218A918), +('cTalkStatePotionAdventureUtilityRelease', 1B4EE8C, 0x21883D8), +('cTalkStatePotionJobElementRelease', 1B4F95C, 0x2188438), +('cTalkStatePotionJobLevelUp', 1B4F9B8, 0x2188458), +('cTalkStatePotionJobOrderRelease', 1B4FA98, 0x2188478), +('cTalkStatePotionOrbElementRelease', 1B50040, 0x21884A8), +('cTalkStateQuest', 1B9AE98, 0x218A948), +('cTalkStateQuestSelect', 1B9B39C, 0x218A978), +('cTalkStateRecoverWeak', 1B9B898, 0x218A9A8), +('cTalkStateRevivalRecover', 1B9BD90, 0x218A9D8), +('cTalkStateRoomVisitSetting', 1B50A40, 0x2188508), +('cTalkStateSearchReport', 1B50F40, 0x2188538), +('cTalkStateSeasonDungeonEnter', 1B51438, 0x2188568), +('cTalkStateSeasonDungeonExtend', 1B51968, 0x2188598), +('cTalkStateShopArmor', 1B9C3B0, 0x218AAC8), +('cTalkStateShopEquip', 1B9C320, 0x218AA68), +('cTalkStateShopGeneral', 1B9C2C0, 0x218AA28), +('cTalkStateShopItem', 1B9C2F0, 0x218AA48), +('cTalkStateShopMaterial', 1B9C350, 0x218AA88), +('cTalkStateShopWeapon', 1B9C380, 0x218AAA8), +('cTalkStateSpecial', 1B9CFF8, 0x218AC28), +('cTalkStateStampBonus', 1B9D4F0, 0x218AC58), +('cTalkStateStartFlow', 1B9D9E8, 0x218AC88), +('cTalkStateTPShop', 1B9C470, 0x218AB48), +('cTalkStateTraningRoom', 1B51E68, 0x21885C8), +('cTalkStateWarMission', 1B52340, 0x21885E8), +('cTargetCursorOffset', 1C79754, 0x21AE72C), +('cTargetLink', 1C12728, 0x2196B98), +('cTbl2ChatMacro', 1C77960, 0x21AE26C), +('cTbl2ClanEmblemTextureId', 1C77A74, 0x21AE2AC), +('cTbl2ItemIconId', 1C77B7C, 0x21AE2EC), +('cTentacleInfo', 1B87E00, 0x2188F38), +('cTexturePNG', 1C12D04, 0x2196C58), +('cThinkMgr', 1BED9B0, 0x2196BD8), +('cThinkMgrAct', 1C1274C, 0x2196B78), +('cThinkMgrTargetData', 1B0EC08, 0x2196B38), +('cThinkMgrTargetMgr', 1BED99C, 0x2196B58), +('cThinkParamRange', 1C5C968, 0x21A9FC0), +('cThinkParamTimer', 1C5C87C, 0x21A9F80), +('cThinkTblList', 1BED988, 0x2196BB8), +('cTutorialQuestManager', 1C12C68, 0x2196BF8), +('cTutorialTarget', 1C78CE0, 0x21AE5AC), +('cUIObject', 1AE84A4, 0x2196C18), +('cUIResource', 1C12CE8, 0x2196C38), +('cUndoData', 1CB4DC8, 0x21C1DE4), +('cUnit::cHardwareDispCtrl', 1AE6BD0, 0x220465C), +('cUnitDieInfo', 1C12D44, 0x2196C78), +('cUnitTestSAreaExt', 1B52870, 0x2188648), +('cUnitTestSuite', 1B528DC, 0x2188668), +('cUseCompEnemy', 1C8E1E4, 0x21C11C8), +('cUseCompNpc', 1C989D8, 0x21C11A8), +('cVfxLightInfluence', 1C8D9A8, 0x21AF4B4), +('cWSCEpv', 1C7A81C, 0x21AE994), +('cWSCParam', 1C7A798, 0x21AE914), +('cWSCSound', 1C7A854, 0x21AE9B4), +('cWSCSoundRnd', 1C7A884, 0x21AE9D4), +('cWSCSoundVolume', 1C7A8B4, 0x21AE9F4), +('cWSCTimer', 1C7A8E4, 0x21AEA14), +('cWallHitInfo', 1C12D70, 0x2196C98), +('cWarpLocation', 1C78DFC, 0x21AE5CC), +('cWeaponOffset', 1C790B0, 0x21AE6AC), +('cWeaponResTable', 1AF4AA0, 0x21AE6EC), +('cWeatherCloudModel', 1C79E84, 0x21AE810), +('cWeatherFogInfo', 1C7A080, 0x21AE8B0), +('cWeatherInfo', 1AE2930, 0x21AE7B0), +('cWeatherObjectRes', 1AE6C60, 0x21A7E98), +('cWeatherObjectSys', 1C13248, 0x21A7E78), +('cWeatherParam', 1C79E68, 0x21AE7F0), +('cWeatherParamEfcInfo', 1C79F98, 0x21AE870), +('cWeatherParamInfo', 1C79EB4, 0x21AE830), +('cWeatherScript', 1C132BC, 0x2196CDC), +('cWeatherScriptCmd', 1C7A7BC, 0x21AE954), +('cWeatherScriptCmdCtrl', 1C1328C, 0x2196CBC), +('cWeatherScriptCmds', 1C7A800, 0x21AE974), +('cWeatherScriptIO', 1C13270, 0x21AE934), +('cWepCateResTbl', 1BF71CC, 0x21AEA34), +('cWind', 20D1AE4, 0x2208D44), +('cWorldSettingQuestManager', 1C13790, 0x2196CFC), +('cZCEFLControl', 1C13E50, 0x2196E40), +('cZCEFLControl::cResourceSet', 1C13E28, 0x2196E00), +('cZCEffectColorControl', 1C13CC0, 0x2196D20), +('cZCEffectColorControlBase', 1C13CEC, 0x2196D40), +('cZCEffectColorControlColorOff', 1C13DC8, 0x2196DE0), +('cZCEffectColorControlDayOff', 1C13D44, 0x2196D80), +('cZCEffectColorControlDisregard', 1C13D9C, 0x2196DC0), +('cZCEffectColorControlNightOff', 1C13D70, 0x2196DA0), +('cZCEffectColorControlWater', 1C13D18, 0x2196D60), +('cZCEffectControl', 1C13DF4, 0x2196E20), +('cZoneCategoryCheckState', 1C14238, 0x2196F00), +('cZoneCategoryDayNightColorFog', 1C14120, 0x2196EA0), +('cZoneCategoryDayNightHemiSphere', 1C140F0, 0x2196E80), +('cZoneCategoryLight', 1C140C0, 0x2196E60), +('cZoneCategoryStatus', 1C1420C, 0x2196EE0), +('cZoneCategoryStatusBase', 1C141E0, 0x2196EC0), +('cZoneCategoryUnitCtrl', 1C15B6C, 0x2197178), +('cZoneCategoryUnitCtrlBase', 1C15B40, 0x2197158), +('cZoneContactInfo', 1C154B0, 0x2197090), +('cZoneContactInfoList', 1C154FC, 0x21970D0), +('cZoneContactPairInfo', 1C154CC, 0x21970B0), +('cZoneContents', 20CAA28, 0x2206704), +('cZoneExtendObject', 20D1960, 0x2208A20), +('cZoneIndoorGrassOff', 1C147D4, 0x2196F64), +('cZoneIndoorLight', 1C147A8, 0x2196F24), +('cZoneIndoorScrlEfcOff', 1C1482C, 0x2196FA4), +('cZoneIndoorWeatherEffectOff', 1C14800, 0x2196F84), +('cZoneIndoorWindCtrl', 1C14858, 0x2196FC4), +('cZoneLayout', 20C1B14, 0x2204D60), +('cZoneLayout::cDynamicBVHMaster', 20C1AC8, 0x2204D20), +('cZoneLayout::cInGameGroupManager', 20C1AE4, 0x2204D40), +('cZoneListenerEffect', 1C14EC8, 0x2196FE8), +('cZoneListenerEffectColor', 1C14EF4, 0x2197008), +('cZoneListenerEffectEFL', 1C14F20, 0x2197028), +('cZoneListenerEx', 20CAA8C, 0x2206744), +('cZoneListenerLight', 1C15448, 0x219704C), +('cZoneListenerMulti', 1C15590, 0x2197130), +('cZoneMultiListener', 1C15564, 0x2197110), +('cZoneMultiStack', 1C15548, 0x21970F0), +('cZoneMultiStackNode', 1C15518, 0x2197070), +('cZoneUnitCtrl', 1C15B98, 0x2197198), +('cpAIPawnEmChecker', 1BE3994, 0x21929B4), +('cpAISensor', 1BE41F4, 0x2192A04), +('cpActionManager', 1BE2AA8, 0x219296C), +('cpActionRequest', 1BE2FF8, 0x2192990), +('cpAltitudeFallCtrl', 1BE4708, 0x2192A28), +('cpArbitrationObject', 1B2BE10, 0x21860A4), +('cpArmedEnemy', 1B2D888, 0x218621C), +('cpArmedEnemy015730', 1B2C800, 0x21860F8), +('cpArmedEnemySmall', 1B2D268, 0x218614C), +('cpBakeJointHuman', 1B84A18, 0x2188D70), +('cpCatchCtrl', 1BE7518, 0x21932B8), +('cpChantCommand', 1BE7A30, 0x21932EC), +('cpCharacterEdit', 1BE8440, 0x2193310), +('cpChargeCtrl', 1BF0278, 0x21937E0), +('cpCheckWallCliff', 1BE8F40, 0x2193334), +('cpComponent', 1BE8F98, 0x2193354), +('cpContentsEnemy', 1B2ECD0, 0x21862A8), +('cpContentsPlayer', 1B2F1D0, 0x21862D0), +('cpCorePointCtrl', 1B8590C, 0x2188DF0), +('cpDDMrlMgr', 1BE9724, 0x2193378), +('cpDDMrlMgr::cMaterialAnimationRequestData', 1BE96FC, 0x2193398), +('cpDragonSkill', 1B2F6D8, 0x2186300), +('cpEfcFootSmoke', 1BE9D28, 0x21933C8), +('cpEfcSequenceGeneral', 1B86900, 0x2188E68), +('cpEfcTouchDownSmoke', 1BEA228, 0x21933EC), +('cpEfcWeaponAfterimage', 1BEA730, 0x2193410), +('cpEffectProvider', 1BEAC38, 0x2193434), +('cpEffectStatusManager', 1BEB164, 0x2193478), +('cpEmDmgTimer', 1BEB680, 0x219349C), +('cpEmLvUpCtrl', 1BEBB80, 0x21934C0), +('cpEmMontageCtrl', 1B86E08, 0x2188E8C), +('cpEmParamCtrl', 1BEC080, 0x21934E4), +('cpEmWarpCtrl', 1B86E5C, 0x2188EAC), +('cpEnemyEffect', 1BEC590, 0x2193508), +('cpEnemyLocalEst', 1BECA90, 0x219352C), +('cpEnemyLocalShel', 1B87360, 0x2188ED0), +('cpEnemyMaterial', 1BECF90, 0x2193550), +('cpEnemyReact', 1B8787C, 0x2188EF4), +('cpEnemySbc', 1B305F0, 0x2186388), +('cpEnemySound', 1BED490, 0x2193574), +('cpEnemyThink', 1BEDAD0, 0x21935A8), +('cpEnemyThink015730', 1B30AF0, 0x21863AC), +('cpEnemyThink015861', 1B31028, 0x21863D0), +('cpEnemyThinkEvilEyeFog', 1B31558, 0x21863F4), +('cpEquip', 1BEE02C, 0x219360C), +('cpEquip::cEquipInfo', 1BEE018, 0x219362C), +('cpErosionEnemy', 1B87D80, 0x2188F18), +('cpErosionEnemySmall', 1B31FE8, 0x218643C), +('cpErosionSuperEnemy', 1B87E20, 0x2188F58), +('cpErosionSuperEnemySmall', 1B32068, 0x218645C), +('cpFSMAutoPlayCtrl', 1B32AC8, 0x21864A8), +('cpFlightCtrl', 1BEE5FC, 0x2193670), +('cpFlightCtrl::cSpeedCtrl', 1BEE5E0, 0x2193650), +('cpForceField', 1B325C8, 0x2186484), +('cpFsmCtrl', 1BEEB18, 0x2193694), +('cpFsmItem', 1B87ED8, 0x2188F78), +('cpHeadCtrl', 1BEEB7C, 0x21936B4), +('cpHmHeadCtrl', 1B8841C, 0x2188FC0), +('cpHmHeadCtrl::cActParam', 1B88408, 0x2188FA0), +('cpHpDamageCtrl', 1BEF0C8, 0x21936E8), +('cpHugeble', 1BEF710, 0x219374C), +('cpHumanWarpCtrl', 1B32FD0, 0x21864D0), +('cpIKCtrl', 1BEF780, 0x219378C), +('cpInput', 1BEFD78, 0x21937BC), +('cpInputKeyboard', 1BF0778, 0x2193810), +('cpInputPad', 1BF0C98, 0x2193840), +('cpInvincibleCtrl', 1BF11B8, 0x2193864), +('cpInvincibleCtrl::cInvInfo', 1BF11A0, 0x2193884), +('cpInvincibleCtrlEnemy', 1B334F0, 0x21864F4), +('cpInvincibleCtrlEnemy::cRegionDamageAttr', 1B334D8, 0x2186514), +('cpItemThrow', 1B33A40, 0x2186538), +('cpJob01', 1BF1700, 0x21938A8), +('cpJob02', 1BF1D00, 0x21938D8), +('cpJob02::cKaenKoromoInfo', 1BF1CEC, 0x2193918), +('cpJob02::cPullUpInfo', 1BF1CD0, 0x21938F8), +('cpJob03', 1BF25C8, 0x2193940), +('cpJob03::uLineCtrlUnit', 1BF2300, 0x2193960), +('cpJob04', 1BF2DD8, 0x2193988), +('cpJob05', 1BF33B8, 0x21939D8), +('cpJob05::ForceGaugeInfo', 1BF33A4, 0x21939B8), +('cpJob06', 1BF39F8, 0x21939FC), +('cpJob07', 1BF3FC0, 0x2193A2C), +('cpJob08', 1BF4588, 0x2193A50), +('cpJob09', 1BF4BD8, 0x2193A80), +('cpJob09::cAlchemyEvaluationData', 1BF4B74, 0x2193AC0), +('cpJob09::cJob09ShlInfo', 1BF4B58, 0x2193AA0), +('cpJob10', 1B889F8, 0x2188FF4), +('cpJob10::cSpiritManager', 1B88BEC, 0x2189074), +('cpJob10::cSpiritManager::cSpiritState', 1B88B08, 0x2189014), +('cpJob10::cSpiritManager::cSpiritStateBoost', 1B88BA8, 0x2189054), +('cpJob10::cSpiritManager::cSpiritStateNormal', 1B88B58, 0x2189034), +('cpJob11', 1B34760, 0x21865F0), +('cpJob11::cDimensionSlashTargetInfo', 1B34738, 0x21865D0), +('cpJob11::cMagicLockManager', 1B34880, 0x2186610), +('cpJob11::cMagicManager', 1B3489C, 0x2186630), +('cpJob11::cMagicTargetInfo', 1B34864, 0x2186590), +('cpJob11::cPawnDataManager', 1B348B8, 0x2186650), +('cpJob11::cShadowEdgeHitInfo', 1B34708, 0x21865B0), +('cpJobBase', 1B33F68, 0x2193AE4), +('cpJobLeo', 1B34070, 0x218655C), +('cpJointEx2', 1B88CEC, 0x2189094), +('cpJointOrder', 1B88D3C, 0x21890B4), +('cpKeepAtkAdjust', 1BF525C, 0x2193B04), +('cpKeepAtkAdjust::cAtkAdjust', 1BF5248, 0x2193B24), +('cpKeyCommand', 1BF57F0, 0x2193B54), +('cpKeyCommandManager', 1B35038, 0x2186674), +('cpLayout', 1BF77B8, 0x2193BA0), +('cpLegCtrl', 1B89240, 0x21890D8), +('cpLockOn', 1BF7D18, 0x2193C10), +('cpLockOn::cLockOnTarget', 1BF7CEC, 0x2193BF0), +('cpLockOnTargetManager', 1BF8240, 0x2193C40), +('cpMagma', 1B35A68, 0x21866E0), +('cpModelConst', 1B892BC, 0x2189118), +('cpMotionCamera', 1BF8748, 0x2193C64), +('cpMotionFilter', 1BF879C, 0x2193C84), +('cpMotionHistory', 1BF8840, 0x2193CA4), +('cpMotionRate', 1BF8894, 0x2193CC4), +('cpMotionSe', 1BF8D98, 0x2193CF8), +('cpMrlChangeRequest', 1B897D0, 0x218913C), +('cpNpc', 1BF9298, 0x2193D1C), +('cpNpcAttend', 1B35ABC, 0x2186700), +('cpObjCliision', 1BF9A3C, 0x2193DEC), +('cpObjCliisionLight', 1BE223C, 0x2193E0C), +('cpObjCollisionBase::cHitFlag', 1BF9990, 0x2193D8C), +('cpOcdCtrl', 1BF9FC0, 0x2193E30), +('cpOcdCtrlEnemy', 1BFA070, 0x2193E70), +('cpOcdCtrlHuman', 1BFA018, 0x2193E50), +('cpOm511325', 1B38BF0, 0x2186C58), +('cpOm511328', 1B38D20, 0x2186CDC), +('cpOm511380', 1B38C68, 0x2186C78), +('cpOmActText', 1BFC148, 0x2194B3C), +('cpOmAloneWarp', 1BFC250, 0x2194B9C), +('cpOmBadStatus', 1BFBC78, 0x219493C), +('cpOmBase', 1BFACF0, 0x2193ED4), +('cpOmBaseEx', 1BFAD48, 0x2193EF4), +('cpOmBath', 1BFBA10, 0x21946EC), +('cpOmBattleContentPortal', 1B375E8, 0x2186B38), +('cpOmBeaconMapMarker', 1B37B50, 0x2186B68), +('cpOmBitterBlackPortal', 1B38068, 0x2186B98), +('cpOmBlink', 1BFA5D8, 0x2193EA0), +('cpOmBowlOfLife', 1BFB238, 0x21940B4), +('cpOmBreak', 1BFB908, 0x219478C), +('cpOmBreak::ActBreak', 1BFB8C8, 0x219489C), +('cpOmBreak::ActWait', 1BFB880, 0x219487C), +('cpOmBreakDoor', 1BFBD28, 0x219497C), +('cpOmBreakEx', 1BFBD80, 0x21949BC), +('cpOmBreakFloor', 1B38698, 0x2186C28), +('cpOmBreakFriend', 1B36BE8, 0x2186988), +('cpOmBreakHeal', 1B385E0, 0x2186BC8), +('cpOmBreakNormal', 1B36B90, 0x2186964), +('cpOmBreakTarget', 1BFBCD0, 0x219495C), +('cpOmButai', 1BFC3B0, 0x2194C1C), +('cpOmCannon', 1BFB028, 0x2193FF4), +('cpOmCarrying', 1BFB6A8, 0x21941B4), +('cpOmCarrying::ActCatch', 1BFB548, 0x21943D4), +('cpOmCarrying::ActDrop', 1BFB620, 0x2194434), +('cpOmCarrying::ActPut', 1BFB5D8, 0x2194414), +('cpOmCarrying::ActThrow', 1BFB590, 0x21943F4), +('cpOmCarrying::ActVanish', 1BFB668, 0x2194454), +('cpOmCarrying::ActWait', 1BFB500, 0x21943B4), +('cpOmClanQuestBoard', 1B39688, 0x21870FC), +('cpOmClock', 1BFC460, 0x2194C5C), +('cpOmDarkBox', 1B36AE0, 0x2186924), +('cpOmDarkGate', 1B36E08, 0x2186A68), +('cpOmDeathMon', 1B3A9E0, 0x21872AC), +('cpOmDelivery', 1B39408, 0x2186D50), +('cpOmDelivery::ActTouch', 1B393C8, 0x2186E5C), +('cpOmDelivery::ActWait', 1B39380, 0x2186E3C), +('cpOmDoor', 1BFB960, 0x21948BC), +('cpOmDropItem', 1BFD1C8, 0x2194C90), +('cpOmEXM', 1BFBEE0, 0x2194A3C), +('cpOmElfSW', 1BFB4A0, 0x2194194), +('cpOmErosionBlock', 1BFBE88, 0x2194A1C), +('cpOmEventViewerWarp', 1B36CF0, 0x21869E8), +('cpOmFX', 1B3A2A8, 0x218719C), +('cpOmFall', 1BFB398, 0x2194134), +('cpOmFeed', 1BFC098, 0x2194AFC), +('cpOmFell', 1BFC510, 0x219468C), +('cpOmFlagMapMarker', 1B39CA0, 0x218712C), +('cpOmFogBlock', 1BFBDD8, 0x21949DC), +('cpOmFxBlock', 1BFBE30, 0x21949FC), +('cpOmGate', 1BFBAC0, 0x219472C), +('cpOmGather', 1BFD708, 0x2194D04), +('cpOmGauge', 1B3A300, 0x21871BC), +('cpOmHakuryuu', 1BFB1E0, 0x2194094), +('cpOmHanabi', 1BFC408, 0x2194C3C), +('cpOmHeal', 1BFB9B8, 0x21946CC), +('cpOmHugeRim', 1B36EB8, 0x2186AA8), +('cpOmHugeRimShl', 1B36F10, 0x2186AC8), +('cpOmHvLever', 1BFC0F0, 0x2194B1C), +('cpOmJukeBox', 1BFAF20, 0x2193F94), +('cpOmKeep', 1B39320, 0x2186D30), +('cpOmKeyPoint', 1BFC618, 0x2194ADC), +('cpOmKeyPointBox', 1B36A88, 0x2186904), +('cpOmKeyPointBreak', 1B36B38, 0x2186944), +('cpOmLadder', 1BFBBC8, 0x21948FC), +('cpOmLadderEx', 1BFBC20, 0x219491C), +('cpOmLever', 1BFB820, 0x2194474), +('cpOmLever::ActPull', 1BFB798, 0x219462C), +('cpOmLever::ActPulled', 1BFB7E0, 0x219464C), +('cpOmLever::ActTouch', 1BFB750, 0x219460C), +('cpOmLever::ActWait', 1BFB708, 0x21945EC), +('cpOmLightChip', 1B36A30, 0x21868E4), +('cpOmLimitWarp', 1BFC2A8, 0x2194BBC), +('cpOmMagmaFall', 1B36238, 0x2186874), +('cpOmMagmaSpring', 1B3B000, 0x218733C), +('cpOmMapErase', 1BFBA68, 0x219470C), +('cpOmMapIconNTC', 1B36C40, 0x21869A8), +('cpOmMelgoda', 1BFB2E8, 0x21940F4), +('cpOmMine', 1BFC4B8, 0x219466C), +('cpOmMiniPoint', 1BFC040, 0x2194ABC), +('cpOmMotionSet', 1BFB290, 0x21940D4), +('cpOmMoveFloor', 1BFAE70, 0x2193F54), +('cpOmMoveWall', 1BFAEC8, 0x2193F74), +('cpOmNav', 1BFB188, 0x2194074), +('cpOmNazoWarp', 1BFC300, 0x2194BDC), +('cpOmNoticeBorad', 1B394F0, 0x2186E7C), +('cpOmNoticeBorad::ActTouch', 1B394B0, 0x2186F8C), +('cpOmNoticeBorad::ActWait', 1B39468, 0x2186F6C), +('cpOmOldDoor', 1BFADC0, 0x2193F14), +('cpOmOldSw', 1BFAE18, 0x2193F34), +('cpOmOnDesk', 1BFC5C0, 0x219476C), +('cpOmOneWay', 1BFC358, 0x2194BFC), +('cpOmOutPost', 1BFDEC0, 0x2194DBC), +('cpOmOutPost::ActRelease', 1BFDDF0, 0x2194F54), +('cpOmOutPost::ActTouch', 1BFDE38, 0x2194F74), +('cpOmOutPost::ActWait', 1BFDDA8, 0x2194F34), +('cpOmOutPost::ActWarp', 1BFDE80, 0x2194F94), +('cpOmPLJump', 1BFC1A0, 0x2194B5C), +('cpOmPRT', 1BFE430, 0x2194FC4), +('cpOmPawnBell', 1BFAFD0, 0x2193FD4), +('cpOmPawnDrop', 1BFD818, 0x2194D84), +('cpOmPlCannon', 1BFB080, 0x2194014), +('cpOmPlanetarium', 1BFAF78, 0x2193FB4), +('cpOmRanking', 1B39630, 0x21870DC), +('cpOmRim', 1B395D8, 0x2186FAC), +('cpOmRim::ActTouch', 1B39598, 0x21870BC), +('cpOmRim::ActWait', 1B39550, 0x218709C), +('cpOmRimWarp', 1B3AA38, 0x21872CC), +('cpOmRisingMagma', 1B360C8, 0x21867B4), +('cpOmRisingMagma2', 1B36180, 0x2186814), +('cpOmSDBlock', 1BFBF38, 0x2194A5C), +('cpOmSafeDome', 1B35FB8, 0x2186730), +('cpOmScaffold', 1BFBB70, 0x21948DC), +('cpOmSeaDunBlockade', 1B3B600, 0x21873AC), +('cpOmSeaDunKeyPointDoor', 1B3BB48, 0x21873DC), +('cpOmServerRequestGUI', 1B3C088, 0x218740C), +('cpOmShip', 1BFB340, 0x2194114), +('cpOmSmoke', 1B36E60, 0x2186A88), +('cpOmSoulOrdeal', 1B3C5D0, 0x218743C), +('cpOmSpa', 1BFBB18, 0x219474C), +('cpOmStoneBoard', 1BFBFE8, 0x2194A9C), +('cpOmStoneStatue', 1BFBF90, 0x2194A7C), +('cpOmTegakariChk', 1BFB0D8, 0x2194034), +('cpOmText', 1BFB3F0, 0x2194154), +('cpOmTicketDungeonPortal', 1B3D070, 0x218749C), +('cpOmTreasureBox', 1BFC568, 0x21946AC), +('cpOmTreasureBoxG', 1BFD760, 0x2194D24), +('cpOmVanishWarp', 1B36C98, 0x21869C8), +('cpOmVolcano', 1B36010, 0x2186750), +('cpOmWall', 1BFB448, 0x2194174), +('cpOmWarehouse', 1B392C8, 0x2186D10), +('cpOmWarp', 1BFC1F8, 0x2194B7C), +('cpOmWarpFX', 1B36D48, 0x2186A08), +('cpOmWeatherNews', 1BFB130, 0x2194054), +('cpOmXXX', 1B3D5D8, 0x21874CC), +('cpPartnerPawn', 1B89D20, 0x2189170), +('cpPartsCtrl', 1BFE494, 0x2194FE4), +('cpPathFinding', 1BFF4CC, 0x219504C), +('cpPawnCommonInfo', 1B3DC94, 0x2187540), +('cpPawnCultivation', 1B3E370, 0x2187664), +('cpPawnSpecialityThink', 1B3E88C, 0x218768C), +('cpPawnThink', 1BFEA08, 0x2195024), +('cpPivotCtrl', 1BFF520, 0x219506C), +('cpReaction', 1B8A268, 0x21891B8), +('cpReaction::cTriggerFree', 1B8A240, 0x2189198), +('cpRegionStatusCtrl', 1BFFA88, 0x2195090), +('cpResetCtrl', 1BFFF90, 0x21950B8), +('cpReturnTerritory', 1B8A79C, 0x21891DC), +('cpRigidBody', 1C00048, 0x21950E0), +('cpRootComponent', 1C00184, 0x2195118), +('cpRotateCtrl', 1C00688, 0x2195148), +('cpSafePos', 1C01158, 0x21951AC), +('cpScrCollision', 1C01690, 0x21951CC), +('cpSequenceCtrl', 1C01BE0, 0x2195210), +('cpShakeCtrl', 1C0213C, 0x2195234), +('cpShlBase', 1B3E950, 0x21876AC), +('cpShlCollision', 1B3E9E8, 0x21876EC), +('cpShlCondition', 1B3EFA8, 0x2187730), +('cpShlConditionJob10Cs08', 1B3F6A8, 0x21877B4), +('cpShlCustomCondition', 1B3EFF8, 0x2187750), +('cpShlKeyFrame', 1B3FC00, 0x21877F8), +('cpShlList', 1B402F8, 0x218785C), +('cpShlSelector', 1B402A8, 0x218783C), +('cpShlSelectorJob10Cs08', 1B40898, 0x21878C0), +('cpShlShotCtrl', 1C0265C, 0x219525C), +('cpShlShotCtrl::cShlShotReqInfo', 1AEE7F0, 0x219527C), +('cpSlave', 1C02B80, 0x21952A0), +('cpSoftBody', 1C030B0, 0x21952C4), +('cpStateManager', 1C03724, 0x21952E8), +('cpStatusChange', 1C03C50, 0x2195318), +('cpStatusChangeEx', 1B40E50, 0x2187904), +('cpStatusCheck', 1B8ACA0, 0x2189200), +('cpTalk', 1C04168, 0x2195348), +('cpTalkPartnerPawn', 1B41360, 0x2187934), +('cpTalkPawn', 1B8B1A0, 0x2189234), +('cpThinkBase', 1C04748, 0x2195368), +('cpThinkLeo', 1B41880, 0x2187958), +('cpTinyChain', 1C047E0, 0x219538C), +('cpTransparencyCtrl', 1C04D34, 0x21953B0), +('cpUIOnHead', 1C05280, 0x21953E0), +('cpVibration', 1C0575C, 0x2195400), +('cpWallExitCtrl', 1B8B748, 0x2189258), +('cpWallMaria', 1B41904, 0x2187978), +('cpWaypoint', 1B8BC78, 0x2189288), +('cpWaypoint::cWork', 1B8BC50, 0x21892A8), +('cpWorkRate', 1C05C60, 0x2195424), +('kTHINKDATA', 1C42B08, 0x21AB194), +('nAI::EnumObject', 20D6588, 0x2209F84), +('nAI::EnumProp', 20D6254, 0x2209FA4), +('nAI::LocalPropertyList', 20D656C, 0x2209F64), +('nAI::TaskPerformanceInfo', 20C18A0, 0x220990C), +('nAI::TaskPerformanceInfo::LOD', 20C188C, 0x220992C), +('nCameraGame::cTemplateParam', 1AF4FCC, 0x21C1D1C), +('nCollision::cCollisionNode', 20C86D0, 0x2206070), +('nCollision::cCollisionNodeGroup', 20C87B0, 0x22060B0), +('nCollision::cCollisionNodeObject', 20C8740, 0x2206090), +('nCollision::cGeometry', 20C860C, 0x2206010), +('nCollision::cGeometryExpansion', 20C864C, 0x2206030), +('nCollision::cGeometryJoint', 20C868C, 0x2206050), +('nCollision::cGeometryJointGroup', 20C87D0, 0x22060D0), +('nCollision::cMotionSequenceSupport', 20C85BC, 0x2205FD0), +('nCollision::cObjectBase', 20C85D8, 0x2205FF0), +('nCollision::cScrCollisionMoveMatrix', 20D3724, 0x22092F0), +('nCollision::cScrCommonFilter', 20D3708, 0x22092D0), +('nCollision::cScrGeometryGroupParam', 20DA0A0, 0x220AF70), +('nCollision::cScrGeometryParam', 20DA084, 0x220AF50), +('nCollision::uPreviewModel', 20D3740, 0x2209310), +('nCollisionUtil::cOwnerSystem', 20D37F0, 0x2209330), +('nDraw::Animation', 0, 0x22056C4), +('nDraw::BlendState', 0, 0x2209D64), +('nDraw::Buffer', 0, 0x2209864), +('nDraw::CBuffer', 0, 0x22056E4), +('nDraw::CBufferSystem', 0, 0x2205704), +('nDraw::CommandCache', 0, 0x2209D20), +('nDraw::DDMrlStdEstObj', 0, 0x2197370), +('nDraw::DDMrlStdEstScr', 0, 0x2197390), +('nDraw::DDMrlStdEstScrVtxAlpBld', 0, 0x21973B0), +('nDraw::DDMrlStdEstScrWater', 0, 0x21973F0), +('nDraw::DDMrlStdEstVfx', 0, 0x21973D0), +('nDraw::DepthStencilState', 0, 0x2209D84), +('nDraw::DepthStencilView', 0, 0x22069A8), +('nDraw::ExternalRegion', 0, 0x2209840), +('nDraw::IndexBuffer', 0, 0x22052D8), +('nDraw::InputLayout', 0, 0x2205298), +('nDraw::Material', 0, 0x2205724), +('nDraw::MaterialConstant', 0, 0x220AB04), +('nDraw::MaterialNull', 0, 0x2209D40), +('nDraw::MaterialSSS', 0, 0x220AAA4), +('nDraw::MaterialStd', 0, 0x22067A8), +('nDraw::MaterialStdDM', 0, 0x220AAE4), +('nDraw::MaterialStdEst', 0, 0x2205744), +('nDraw::MaterialStdPN', 0, 0x220AAC4), +('nDraw::OcclusionQuery', 0, 0x2209800), +('nDraw::Query', 0, 0x22097E0), +('nDraw::RasterizerState', 0, 0x22069E8), +('nDraw::RenderTargetView', 0, 0x2206988), +('nDraw::Resource', 0, 0x2205278), +('nDraw::SamplerState', 0, 0x2209DA4), +('nDraw::Scene', 0, 0x2209820), +('nDraw::Texture', 0, 0x22069C8), +('nDraw::VertexBuffer', 0, 0x22052B8), +('nEquipAbilityInfo::cEquipAbilityData', 1AF89BC, 0x2182554), +('nEquipDataJewelry::cJewelryData', 1B108A8, 0x21825BC), +('nEquipEnhanced::cEquipEnhancedCtrl', 1B79948, 0x2188A38), +('nEvidenceList::Param', 1C5F20C, 0x21AA40C), +('nFsm::cCameraCtrl', 1C29BC0, 0x21A4130), +('nGUI::BlendState', 20C6538, 0x2205A84), +('nGUI::Draw', 20C6634, 0x2205B04), +('nGUI::Language', 20C6570, 0x2205AC4), +('nGUI::SamplerState', 20C6554, 0x2205AA4), +('nGUI::WrapPoint', 20C658C, 0x2205AE4), +('nGUIItem::cItem', 1C2A094, 0x21A4160), +('nGUIItem::cItemList', 1C2A0C4, 0x21A4180), +('nGraphComponent::Add', 20DB718, 0x220B434), +('nGraphComponent::BaseMap', 20DB7F4, 0x220B4D4), +('nGraphComponent::Color', 20DB6C0, 0x220B3F4), +('nGraphComponent::Div', 20DB79C, 0x220B494), +('nGraphComponent::Edge', 20DB668, 0x220B3B4), +('nGraphComponent::Filter', 20DB694, 0x220B3D4), +('nGraphComponent::Mul', 20DB770, 0x220B474), +('nGraphComponent::Oscillator', 20DB7C8, 0x220B4B4), +('nGraphComponent::Sub', 20DB744, 0x220B454), +('nGraphComponent::Variable', 20DB6EC, 0x220B414), +('nJobEmblemParam::cEquipJobEmblemCtrl', 1B80D8C, 0x2188B4C), +('nJobEmblemParam::cJobEmblemData', 1B17494, 0x2188B2C), +('nJobParam::cHumanBaseInfo', 1AE3000, 0x217F940), +('nJobParam::cJobInfo', 1AE2FEC, 0x217F920), +('nMarker::cMarkerInfo', 1B812D0, 0x2188B70), +('nMarker::cMarkerInfo::cCtrlFlag', 1B81308, 0x2188BB0), +('nMarker::cMarkerInfo::cVector3', 1B812EC, 0x2188B90), +('nMarker::cWarpMarkerInfo', 1B81324, 0x2188BD0), +('nMarker::cWarpMarkerInfoStage', 1B81354, 0x2188BF0), +('nMarker::cWarpMarkerInfoStage::cTargetInfo', 1B81370, 0x2188C10), +('nNetMsg::cCoder', 1BD70D8, 0x21913D8), +('nNetMsg::cDecoder', 1BD70F4, 0x21913F8), +('nNetwork::BlockBuffer', 20D2FEC, 0x220912C), +('nNetwork::BlockPool', 20D2FD0, 0x220910C), +('nNetwork::BlockQueue', 20CBE20, 0x220914C), +('nNetwork::Callback', 20CBE88, 0x2206B18), +('nNetwork::Callback::Entry', 20CBE44, 0x2206B38), +('nNetwork::Callback::Queue', 20CBE60, 0x2206B58), +('nNetwork::Connect', 20D87B0, 0x220A864), +('nNetwork::Context', 20D2EC4, 0x22090EC), +('nNetwork::Match', 20D8818, 0x220A884), +('nNetwork::Member', 20D831C, 0x220B314), +('nNetwork::ProtocolBroadcast', 20D8B60, 0x220A984), +('nNetwork::ProtocolMinimum', 20D8B24, 0x220A964), +('nNetwork::ProtocolStandard', 20D8AE8, 0x220A924), +('nNetwork::ProtocolStandard::Queue', 20D8AD4, 0x220A944), +('nNetwork::Route', 20D886C, 0x220A8A4), +('nNetwork::RpcNetSystem_AnsDetour', 20D8460, 0x220A704), +('nNetwork::RpcNetSystem_Config', 20D85AC, 0x220A844), +('nNetwork::RpcNetSystem_Core', 20D84F0, 0x220A784), +('nNetwork::RpcNetSystem_Entry', 20D8540, 0x220A7E4), +('nNetwork::RpcNetSystem_HealthCheck', 20D8514, 0x220A7A4), +('nNetwork::RpcNetSystem_Leave', 20C8164, 0x220A7C4), +('nNetwork::RpcNetSystem_LinkState', 20D84CC, 0x220A764), +('nNetwork::RpcNetSystem_Match', 20D8564, 0x220A804), +('nNetwork::RpcNetSystem_ReqDetour', 20D843C, 0x220A6E4), +('nNetwork::RpcNetSystem_RouteKey', 20D8484, 0x220A724), +('nNetwork::RpcNetSystem_RouteKeyAck', 20D84A8, 0x220A744), +('nNetwork::RpcNetSystem_Terminate', 20D8588, 0x220A824), +('nNetwork::RpcNetSystem_TryConnect', 20D8418, 0x220A6C4), +('nNetwork::ScoreOptionPtr', 20D8080, 0x220A624), +('nNetwork::SearchFilterListPtr', 20C80AC, 0x220A5E4), +('nNetwork::SearchFilterPtr', 20C8098, 0x220A5C4), +('nNetwork::SearchKeyListPtr', 20C8070, 0x220A5A4), +('nNetwork::SearchKeyPtr', 20C805C, 0x220A584), +('nNetwork::Session', 20C81E4, 0x2205F30), +('nNetwork::SessionDatabase', 20D8360, 0x220A6A4), +('nNetwork::SessionDriver', 20C80E4, 0x2205EF0), +('nNetwork::SessionListener', 1BD8CF0, 0x2205F10), +('nNetwork::Storage', 20D3670, 0x2209290), +('nNetwork::TagChecker', 20D82A8, 0x220A644), +('nNetwork::TagChecker::RpcSyncAns', 20D828C, 0x220A684), +('nNetwork::TagChecker::RpcSyncReq', 20D8268, 0x220A664), +('nNetwork::Transport', 20D8990, 0x220A8C4), +('nNetwork::Transport::ForwardQueue', 20D897C, 0x220A8E4), +('nNetwork::UpdaterPtr', 20D809C, 0x220A604), +('nNetwork::VoiceChat', 20D3550, 0x2209250), +('nNetwork::VoiceChat::Talker', 20D3534, 0x2209270), +('nNetwork::nAchievement::Object', 20CBFE8, 0x2206B78), +('nNetwork::nRanking::Object', 20D32D4, 0x220920C), +('nNetwork::nRanking::Object::StateBase', 20D3270, 0x220922C), +('nNetwork::nSharedMemory2::CConsistentHash', 20D30B0, 0x220918C), +('nNetwork::nSharedMemory2::CNode', 20D3070, 0x220916C), +('nNetwork::nSharedMemory2::CProtocol', 20D3150, 0x22091AC), +('nNetwork::nSharedMemory2::CRecord', 20D308C, 0x22091EC), +('nPawnSpSkillCategoryUI::Param', 1C6B074, 0x21AC13C), +('nPawnSpSkillLevelUI::Param', 1C6B604, 0x21AC17C), +('nPhysics::Constraint::Axis', 20DBA78, 0x220B534), +('nPhysics::Constraint::BallJoint', 20D944C, 0x220ABC4), +('nPhysics::Constraint::ConeTwist', 20D9490, 0x220ABE4), +('nPhysics::Constraint::Hinge', 20D94E8, 0x220AC04), +('nPhysics::Constraint::Motor', 20DBAB8, 0x220B554), +('nPhysics::Constraint::Muscle', 20D9528, 0x220AC24), +('nPhysics::InertiaTensor', 20D8F00, 0x220AA64), +('nPhysics::Mass', 20D8EC4, 0x220AA44), +('nPhysics::Material', 20CD91C, 0x2206FC0), +('nPhysics::RigidBody', 20C988C, 0x2206390), +('nPhysics::System', 20C1A54, 0x2204D00), +('nPrim::PrimVertex', 1C7F4C8, 0x2206A08), +('nQuest::cCycleContentsBorderRewardInfo', 1C45818, 0x21A7B44), +('nQuest::cCycleContentsInfo', 1C45690, 0x21A79C4), +('nQuest::cCycleContentsInfoExSituation', 1C4562C, 0x21A79A4), +('nQuest::cCycleContentsPersonalRankInfo', 1C455D8, 0x21A7984), +('nQuest::cCycleContentsRankInfo', 1C459D0, 0x21A7D24), +('nQuest::cCycleContentsRankingInfo', 1C457E0, 0x21A7B04), +('nQuest::cCycleContentsRankingRewardInfo', 1C457FC, 0x21A7B24), +('nQuest::cCycleContentsResultGpInfo', 1C4576C, 0x21A7AC4), +('nQuest::cCycleContentsResultInfo', 1C457C4, 0x21A7AE4), +('nQuest::cCycleContentsResultPointInfo', 1C45734, 0x21A7A84), +('nQuest::cCycleContentsResultRewardInfo', 1C45750, 0x21A7AA4), +('nQuest::cCycleContentsSituationInfo', 1C45A00, 0x21A7D44), +('nQuest::cDeliverRequestItemInfo', 1C45508, 0x21A78C4), +('nQuest::cDeliverTargetInfo', 1B8D82C, 0x21A7C24), +('nQuest::cDeliveredItemInfo', 1C45570, 0x21A7904), +('nQuest::cDeliveredItemInfo::cDeliverCharacterInfo', 1B8C1D8, 0x21A7924), +('nQuest::cEndContentsGroupQuestInfo', 1C45A1C, 0x21A7D64), +('nQuest::cFixRewardData', 1C454EC, 0x21A78A4), +('nQuest::cGUIActiveData', 1C459B4, 0x21A7D04), +('nQuest::cGUIAreaMasterData', 1C45998, 0x21A7CE4), +('nQuest::cGUIBoardData', 1C45944, 0x21A7C84), +('nQuest::cGUIDeliveryData', 1C45960, 0x21A7CA4), +('nQuest::cGUIEventBoardData', 1C4597C, 0x21A7CC4), +('nQuest::cGUIInfoData', 1C45928, 0x21A7C64), +('nQuest::cGUIListData', 1C4590C, 0x21A7C44), +('nQuest::cGUINewspaperRecommededQuestInfo', 1C456F4, 0x21A7A44), +('nQuest::cGUINewspaperSetQuestInfo', 1C456C0, 0x21A7A24), +('nQuest::cGUINewspaperSetQuestItemInfo', 1C45610, 0x21A7A04), +('nQuest::cGUINewspaperSetQuestMonsterInfo', 1C455F4, 0x21A79E4), +('nQuest::cGUINewspaperSetQuestOpenDateInfo', 1C45714, 0x21A7A64), +('nQuest::cOrderCondition', 1C45498, 0x21A7844), +('nQuest::cPackagePackageDetail', 1C458B0, 0x21A7BC4), +('nQuest::cPackageQuestDetail', 1C45850, 0x21A7B84), +('nQuest::cPackageQuestInfo', 1C45834, 0x21A7B64), +('nQuest::cPackageSequenceDetail', 1C45880, 0x21A7BA4), +('nQuest::cPartyBonusInfo', 1C45A84, 0x21A7DC4), +('nQuest::cQuestCommand', 1C458CC, 0x21A7BE4), +('nQuest::cQuestDeliverRequestInfo', 1C45538, 0x21A78E4), +('nQuest::cQuestDeliveredInfo', 1C455A0, 0x21A7944), +('nQuest::cQuestInfoBase', 1C4547C, 0x21A7824), +('nQuest::cQuestMarker', 1C455BC, 0x21A7964), +('nQuest::cRepeatBonus', 1C454B4, 0x21A7864), +('nQuest::cRewardData', 1C454D0, 0x21A7884), +('nQuest::cScheduleInfo', 1C45A68, 0x21A7DA4), +('nQuest::cTalkData', 1C07150, 0x21A7C04), +('nQuest::cTargetEnemyInfo', 1C45A38, 0x21A7D84), +('nShlBase::cShlStickContextInfo', 1AF7430, 0x21CD134), +('nShlStick::cStickObjectCtrl', 1DA0870, 0x21CEB40), +('nSoundGenerator::cBaseContents', 1DABD3C, 0x21CF8B0), +('nSoundGenerator::cFreeWorkContents', 1DABDEC, 0x21CF930), +('nSoundGenerator::cSeContents', 1DABD68, 0x21CF8D0), +('nSoundGenerator::cSeqSeContents', 1DABDC0, 0x21CF910), +('nSoundGenerator::cStreamContents', 1DABD94, 0x21CF8F0), +('nSoundOcclusion::cBaseContents', 1DAC22C, 0x21CFA14), +('nSoundOcclusion::cFreeWorkContents', 1DAC258, 0x21CFA34), +('nSoundTrigger::cBaseContents', 1DACB9C, 0x21CFB5C), +('nSoundTrigger::cCurveSetContents', 1DACCD0, 0x21CFC3C), +('nSoundTrigger::cDirectionalSetContents', 1DACCFC, 0x21CFC5C), +('nSoundTrigger::cEQContents', 1DACCA4, 0x21CFC1C), +('nSoundTrigger::cFreeWorkContents', 1DACD54, 0x21CFC9C), +('nSoundTrigger::cPlaySeqSeContents', 1DACC20, 0x21CFBBC), +('nSoundTrigger::cReverbContents', 1DACC78, 0x21CFBFC), +('nSoundTrigger::cSeContents', 1DACBC8, 0x21CFB7C), +('nSoundTrigger::cStopSeqSeContents', 1DACC4C, 0x21CFBDC), +('nSoundTrigger::cStreamContents', 1DACBF4, 0x21CFB9C), +('nSoundTrigger::cSubMixerContents', 1DACD28, 0x21CFC7C), +('nSoundZoneBase::cSoundZoneContents', 1DAD484, 0x21CFD3C), +('nTalk::cSelectData', 1C47FA8, 0x21A7E18), +('nTalk::cSelectDataExFunc', 1C47FC4, 0x21A7E38), +('nTalk::cSelectMember', 1C47FE0, 0x21A7E58), +('nZone::ShapeInfoAABB', 20C2538, 0x2205050), +('nZone::ShapeInfoArea', 20C24A8, 0x2205030), +('nZone::ShapeInfoBase', 20C2418, 0x2205010), +('nZone::ShapeInfoCapsule', 20C26E8, 0x22050B0), +('nZone::ShapeInfoCone', 20C2808, 0x22050F0), +('nZone::ShapeInfoCylinder', 20C2778, 0x22050D0), +('nZone::ShapeInfoGlobal', 20C2A48, 0x2205170), +('nZone::ShapeInfoLine', 20C2928, 0x2205130), +('nZone::ShapeInfoOBB', 20C25C8, 0x2205070), +('nZone::ShapeInfoPanel', 20C29B8, 0x2205150), +('nZone::ShapeInfoPoint', 20C2898, 0x2205110), +('nZone::ShapeInfoSphere', 20C2658, 0x2205090), +('nZone::cContentsPool', 20C2B08, 0x22051B0), +('nZone::cContentsPool::cContentsList', 20C2AE0, 0x2205190), +('nZone::cLayoutElement', 20C2B24, 0x22051D0), +('rAI', 20D4854, 0x22099AC), +('rAI::TaskPerformanceInfo', 20D4838, 0x22099CC), +('rAI::TaskPerformanceInfo::LOD', 20D481C, 0x22099EC), +('rAIConditionTree', 20D69E0, 0x220A004), +('rAIConditionTree::ConstEnumNode', 20D6968, 0x220A144), +('rAIConditionTree::ConstF32Node', 20D6860, 0x220A0E4), +('rAIConditionTree::ConstF64Node', 20D68B8, 0x220A104), +('rAIConditionTree::ConstS32Node', 20D67B0, 0x220A0A4), +('rAIConditionTree::ConstS64Node', 20D6808, 0x220A0C4), +('rAIConditionTree::ConstStringNode', 20D6910, 0x220A124), +('rAIConditionTree::OperationNode', 20D6688, 0x220A024), +('rAIConditionTree::StateNode', 20D66E0, 0x220A044), +('rAIConditionTree::TreeInfo', 20D69C0, 0x220A164), +('rAIConditionTree::VariableNode', 20D6758, 0x220A064), +('rAIConditionTree::VariableNode::VariableInfo', 20D6738, 0x220A084), +('rAIConditionTreeNode', 20D6600, 0x2209FE4), +('rAIDynamicLayout', 20DB100, 0x220B1F4), +('rAIDynamicLayout::ObjPath', 20DB0EC, 0x220B1D4), +('rAIFSM', 20C6108, 0x2205A24), +('rAIFSMList', 20C6170, 0x2205A44), +('rAIFSMList::Info', 20C6150, 0x2205A64), +('rAIPathBase', 20D4E50, 0x2209BE0), +('rAIPathBase::HierarchyArea', 20D4E3C, 0x2209BC0), +('rAIPathBaseXml', 20D4E98, 0x2209C00), +('rAIPawnActNoSwitch', 1C49F88, 0x21A8260), +('rAIPawnAutoMotionTbl', 1C4A4C8, 0x21A82A0), +('rAIPawnAutoWordTbl', 1C4A590, 0x21A82E0), +('rAIPawnCulPrioThinkCategory', 1C4AB80, 0x21A8324), +('rAIPawnEmParam', 1C4ACA8, 0x21A8364), +('rAIPawnOrder', 1C4B240, 0x21A83A4), +('rAIPawnSkillParamTbl', 1C4B808, 0x21A83E8), +('rAIPawnSpecialityInfo', 1C4B958, 0x21A8468), +('rAISensor', 1C4BA5C, 0x21A84A8), +('rAIWayPoint', 20DB010, 0x220B1B4), +('rAIWayPoint::Group', 20DAFFC, 0x220B194), +('rAIWayPoint::Link', 20DAFC4, 0x220B154), +('rAIWayPoint::Node', 20DAFE0, 0x220B174), +('rAIWayPointGraph', 20BB0C4, 0x220415C), +('rAIWayPointGraph::Link', 1AE2958, 0x220411C), +('rAIWayPointGraph::Node', 20BB08C, 0x22040FC), +('rAIWayPointGraph::NodeGraph', 20BB0B0, 0x220413C), +('rAbilityList', 1C485EC, 0x21A7F38), +('rAchievement', 1C48750, 0x21A7F98), +('rAchievementHeader', 1C48838, 0x21A7FD8), +('rAcquirement::cAbilityAddData', 1C48C04, 0x21A8098), +('rAcquirement::cAbilityData', 1C48B0C, 0x21A8078), +('rAcquirement::cAbilityLevelData', 1C48AF0, 0x21A8058), +('rAcquirement::cCustomSkillData', 1C48924, 0x21A8018), +('rAcquirement::cNormalSkillData', 1C48A08, 0x21A8038), +('rAcquirement::cSkillLevelData', 1C488F4, 0x21A7FF8), +('rAcquirement::rAbilityAddData', 1C48C80, 0x21A8118), +('rAcquirement::rAbilityData', 1C48B88, 0x21A80F8), +('rAcquirement::rCustomSkillData', 1C489A0, 0x21A80B8), +('rAcquirement::rNormalSkillData', 1C48A88, 0x21A80D8), +('rActionParamList', 1C49350, 0x21A819C), +('rActivateDragonSkill', 1C49450, 0x21A81DC), +('rActorLight', 1C95F50, 0x21AFF2C), +('rAdjLimitParam', 1C4F0C8, 0x21A8AF0), +('rAdjustParam', 1C499E0, 0x21A821C), +('rAnimalData', 1C4BB48, 0x21A84E8), +('rArchive', 20C7DB0, 0x2205DF4), +('rArchiveImport', 1C4BBF0, 0x21A8528), +('rArchiveImport::cArchiveImport', 1C4BBC8, 0x21A8508), +('rArchiveListArray', 1C4BD48, 0x21A8548), +('rAreaHitShape', 1C4BDC0, 0x21A8588), +('rAreaInfo', 1C4BE34, 0x21A85A8), +('rAreaInfo::cAreaInfo', 1C4BE7C, 0x21A85C8), +('rAreaInfoJointArea', 1C4BEF8, 0x21A85E8), +('rAreaInfoJointArea::cAreaInfoJointArea', 1C4BF40, 0x21A8608), +('rAreaInfoStage', 1C4BFCC, 0x21A8628), +('rAreaInfoStage::cAreaInfoStage', 1C4C014, 0x21A8648), +('rAreaMasterRankData', 1C4C1D8, 0x21A8728), +('rAreaMasterSpotData', 1C4C0F0, 0x21A8708), +('rAreaMasterSpotDetailData', 1C4C320, 0x21A8748), +('rArmedEnemyInfo', 1C4C980, 0x21A87AC), +('rAtDfRateRaid', 1C4CA80, 0x21A87EC), +('rAttackParam', 1C4D040, 0x21A8830), +('rBakeJoint', 1C4E3D8, 0x21A88AC), +('rBitTable', 1C4E4D0, 0x21A88EC), +('rBlazeEnemyInfo', 1C4EA78, 0x21A8930), +('rBlowSaveEmLvParam', 1C4F480, 0x21A8BF0), +('rBowActParamList', 1C4EAF8, 0x21A8950), +('rBrowserFont', 1C4EB60, 0x21A8970), +('rBrowserUITableData', 1AE7F9C, 0x217D49C), +('rCalcDamageAtdmAdj', 1C4ED28, 0x21A89F0), +('rCalcDamageAtdmAdjRate', 1C4EE10, 0x21A8A30), +('rCalcDamageLvAdj', 1C4EC40, 0x21A89B0), +('rCameraList', 20CAD40, 0x22067C8), +('rCameraParamList', 1C50078, 0x21A8CD4), +('rCameraQuakeList', 1C505B8, 0x21A8CF8), +('rCatchInfoParam', 1C506B0, 0x21A8D58), +('rCaughtDamageRateRefTbl', 1C50888, 0x21A8D98), +('rCaughtDamageRateTbl', 1C509A0, 0x21A8DD8), +('rCaughtInfoParam', 1C50AB0, 0x21A8E18), +('rCharParamEnemy', 1C528C0, 0x21A90DC), +('rCharacterEdit', 1C50FFC, 0x21A8E38), +('rCharacterEditCameraParam', 1C515F8, 0x21A8EA8), +('rCharacterEditColorDef', 1C51BD8, 0x21A8EF8), +('rCharacterEditModelPalette', 1C51CF0, 0x21A8F38), +('rCharacterEditMuscle', 1C51E00, 0x21A8F78), +('rCharacterEditPersonalityPalette', 1C51F20, 0x21A8FB8), +('rCharacterEditPresetPalette', 1C52048, 0x21A8FF8), +('rCharacterEditTalkLvPalette', 1C52158, 0x21A9038), +('rCharacterEditTexturePalette', 1C52270, 0x21A9078), +('rCharacterEditVoicePalette', 1C52380, 0x21A90B8), +('rChildRegionStatusParam', 1C74360, 0x21ADAE8), +('rChildRegionStatusParamList', 1C74448, 0x21ADB28), +('rCnsIK', 20CF1E8, 0x22073EC), +('rCnsIK::JointInfo', 20CF1D0, 0x22073CC), +('rCnsJointOffset', 20D8C78, 0x220A9C4), +('rCnsLookAt', 20D9AA0, 0x220ADE8), +('rCnsMatrix', 20D9B48, 0x220AE08), +('rCnsTinyChain', 20C83B0, 0x2205F90), +('rCnsTinyIK', 20D9A48, 0x220ADC8), +('rCollGeom', 1C529C0, 0x21A911C), +('rCollIndex', 1C52B58, 0x21A915C), +('rCollNode', 1C53148, 0x21A91A0), +('rCollision', 20CAF48, 0x2206828), +('rCollisionHeightField', 20C66F8, 0x2205B48), +('rCollisionObj', 20D3EF8, 0x220979C), +('rCollisionObj::cPartsData', 20D3EE4, 0x220977C), +('rConstModelParam', 1C53268, 0x21A91C0), +('rConvexHull', 20D8CDC, 0x220AA04), +('rCraftCapPass', 1C53368, 0x21A9200), +('rCraftElementExp', 1C53490, 0x21A9240), +('rCraftQuality', 1C53A30, 0x21A9280), +('rCraftRecipe', 1C5587C, 0x21A9644), +('rCraftRecipe::cCraftRecipe', 1C55860, 0x21A9624), +('rCraftRecipe::cMaterialData', 1C55830, 0x21A9604), +('rCraftSkillCost', 1C55988, 0x21A9684), +('rCraftSkillSpd', 1C55AD0, 0x21A96C4), +('rCraftUpGradeExp', 1C53B60, 0x21A92C0), +('rCustimShlLimit', 1C6DA70, 0x21AC6E8), +('rCycleContentsSortieInfo', 1C53CC0, 0x21A9320), +('rCycleQuestInfo', 1C53DA8, 0x21A9340), +('rCycleQuestInfo::cCycleQuestInfo', 1C53D80, 0x21A9360), +('rCycleQuestInfo::cCycleQuestSituationInfo', 1C53D50, 0x21A9380), +('rDDOBenchmark', 1C54228, 0x21A93E0), +('rDDOModelMontage', 1C56018, 0x21A96E8), +('rDDOModelMontageEm', 1C56540, 0x21A970C), +('rDamageCounterInfo', 1C4F750, 0x21A8CB0), +('rDamageSaveEmLvParam', 1C4F390, 0x21A8BB0), +('rDamageSpecialAdj', 1C4F570, 0x21A8C30), +('rDarkSkyParam', 1C53F54, 0x21A93C0), +('rDeformWeightMap', 20C4660, 0x22053A4), +('rDmJobAdjParam', 1C4EEF8, 0x21A8A70), +('rDmJobPawnAdjParam', 1C4F1B0, 0x21A8B30), +('rDmLvPawnAdjParam', 1C4F2A0, 0x21A8B70), +('rDmVecWeightParam', 1C56628, 0x21A974C), +('rDragonSkillColorParam', 1C54330, 0x21A9420), +('rDragonSkillEnhanceParam', 1C54438, 0x21A9460), +('rDragonSkillLevelParam', 1C54540, 0x21A94A0), +('rDragonSkillParam', 1C54640, 0x21A94E0), +('rDungeonMarker', 1C546E8, 0x21A9500), +('rDungeonMarker::cPosition', 1C5477C, 0x21A9560), +('rDungeonMarker::cWarpInfo', 1C54760, 0x21A9520), +('rDungeonMarker::cWarpInfo::cIndex', 1C54738, 0x21A9540), +('rDynamicSbc', 20DAF68, 0x220B134), +('rEditConvert', 1C566F4, 0x21A976C), +('rEditConvert::Joint', 1C566D8, 0x21A978C), +('rEditStageParam', 1C56C68, 0x21A980C), +('rEditStageParam::Info', 1C56C2C, 0x21A97AC), +('rEditStageParam::Info::WeatherData', 1C56C10, 0x21A97CC), +('rEditStageParam::List', 1C56C48, 0x21A97EC), +('rEffect2D', 20CAE20, 0x2206808), +('rEffectAnim', 20D1C10, 0x2208D64), +('rEffectList', 20CAD98, 0x22067E8), +('rEffectProvider', 1C573A0, 0x21A9930), +('rEffectProvider::EffectElement', 1C57328, 0x21A9870), +('rEffectProvider::EffectEventParam', 1C572D4, 0x21A98F0), +('rEffectProvider::EffectIndex', 1C57344, 0x21A9890), +('rEffectProvider::EffectMotSyncParam', 1C572F0, 0x21A98D0), +('rEffectProvider::EffectParam', 1C5730C, 0x21A9850), +('rEffectProvider::INFO_BASE', 1C572B0, 0x21A9830), +('rEffectProvider::INFO_EFFECT', 1C57360, 0x21A98B0), +('rEffectProvider::INFO_PROV', 1C5738C, 0x21A9910), +('rEffectStrip', 20D1C68, 0x2208D84), +('rEmBaseInfoSv', 1C55220, 0x21A95A4), +('rEmCategory', 1C57A28, 0x21A9974), +('rEmDamageDirInfo', 1C57FD0, 0x21A99B8), +('rEmDmgTimerTbl', 1C58620, 0x21A99FC), +('rEmEffectTable', 1C58B68, 0x21A9A40), +('rEmLvUpParam', 1C59180, 0x21A9A84), +('rEmMsgTable', 1C59218, 0x21A9AC4), +('rEmScaleTable', 1C5A068, 0x21A9BAC), +('rEmScrAdjust', 1C5A160, 0x21A9BEC), +('rEmSoundTable', 1C5A260, 0x21A9C2C), +('rEmStatusAdj', 1C5A3A0, 0x21A9C6C), +('rEmWarpParam', 1C5A498, 0x21A9CAC), +('rEmWeakSafe', 1C5A590, 0x21A9CEC), +('rEmWorkRateTable', 1C5A690, 0x21A9D2C), +('rEmblemColorTable', 1C557B0, 0x21A95E4), +('rEmoteGroup', 1C592D0, 0x21A9B24), +('rEmoteGroup::InfoBinary', 1C592B4, 0x21A9B04), +('rEmoteGroup::InfoBinary::MotDataBinary', 1C59298, 0x21A9AE4), +('rEmparam', 1C59AC0, 0x21A9B68), +('rEndContentsSortieInfo', 1C5A7A8, 0x21A9D6C), +('rEnemyBloodStain', 1C5AD58, 0x21A9DB0), +('rEnemyGroup', 1C5AE88, 0x21A9E10), +('rEnemyLocalEst', 1C5B460, 0x21A9E54), +('rEnemyLocalShelTable', 1C5BA68, 0x21A9E98), +('rEnemyMaterialTable', 1C5C038, 0x21A9EDC), +('rEnemyReactResEx', 1C5C630, 0x21A9F20), +('rEnemyStatusChange', 1C5C730, 0x21A9F60), +('rEnhancedParamList', 1C5CB38, 0x21AA040), +('rEnumDef', 1B0ECD0, 0x21824E8), +('rEquipCaptureList', 1C5CBF8, 0x21AA060), +('rEquipCaptureList::cData', 1C5CBC0, 0x21AA080), +('rEquipPartsInfo', 1C5D200, 0x21AA0A4), +('rEquipPreset', 1C5D788, 0x21AA0E8), +('rEquipPresetPalette', 1C5DD08, 0x21AA128), +('rErosionInfoRes', 1C5DE08, 0x21AA168), +('rErosionRegion', 1C5DEF8, 0x21AA1A8), +('rErosionRegionScaleChange', 1C5E220, 0x21AA268), +('rErosionShakeConvert', 1C4F660, 0x21A8C70), +('rErosionSmallInfoRes', 1C5DFE8, 0x21AA1E8), +('rErosionSuperInfoRes', 1C5E0D8, 0x21AA228), +('rEvaluationTable', 1C5E330, 0x21AA2A8), +('rEventParam', 1C5E4E0, 0x21AA2E8), +('rEventResTable', 1C5E680, 0x21AA348), +('rEventViewerList', 1C5EBF0, 0x21AA3AC), +('rEventViewerList::InfoBinary', 1C5EBD4, 0x21AA38C), +('rEventViewerList::InfoBinary::EvtVwrLstBinary', 1C5EBB8, 0x21AA36C), +('rEventViewerSetInfo', 1C5ECC0, 0x21AA3CC), +('rEventViewerSetInfo::cFlagData', 1C5ED0C, 0x21AA3EC), +('rEvidenceList', 1C5F288, 0x21AA42C), +('rFacialEditJointPreset', 1C5F380, 0x21AA46C), +('rFatAdjust', 1C5F4A0, 0x21AA4AC), +('rFieldAreaAdjoinList', 1C5F520, 0x21AA4CC), +('rFieldAreaAdjoinList::cAdjoinInfo', 1C5F598, 0x21AA4EC), +('rFieldAreaAdjoinList::cAdjoinInfo::cVector3', 1C5F570, 0x21AA50C), +('rFieldAreaList', 1C5F658, 0x21AA52C), +('rFieldAreaList::cFieldAreaInfo', 1C5F6D0, 0x21AA54C), +('rFieldAreaList::cFieldAreaInfo::cStageNo', 1C5F6A8, 0x21AA56C), +('rFieldAreaMarkerInfo', 1C5F7A0, 0x21AA58C), +('rFieldAreaMarkerInfo::cMarkerInfo', 1C5F7E8, 0x21AA5AC), +('rFieldMapData', 1C5FD18, 0x21AA5FC), +('rFieldMapData::Data', 1C5FD00, 0x21AA5DC), +('rFreeF32Tbl', 1C5FDC0, 0x21AA61C), +('rFullbodyIKHuman2', 20D0A9C, 0x2207854), +('rFullbodyIKHuman2::JointAssign', 20D0A88, 0x2207834), +('rFunctionList', 1C5FEA8, 0x21AA65C), +('rFurnitureAccessories', 1C5FF88, 0x21AA6BC), +('rFurnitureAccessories::InfoBinary', 1C5FF6C, 0x21AA69C), +('rFurnitureAccessories::InfoBinary::AcceDataBinary', 1C5FF50, 0x21AA67C), +('rFurnitureData', 1C60578, 0x21AA700), +('rFurnitureGroup', 1C60698, 0x21AA740), +('rFurnitureItem', 1C60868, 0x21AA7C0), +('rFurnitureLayout', 1C60780, 0x21AA780), +('rGUI', 20C7948, 0x2205D88), +('rGUIDogmaOrb', 1C60CC8, 0x21AA8C0), +('rGUIFont', 20C7BE0, 0x2205DA8), +('rGUIIconInfo', 20CBDD0, 0x2206AF8), +('rGUIMapSetting', 1C60D80, 0x21AA8E0), +('rGUIMapSetting::cData', 1C60D4C, 0x21AA900), +('rGUIMessage', 20C1CB8, 0x2204D84), +('rGUIPhotoFrame', 1C60F20, 0x21AA940), +('rGatheringItem', 1C60BC8, 0x21AA880), +('rGeometry2', 20D9E84, 0x220AF10), +('rGeometry2::cGeometry', 20D9DE0, 0x220AED0), +('rGeometry2::cGeometryArray', 20D9E20, 0x220AEF0), +('rGeometry2Group', 20DBA04, 0x220B514), +('rGeometry3', 20D9FF4, 0x220AF30), +('rGraphPatch', 20D9D00, 0x220AE68), +('rGrass', 20D4490, 0x220988C), +('rGrass2', 20DB540, 0x220B354), +('rGrass2Setting', 20DB4EC, 0x220B374), +('rGrass::cChainGrass', 20D4448, 0x22098CC), +('rGrass::cCluster', 20D4424, 0x22098AC), +('rGrass::cSetting', 20D4464, 0x22098EC), +('rGrassWind', 20D97F4, 0x220ACC8), +('rGrassWind::cParamSet', 20D97D4, 0x220ACE8), +('rHeadCtrl', 1C61018, 0x21AA980), +('rHideNpcNameInfo', 1C61118, 0x21AA9C0), +('rHumanEnemyCustomSkill', 1C61218, 0x21AAA00), +('rHumanEnemyEquip', 1C61320, 0x21AAA40), +('rHumanEnemyParam', 1C61420, 0x21AAA80), +('rHumanEnemyPreset', 1C61538, 0x21AAAC0), +('rIKCtrl', 1C61648, 0x21AAB00), +('rISC', 20D04D4, 0x22076CC), +('rImplicitSurface', 20CCC78, 0x2206E20), +('rIniLocal', 20BE814, 0x22046E4), +('rIsEquipOneOfSeveral', 1C616D4, 0x21AAB20), +('rIsEquipOneOfSeveral::cEquipGroup', 1C61730, 0x21AAB40), +('rIsEquipOneOfSeveral::cEquipId', 1C6174C, 0x21AAB60), +('rItemEquipJobInfoList', 1C618B0, 0x21AABC0), +('rItemList', 1C61E50, 0x21AAC50), +('rItemList::rEquipParamS8', 1C61E30, 0x21AABF0), +('rItemList::rItemParamXml', 1C61E14, 0x21AAC10), +('rItemList::rParam', 1B17478, 0x21AAC30), +('rJobBaseParam', 1AF8958, 0x217F9A0), +('rJobCustomParam', 1C62FE8, 0x21AAED0), +('rJobLevelUpTbl2', 1C630E0, 0x21AAF10), +('rJobMasterCtrl', 1C63200, 0x21AAF30), +('rJobTutorialQuestList', 1C63330, 0x21AAF70), +('rJobTutorialQuestList::cQuestId', 1C63378, 0x21AAF90), +('rJointEx2', 1C63460, 0x21AAFD0), +('rJointInfo', 1C63558, 0x21AB010), +('rJointOrder', 1C63658, 0x21AB050), +('rJukeBoxItem', 1C60950, 0x21AA800), +('rJumpParamTbl', 1C63740, 0x21AB090), +('rKeyCommand', 1C638A0, 0x21AB0D0), +('rKeyConfigTextTable', 1C63E38, 0x21AB110), +('rKeyCustomParam', 1C643D8, 0x21AB150), +('rLandInfo', 1C6497C, 0x21AB1B4), +('rLandInfo::cLandInfo', 1C649D8, 0x21AB1D4), +('rLandInfo::cLandInfo::cLandAreaInfo', 1C649F4, 0x21AB1F4), +('rLanguageResIDConverter', 1C4BD00, 0x21A8568), +('rLargeCameraParam', 1C64B00, 0x21AB234), +('rLayout', 1C64C28, 0x21AB258), +('rLayout::SetInfo', 1C64C10, 0x21AB278), +('rLayoutGroupParam', 1C652E4, 0x21AB38C), +('rLayoutGroupParamList', 1C6532C, 0x21AB3AC), +('rLayoutPreset', 1C65BB0, 0x21AB3F4), +('rLegCtrl', 1C65CB8, 0x21AB434), +('rLineBuilder', 1C66228, 0x21AB454), +('rLineBuilder::MergedMoveLine', 1C66200, 0x21AB474), +('rLineBuilder::MergedMoveLine::ChainLine', 1C661D8, 0x21AB494), +('rLinkageEnemy', 1C66398, 0x21AB514), +('rLinkageEnemy::cEmInfo', 1C66340, 0x21AB4F4), +('rLinkageEnemy::cEmInfo::cEmOperateParam', 1C66318, 0x21AB4D4), +('rLinkageEnemy::cEmParamInfo', 1C6635C, 0x21AB4B4), +('rLinkageEnemyXml', 1C663DC, 0x21AB534), +('rLoadingParam', 1C66500, 0x21AB554), +('rLoadingParam::cData', 1C66494, 0x21AB574), +('rLoadingParam::cDataList', 1C664D0, 0x21AB594), +('rLocationData', 1C665C8, 0x21AB5D8), +('rLocationData::Data', 1C665AC, 0x21AB5B8), +('rMagicChantParam', 1C666D8, 0x21AB618), +('rMagicCommandList', 1C66C68, 0x21AB67C), +('rMagicCommandWord', 1C66D68, 0x21AB6BC), +('rMandraActionParam', 1C66FE8, 0x21AB6FC), +('rMandraCharaMake', 1C675E0, 0x21AB760), +('rMandraCharaMake::InfoBinary', 1C675C4, 0x21AB740), +('rMandraCharaMake::InfoBinary::CharDataBinary', 1C675A8, 0x21AB720), +('rMandraMotCombine', 1C676D8, 0x21AB7C0), +('rMandraMotCombine::InfoBinary', 1C676B8, 0x21AB7A0), +('rMandraMotCombine::InfoBinary::MotDataBinary', 1C6769C, 0x21AB780), +('rMandraReaction', 1C677D0, 0x21AB820), +('rMandraReaction::InfoBinary', 1C677B0, 0x21AB800), +('rMandraReaction::InfoBinary::MotDataBinary', 1C67794, 0x21AB7E0), +('rMapSpotData', 1C67D48, 0x21AB874), +('rMapSpotData::Data', 1C67D28, 0x21AB854), +('rMapSpotStageList', 1C67DF8, 0x21AB8B4), +('rMapSpotStageList::Data', 1C67DDC, 0x21AB894), +('rMaterial', 20C9958, 0x22063D4), +('rModel', 20C82D0, 0x2205F70), +('rMotionFilter', 1C67F00, 0x21AB8F4), +('rMotionList', 20C5B9C, 0x2205764), +('rMotionParam', 1C68000, 0x21AB934), +('rMovieOnDisk', 20CE5B0, 0x220724C), +('rMovieOnDiskInterMediate', 20CE660, 0x220728C), +('rMovieOnMemory', 20CE550, 0x220722C), +('rMovieOnMemoryInterMediate', 20CE608, 0x220726C), +('rMsgSet', 1C68098, 0x21AB954), +('rMsgSet::cMsgData', 1C680E0, 0x21AB974), +('rMsgSet::cMsgGroup', 1C68110, 0x21AB994), +('rMyRoomActParam', 1C68298, 0x21AB9D4), +('rNPCEmoMyRoom', 1C68960, 0x21ABB54), +('rNPCEmoMyRoom::InfoBinary', 1C68944, 0x21ABB34), +('rNPCEmoMyRoom::InfoBinary::MotDataBinary', 1C68928, 0x21ABB14), +('rNPCMotMyRoom', 1C69010, 0x21ABD54), +('rNPCMotMyRoom::InfoBinary', 1C68FF4, 0x21ABD34), +('rNPCMotMyRoom::InfoBinary::MotDataBinary', 1C68FD8, 0x21ABD14), +('rNPCMotionSet', 1C68F28, 0x21ABCF4), +('rNPCMotionSet::InfoBinary', 1C68F08, 0x21ABCD4), +('rNPCMotionSet::InfoBinary::MotDataBinary', 1C68EEC, 0x21ABCB4), +('rNamedParam', 1C683A8, 0x21ABA14), +('rNavConnect', 1C685C4, 0x21ABA54), +('rNavConnect::Shape', 1C6859C, 0x21ABA34), +('rNavigationMesh', 20D17F0, 0x22089C0), +('rNavigationMesh::nodeData', 20D17C0, 0x2208980), +('rNavigationMesh::nodeInfo', 20D17DC, 0x22089A0), +('rNpcConstItem', 1C686D8, 0x21ABA94), +('rNpcCustomSkill', 1C687E0, 0x21ABAD4), +('rNpcEditData', 1C688C0, 0x21ABAF4), +('rNpcIsNoSetPS3', 1C68A88, 0x21ABB94), +('rNpcIsUseJobParamEx', 1C68B88, 0x21ABBD4), +('rNpcLedgerList', 1C68C1C, 0x21ABBF4), +('rNpcLedgerList::cItem', 1C68C78, 0x21ABC14), +('rNpcLedgerList::cItem::cInstitution', 1C68CC4, 0x21ABC54), +('rNpcLedgerList::cItem::cInstitutionOpenData', 1C68C94, 0x21ABC34), +('rNpcMeetingPlace', 1C68E68, 0x21ABC94), +('rNulls', 20D1D3C, 0x2208DC4), +('rObjCollision', 1C690BC, 0x21ABD74), +('rOccluder', 20CD970, 0x2206FE0), +('rOccluder::cQuad', 20CD94C, 0x2207000), +('rOccluderEx', 1C69114, 0x21ABD94), +('rOcdElectricParam', 1C691F8, 0x21ABDD4), +('rOcdImmuneParamRes', 1C6FA70, 0x21ACB80), +('rOcdIrAdj', 1C697A8, 0x21ABE18), +('rOcdIrAdjPL', 1C69890, 0x21ABE58), +('rOcdPriorityParam', 1C6FB68, 0x21ACBA0), +('rOcdStatusParamRes', 1C6F9A8, 0x21ACB60), +('rOmKey', 1C699B0, 0x21ABEBC), +('rOmKey::cItem', 1C69974, 0x21ABE9C), +('rOmKey::cOmKey', 1C69958, 0x21ABE7C), +('rOmLoadList', 1C69B08, 0x21ABF1C), +('rOmParam', 1C700F8, 0x21ACC14), +('rOmParamEx', 1C6A064, 0x21ABF4C), +('rOmParamPart', 1C6A570, 0x21ABF7C), +('rOutfitInfo', 1C6A690, 0x21ABFDC), +('rOutlineParamList', 1C7067C, 0x21ACC38), +('rPCSimpleDebuggerTarget', 1C6C25C, 0x21AC29C), +('rPackageQuestInfo', 1C6A768, 0x21AC03C), +('rPackageQuestInfo::cPackageQuestClientInfo', 1C6A710, 0x21ABFFC), +('rPackageQuestInfo::cPackageQuestInfo', 1C6A740, 0x21AC01C), +('rParentRegionStatusParam', 1C74278, 0x21ADAA8), +('rPartnerPawnTalk', 1C6A8B0, 0x21AC09C), +('rPartnerPawnTalk::InfoBinary', 1C6A890, 0x21AC07C), +('rPartnerPawnTalk::InfoBinary::TalkDataBinary', 1C6A874, 0x21AC05C), +('rPartnerReactParam', 1C6A9E8, 0x21AC0DC), +('rPartsCtrlTable', 1C70838, 0x21ACC98), +('rPawnAIAction', 1C70E28, 0x21ACCFC), +('rPawnQuestTalk', 1C6AAB4, 0x21AC0FC), +('rPawnQuestTalk::cTalkData', 1C6AAFC, 0x21AC11C), +('rPawnSpSkillCategoryUI', 1C6B0F0, 0x21AC15C), +('rPawnSpSkillLevelUI', 1C6B680, 0x21AC19C), +('rPawnThinkControl', 1C6BBF0, 0x21AC20C), +('rPawnThinkControl::InfoBinary', 1C6BBD4, 0x21AC1EC), +('rPawnThinkControl::InfoBinary::SkillListBinary', 1C6BBB8, 0x21AC1CC), +('rPawnThinkLevelUp', 1C6C198, 0x21AC27C), +('rPawnThinkLevelUp::InfoBinary', 1C6C17C, 0x21AC25C), +('rPawnThinkLevelUp::InfoBinary::ReleaseElementListBinary', 1C6C160, 0x21AC23C), +('rPhoteNGItem', 1C6C300, 0x21AC2FC), +('rPhoteNGItem::InfoBinary', 1C6C2E0, 0x21AC2DC), +('rPhoteNGItem::InfoBinary::ItemDataBinary', 1C6C2C4, 0x21AC2BC), +('rPlPartsInfo', 1C718E8, 0x21ACD90), +('rPlanetariumItem', 1C60A38, 0x21AA840), +('rPlantTree', 1C713B0, 0x21ACD6C), +('rPlantTree::Tree', 1C71394, 0x21ACD4C), +('rPlantTree::Tree::Point', 1C71378, 0x21ACD2C), +('rPriorityThink', 1C71EE8, 0x21ACE24), +('rPrologueHmStatus', 1C6C428, 0x21AC33C), +('rPushRate', 1C73B30, 0x21AD9E4), +('rQuestHistoryData', 1C6C528, 0x21AC37C), +('rQuestList', 1C6CAF8, 0x21AC408), +('rQuestMarkerInfo', 1C73BE8, 0x21ADA04), +('rQuestMarkerInfo::cInfo', 1C73C30, 0x21ADA24), +('rQuestSequenceList', 1C6CC20, 0x21AC428), +('rQuestTextData', 1C6CCC0, 0x21AC468), +('rQuestTextData::cTextData', 1C6CD08, 0x21AC488), +('rRagdoll', 20CA09C, 0x2206594), +('rRageTable', 1BEDA50, 0x21935E8), +('rReaction', 1C6CE20, 0x21AC528), +('rRecommendDragonSkill', 1C6CF58, 0x21AC568), +('rRegionBreakInfo', 1C6D058, 0x21AC5A8), +('rRegionStatusCtrlTable', 1C73CB0, 0x21ADA64), +('rRenderTargetTexture', 20CB9AC, 0x2206A78), +('rReplaceWardGmdList', 1C6D160, 0x21AC5E8), +('rRigidBody', 20C9FEC, 0x2206574), +('rRoomWearParam', 1C6D6F0, 0x21AC628), +('rScenario', 1C760D8, 0x21ADF80), +('rSceneTexture', 20CF134, 0x22073AC), +('rScheduler', 20C1EC0, 0x2204DEC), +('rShader2', 20CC8F4, 0x2206DBC), +('rShaderCache', 20D608C, 0x2209DE4), +('rShaderPackage', 20D54B4, 0x2209DC4), +('rShakeCtrl', 1C6D888, 0x21AC668), +('rShlLimit', 1C6D988, 0x21AC6A8), +('rShlParamList', 1C749CC, 0x21ADB6C), +('rShopGoods', 1C74AC0, 0x21ADBCC), +('rShotReqInfo', 1C74C78, 0x21ADC0C), +('rShotReqInfo2', 1C6DB78, 0x21AC728), +('rShrinkBlowValue', 1C4EFE0, 0x21A8AB0), +('rSimpleCom::cChatComCtgr', 1C6DD24, 0x21AC788), +('rSimpleCom::cChatComData', 1C6DC28, 0x21AC768), +('rSimpleCom::cChatTextData', 1C6DBF8, 0x21AC748), +('rSimpleCom::rChatComData', 1C6DCA8, 0x21AC7A8), +('rSitePack', 1CA13E8, 0x21C0C84), +('rSituationMsgCtrl', 1C6DDC8, 0x21AC7C8), +('rSituationMsgCtrl::cSituationData', 1C6DE10, 0x21AC7E8), +('rSky', 20CD564, 0x2206F04), +('rSndPitchLimit', 1C6DF58, 0x21AC828), +('rSoundAreaInfo', 1C74D54, 0x21ADC30), +('rSoundAttributeSe', 1C76190, 0x21ADFC4), +('rSoundAttributeSe::cSoundAttributeSeData', 1C76178, 0x21ADFE4), +('rSoundBank', 20CC568, 0x2206CD8), +('rSoundBossBgm', 1C75664, 0x21ADC74), +('rSoundBossBgm::cSoundBossBgm', 1C75648, 0x21ADC54), +('rSoundCurveSet', 20D29B4, 0x2208FA4), +('rSoundCurveXml', 20CC23C, 0x2206C2C), +('rSoundCurveXml::Curve', 20CC220, 0x2206C0C), +('rSoundCurveXml::Element', 20CC1F0, 0x2206BEC), +('rSoundDirectionalCurveXml', 20CC3B8, 0x2206C90), +('rSoundDirectionalCurveXml::Curve', 20CC388, 0x2206C70), +('rSoundDirectionalCurveXml::Element', 20CC358, 0x2206C50), +('rSoundDirectionalSet', 20CC4E0, 0x2206CB4), +('rSoundEQ', 20D2A68, 0x2208FC8), +('rSoundEQ::cEQData', 20D2A3C, 0x2208FE8), +('rSoundHitInfo', 1C756FC, 0x21ADCB4), +('rSoundHitInfo::cSoundHitInfo', 1C756E0, 0x21ADC94), +('rSoundMotionSe', 1C76414, 0x21AE004), +('rSoundMotionSe::cSoundMotionSeData', 1C763EC, 0x21AE024), +('rSoundOptData', 1C6E088, 0x21AC86C), +('rSoundParamOfs', 1C75888, 0x21ADCF4), +('rSoundPhysicsJoint', 20CA1AC, 0x22065D8), +('rSoundPhysicsJoint::cSoundJointRequestData', 20CA184, 0x22065B8), +('rSoundPhysicsList', 20CA2AC, 0x22065FC), +('rSoundPhysicsRigidBody', 20CC6D4, 0x2206D9C), +('rSoundPhysicsRigidBody::cSoundFinishRequestData', 20CC608, 0x2206D1C), +('rSoundPhysicsRigidBody::cSoundFirstRequestData', 20CC5EC, 0x2206CFC), +('rSoundPhysicsRigidBody::cSoundPhysicsRequestData', 20CC65C, 0x2206D7C), +('rSoundPhysicsRigidBody::cSoundRollRequestData', 20CC640, 0x2206D5C), +('rSoundPhysicsRigidBody::cSoundSlideRequestData', 20CC624, 0x2206D3C), +('rSoundPhysicsSoftBody', 20CA364, 0x2206640), +('rSoundPhysicsSoftBody::cSoundPhysicsRequestData', 20CA33C, 0x2206620), +('rSoundRangeEqSet', 1C75994, 0x21ADD14), +('rSoundRangeEqSet::RangeEqData', 1C75978, 0x21ADD34), +('rSoundRequest', 20C6694, 0x2205B28), +('rSoundReverb', 20CC0A4, 0x2206BA8), +('rSoundReverb::cSoundReverbData', 20CC078, 0x2206BC8), +('rSoundSequenceSe', 1C76584, 0x21AE044), +('rSoundSequenceSe::SequenceSe', 1C76554, 0x21AE064), +('rSoundSequenceSe::SequenceSe::Command', 1C76524, 0x21AE084), +('rSoundSimpleCurve', 1C766B0, 0x21AE0A4), +('rSoundSimpleCurve::Element', 1C76688, 0x21AE0C4), +('rSoundSourceMSADPCM', 20D2530, 0x2208F2C), +('rSoundSourceOggVorbis', 20D25D0, 0x2208F4C), +('rSoundSourcePC', 20D2498, 0x2208F0C), +('rSoundSpeakerSetXml', 20D2BA0, 0x220900C), +('rSoundStreamRequest', 20BD9D8, 0x2204594), +('rSoundSubMixer', 1C767A0, 0x21AE108), +('rSoundSubMixer::Fader', 1C76770, 0x21AE0E8), +('rSoundSubMixerSet', 1C75A74, 0x21ADD58), +('rSoundSubMixerSet::BasicSubMixers', 1C75A58, 0x21ADD78), +('rStageAdjoinList', 1C75B90, 0x21ADD98), +('rStageAdjoinList2', 1C75C54, 0x21ADE18), +('rStageAdjoinList2::cJumpPosition2', 1C75CA0, 0x21ADE38), +('rStageAdjoinList::cAdjoinInfo', 1C75C08, 0x21ADDB8), +('rStageAdjoinList::cAdjoinInfo::cIndex', 1C75BE0, 0x21ADDD8), +('rStageAdjoinList::cJumpPosition', 1C75C24, 0x21ADDF8), +('rStageConnect', 1C6E630, 0x21AC8B4), +('rStageConnect::Connection', 1C6E600, 0x21AC894), +('rStageCustom', 1C75DA0, 0x21ADE78), +('rStageCustom::Area', 1C75D8C, 0x21ADE58), +('rStageCustomParts', 1C75E60, 0x21ADEFC), +('rStageCustomParts::Filter', 1C75E28, 0x21ADEBC), +('rStageCustomParts::Info', 1C6EB90, 0x21ADE9C), +('rStageCustomParts::Param', 1C75E48, 0x21ADEDC), +('rStageCustomPartsEx', 1C6ECE0, 0x21AC9BC), +('rStageCustomPartsEx::AreaParam', 1C6EBE0, 0x21AC8DC), +('rStageCustomPartsEx::ColorFog', 1C6EC78, 0x21AC93C), +('rStageCustomPartsEx::FilterEx', 1C6EC58, 0x21AC91C), +('rStageCustomPartsEx::HemiSphLight', 1C6EC94, 0x21AC95C), +('rStageCustomPartsEx::InfiLight', 1C6ECB0, 0x21AC97C), +('rStageCustomPartsEx::InfoEx', 1C6EC10, 0x21AC8FC), +('rStageCustomPartsEx::Pattern', 1C6ECCC, 0x21AC99C), +('rStageInfo', 1C76D84, 0x21AE13C), +('rStageJoint', 1C75FE0, 0x21ADF60), +('rStageJoint::Info', 1C75FB0, 0x21ADF20), +('rStageJoint::Param', 1C75FCC, 0x21ADF40), +('rStageList', 1C6EF28, 0x21AC9FC), +('rStageList::Info', 1C6EF0C, 0x21AC9DC), +('rStageMap', 1C6F058, 0x21ACA3C), +('rStageToSpot', 1C6F1A8, 0x21ACA9C), +('rStaminaDecTbl', 1C77224, 0x21AE19C), +('rStarCatalog', 20CD5AC, 0x2206F24), +('rStartPos', 1C772B0, 0x21AE1BC), +('rStartPos::Info', 1C77298, 0x21AE1DC), +('rStartPosArea', 1C6F2A0, 0x21ACADC), +('rStatusCheck', 1C6F848, 0x21ACB20), +('rStatusGainTable', 1C773B8, 0x21AE21C), +('rSwingModel', 20CCB9C, 0x2206E00), +('rTable', 1C77458, 0x21AE23C), +('rTargetCursorOffset', 1C797D0, 0x21AE74C), +('rTbl2Base', 1C6F8F4, 0x21ACB40), +('rTbl2ChatMacro', 1C779E0, 0x21AE28C), +('rTbl2ClanEmblemTextureId', 1C77AF0, 0x21AE2CC), +('rTbl2ItemIconId', 1C77BF8, 0x21AE30C), +('rTblMenuComm', 1C78198, 0x21AE33C), +('rTblMenuComm::cData', 1C78128, 0x21AE35C), +('rTblMenuComm::cDataList', 1C78164, 0x21AE37C), +('rTblMenuOption', 1C78808, 0x21AE3AC), +('rTblMenuOption::cCaption', 1C78768, 0x21AE40C), +('rTblMenuOption::cCtgr', 1C787D8, 0x21AE44C), +('rTblMenuOption::cData', 1C78730, 0x21AE3EC), +('rTblMenuOption::cPulldown', 1C786F8, 0x21AE3CC), +('rTblMenuOption::cTab', 1C787A0, 0x21AE42C), +('rTexDetailEdit', 1C78960, 0x21AE48C), +('rTexDetailEdit::DetailParam', 1C7894C, 0x21AE46C), +('rTexture', 20C681C, 0x2205BCC), +('rTextureJpeg', 20CBC6C, 0x2206AD8), +('rTextureMemory', 20C6864, 0x2205BEC), +('rTexturePNG', 20C68A8, 0x2205C0C), +('rThinkParamRange', 1C5C9E8, 0x21A9FE0), +('rThinkParamTimer', 1C5C8F8, 0x21A9FA0), +('rTutorialDialogMessage', 1C78A00, 0x21AE4AC), +('rTutorialDialogMessage::cDialogPage', 1C78A48, 0x21AE4CC), +('rTutorialList', 1C78AFC, 0x21AE4EC), +('rTutorialList::cTutorialNode', 1C78B44, 0x21AE50C), +('rTutorialQuestGroup', 1C78BC8, 0x21AE52C), +('rTutorialQuestGroup::cGroup', 1C78C20, 0x21AE54C), +('rTutorialQuestGroup::cGroup::cQuestId', 1C78C44, 0x21AE56C), +('rTutorialTargetList', 1C78D70, 0x21AE58C), +('rVertices', 20D1CF4, 0x2208DA4), +('rVfxLightInfluence', 1C8DA28, 0x21AF4D4), +('rVibration', 20CA9B8, 0x22066E4), +('rWarpLocation', 1C78E78, 0x21AE5EC), +('rWaypoint', 1C78F2C, 0x21AE60C), +('rWaypoint2', 1C7901C, 0x21AE66C), +('rWaypoint2::cRoute2', 1C79064, 0x21AE68C), +('rWaypoint::cPoint', 1C78F74, 0x21AE62C), +('rWaypoint::cRoute', 1C78F90, 0x21AE64C), +('rWeaponOffset', 1C79130, 0x21AE6CC), +('rWeaponResTable', 1C796B0, 0x21AE70C), +('rWeatherEffectParam', 1C79880, 0x21AE78C), +('rWeatherFogInfo', 1C7A100, 0x21AE8D0), +('rWeatherInfoTbl', 1C79E00, 0x21AE7D0), +('rWeatherParamEfcInfo', 1C7A018, 0x21AE890), +('rWeatherParamInfoTbl', 1C79F30, 0x21AE850), +('rWeatherStageInfo', 1C7A168, 0x21AE8F0), +('rWepCateResTbl', 1C7A9E0, 0x21AEA54), +('rZone', 20D18F8, 0x2208A00), +('rZone::cGroupManager', 20D18E4, 0x22089E0), +('rkThinkData', 1C64908, 0x21AB174), +('sAI', 0, 0x2204CB8), +('sAIExt', 0, 0x21AEA74), +('sAIPawnNotice', 0, 0x21AEA9C), +('sAIPawnSys', 0, 0x21AEAD0), +('sAIPawnTalkMgr', 0, 0x21AEB3C), +('sAIPawnTalkMgr::cAIPawnTalkInfo', 0, 0x21AEAFC), +('sAIPawnTalkMgr::cAIPawnTalkWaitNode', 0, 0x21AEB1C), +('sApp', 0, 0x2205D24), +('sApp::Item', 0, 0x2205D44), +('sAppExt', 0, 0x21AEB6C), +('sArchiveManager', 0, 0x21AEBA0), +('sArchiveManager2', 0, 0x21AEBC4), +('sArea', 0, 0x22044E8), +('sArea::AreaInfo', 0, 0x22044C8), +('sAreaExt', 0, 0x21AEC08), +('sAreaHit', 0, 0x21AEC2C), +('sBakingJointOrder', 0, 0x21AEC54), +('sBazaarManager', 0, 0x21AEDC8), +('sBazaarManager::cBazaarCharListCtrl', 0, 0x21AECA8), +('sBazaarManager::cBazaarCharListData', 0, 0x21AEC88), +('sBazaarManager::cBazaarExhibitItemCtrl', 0, 0x21AEDA8), +('sBazaarManager::cBazaarItemHistoryData', 0, 0x21AED48), +('sBazaarManager::cBazaarItemInfoCtrl', 0, 0x21AED68), +('sBazaarManager::cBazaarItemInfoData', 0, 0x21AED28), +('sBazaarManager::cBazaarItemListCtrl', 0, 0x21AED08), +('sBazaarManager::cBazaarItemListData', 0, 0x21AECE8), +('sBazaarManager::cBazaarItemPrimLimit', 0, 0x21AED88), +('sBazaarManager::cBazaarProceedsCtrl', 0, 0x21AECC8), +('sBenchmark', 0, 0x2207058), +('sBenchmark::BenchmarkInfo', 0, 0x2207038), +('sBrowser', 0, 0x21AEDFC), +('sCamera', 0, 0x2204408), +('sCamera::Viewport', 0, 0x22043E8), +('sCameraExt', 0, 0x21AEE2C), +('sCameraExt::cShellCamWk', 0, 0x21AEE4C), +('sCapture', 0, 0x2206F7C), +('sChat', 0, 0x21AEE80), +('sClanKyoten', 0, 0x21AEEB4), +('sClanKyoten::cClanEmblemTextureCtrl', 0, 0x21AEED4), +('sCollision', 0, 0x2204900), +('sCollision::ActiveNodeInfo', 0, 0x2206110), +('sCollision::Collider', 0, 0x22061B0), +('sCollision::Collider::cNodeListArray', 0, 0x2206190), +('sCollision::ColliderActiveNodeInfo', 0, 0x2206130), +('sCollision::ColliderPassiveNodeInfo', 0, 0x2206150), +('sCollision::Node', 0, 0x22060F0), +('sCollision::NodeList', 0, 0x2206170), +('sCollision::Param', 0, 0x2204CD8), +('sCollision::Sbc', 0, 0x220963C), +('sCollision::Sbc::Parts', 0, 0x220961C), +('sCollision::SbcInfo', 0, 0x2204EB0), +('sCollision::SbcInfoBase', 0, 0x2204E90), +('sCollision::SbcLockInfo', 0, 0x2204EF0), +('sCollision::SbcObject', 0, 0x220967C), +('sCollision::SbcObject::cRegisterInfo', 0, 0x220965C), +('sCollision::ScrCollisionInfo', 0, 0x22094DC), +('sCollision::ScrCollisionInfoAdjustPosition', 0, 0x220953C), +('sCollision::ScrCollisionInfoBase', 0, 0x22094BC), +('sCollision::ScrCollisionInfoCastConvex', 0, 0x220951C), +('sCollision::ScrCollisionInfoFind', 0, 0x22094FC), +('sCollision::ScrCollisionInfoFind4', 0, 0x22095BC), +('sCollision::ScrCollisionInfoGetAreaPoly', 0, 0x220955C), +('sCollision::ScrCollisionInfoOriginal', 0, 0x220957C), +('sCollision::ScrCollisionInfoPreTraverse', 0, 0x220959C), +('sCollision::TriangleInfo', 0, 0x2204ED0), +('sCollision::cColArray', 0, 0x22048E0), +('sCollision::cSbcArrayBP', 0, 0x22095FC), +('sCollision::cSbcArrayBP::cDBVTMaster', 0, 0x22095DC), +('sCollision::cSbcHeightField', 0, 0x2205B88), +('sCollision::cSbcHeightField::cHeightField', 0, 0x2205B68), +('sCollision::cSbcMoveMatrix', 0, 0x22048C0), +('sCollision::cSbcMoveReserveInfo', 0, 0x22096FC), +('sCollision::cSbcMoveReserveInfoAll', 0, 0x22096DC), +('sCollision::cSbcMoveResetReserveInfo', 0, 0x220973C), +('sCollision::cSbcMoveResetReserveInfoAll', 0, 0x220971C), +('sCollision::cSbcRegistReserveInfo', 0, 0x220975C), +('sCollision::cSbcSkinMesh', 0, 0x22096BC), +('sCollision::cSbcSkinMesh::cRegisterInfo', 0, 0x220969C), +('sCollision::cSystemInitializeParam', 0, 0x22048A0), +('sCollisionExt', 0, 0x21AEEF8), +('sContextManager', 0, 0x21AEF50), +('sContextManager::List', 0, 0x21AEF30), +('sControlManager', 0, 0x21AEF7C), +('sControlManager::cDispPriorityData', 0, 0x21AEF9C), +('sCoprocessor', 0, 0x22070CC), +('sCraftManager', 0, 0x21AF1B0), +('sCraftManager::CreateItem', 0, 0x21AF070), +('sCraftManager::PawnCost', 0, 0x21AF030), +('sCraftManager::RecordRecipe', 0, 0x21AF050), +('sCraftManager::cAddExp', 0, 0x21AF090), +('sCraftManager::cCraftFinishNotice', 0, 0x21AF130), +('sCraftManager::cCraftIrReductionData', 0, 0x21AF150), +('sCraftManager::cCraftPawnCtrl', 0, 0x21AF0B0), +('sCraftManager::cCraftRankUp', 0, 0x21AF0D0), +('sCraftManager::cCraftRecipeControl', 0, 0x21AF170), +('sCraftManager::cCraftUpGrade', 0, 0x21AF0F0), +('sCraftManager::cCraftUpGradeItemList', 0, 0x21AF110), +('sCraftManager::cEnhancedNeedItemData', 0, 0x21AEFD0), +('sCraftManager::cEnhancedPack', 0, 0x21AF010), +('sCraftManager::cEnhancedPackData', 0, 0x21AEFF0), +('sCraftManager::stRecipeRequest', 0, 0x21AF190), +('sDDOMain', 1CA3A08, 0x21C10AC), +('sDialogBase', 0, 0x21AF1EC), +('sDragonSkill', 0, 0x21AF390), +('sEffect', 0, 0x220442C), +('sEffectExt', 0, 0x21AF3B4), +('sEffectExt::cEfcCameraQuakeData', 0, 0x21AF3D4), +('sEffectExt::cEfcCameraQuakeDataLarge', 0, 0x21AF3F4), +('sEffectExt::cEfcCameraQuakeDataMiddle', 0, 0x21AF414), +('sEffectExt::cEfcCameraQuakeDataSmall', 0, 0x21AF434), +('sEffectExt::cZoneEffectUnit', 0, 0x21AF474), +('sEffectExt::cZoneEffectUnitLayout', 0, 0x21AF494), +('sEffectExt::cZoneEpvStack', 0, 0x21AF454), +('sEnemyManager', 0, 0x21AF500), +('sEnvMapManager', 0, 0x21AF524), +('sEnvMapManager::cManageEnvMapBase', 0, 0x21AF544), +('sEnvMapManager::cManageEnvMapField', 0, 0x21AF564), +('sEventManager', 0, 0x21AF59C), +('sEventManager::cNpcId', 0, 0x21AF5BC), +('sFlag', 0, 0x21AF66C), +('sGUI', 0, 0x22044A4), +('sGUIExt', 0, 0x21AF740), +('sGUIExt::cChat', 0, 0x21AF800), +('sGUIExt::cChatMacro', 0, 0x21AF880), +('sGUIExt::cDivItemIcon', 0, 0x21AF860), +('sGUIExt::cDlTicket', 0, 0x21AF900), +('sGUIExt::cItemTmp', 0, 0x21AF7A0), +('sGUIExt::cJpegDecode', 0, 0x21AF8A0), +('sGUIExt::cMap', 0, 0x21AF820), +('sGUIExt::cMap::cMarkerSave', 0, 0x21AF840), +('sGUIExt::cMousePointer', 0, 0x21AF7C0), +('sGUIExt::cPrioHandle', 0, 0x21AF780), +('sGUIExt::cQueueAnnounceAfterParam', 0, 0x21AF760), +('sGUIExt::cRatingEmoteInfo', 0, 0x21AF920), +('sGUIExt::cSCM', 0, 0x21AF7E0), +('sGUIExt::cSEPlayer', 0, 0x21AF940), +('sGUIExt::cSameWordInfo', 0, 0x21AF8C0), +('sGUIExt::cWordInfo', 0, 0x21AF8E0), +('sGame', 0, 0x21AF6A4), +('sGeneralPoint', 0, 0x21AF6E8), +('sGpuParticle', 0, 0x2206EA4), +('sGrass', 0, 0x2204C70), +('sGuideExt', 0, 0x21AF70C), +('sHttpClient', 0, 0x21AF96C), +('sHttpPatch', 0, 0x21AFA7C), +('sInputManager', 0, 0x21AFAB0), +('sInputText', 0, 0x21AFAD4), +('sInputTextWin', 0, 0x21AFB04), +('sItemManager', 0, 0x21AFE50), +('sItemManager::cChangeJob', 0, 0x21AFBB0), +('sItemManager::cEquipList', 0, 0x21AFB90), +('sItemManager::cEquipList::cEquipData', 0, 0x21AFB70), +('sItemManager::cEquipStatusUpdate', 0, 0x21AFDF0), +('sItemManager::cFilterStorage', 0, 0x21AFE30), +('sItemManager::cGPDetail', 0, 0x21AFDB0), +('sItemManager::cHideEquip', 0, 0x21AFBD0), +('sItemManager::cItemBag', 0, 0x21AFC70), +('sItemManager::cItemBag::cAreaMasterSuppyData', 0, 0x21AFD70), +('sItemManager::cItemBag::cCraftColorChange', 0, 0x21AFD30), +('sItemManager::cItemBag::cCraftQualityUpData', 0, 0x21AFD50), +('sItemManager::cItemBag::cCraftStartData', 0, 0x21AFCD0), +('sItemManager::cItemBag::cCraftSupportPawnData', 0, 0x21AFCF0), +('sItemManager::cItemBag::cCraftUpGradeData', 0, 0x21AFD10), +('sItemManager::cItemBag::cDeliverData', 0, 0x21AFD90), +('sItemManager::cItemBag::cGatheringItemData', 0, 0x21AFCB0), +('sItemManager::cItemBag::cGetItemListData', 0, 0x21AFC90), +('sItemManager::cItemList', 0, 0x21AFC10), +('sItemManager::cItemParamList', 0, 0x21AFBF0), +('sItemManager::cItemTypeData', 0, 0x21AFE10), +('sItemManager::cSortParam', 0, 0x21AFC30), +('sItemManager::cStorage', 0, 0x21AFC50), +('sItemManager::stRequest', 0, 0x21AFDD0), +('sKeyboard', 0, 0x2204DCC), +('sKeyboardExt', 0, 0x21AFE70), +('sKeyboardExt::cKeyArray', 0, 0x21AFE90), +('sKeyboardInterface', 0, 0x21AFEC4), +('sLightExt', 0, 0x21AFEEC), +('sLinkageEnemy', 0, 0x21AFF94), +('sLinkageEnemy::cLinkageEnemy', 0, 0x21AFF54), +('sLinkageEnemy::cLinkageEnemy::cLinkageEnemyNotice', 0, 0x21AFF74), +('sLockOnManager', 0, 0x21AFFC8), +('sMain', 0, 0x2204378), +('sMarker', 0, 0x21B0000), +('sMarker::cLoadResource', 0, 0x21B0020), +('sMenu', 0, 0x21B0054), +('sMouse', 0, 0x2204E10), +('sMouseExt', 0, 0x21B0074), +('sMyRoom', 0, 0x21B00A8), +('sNetwork', 0, 0x2204570), +('sNetworkExt', 0, 0x21B00E0), +('sNpcManager', 0, 0x21B0114), +('sNpcManager::cAttendDamageInfo', 0, 0x21B0134), +('sObjCollision', 0, 0x21B0168), +('sObjCollision::cParamInfo', 0, 0x21B0188), +('sObjCollision::cParamInfo', 0, 0x21B01C8), +('sObjCollision::cParamInfoManager', 0, 0x21B01A8), +('sObjCollision::cParamInfoManager', 0, 0x21B01E8), +('sObjCondition', 0, 0x21B020C), +('sOccluder', 0, 0x2204DA8), +('sOccluderEx', 0, 0x21B0230), +('sOccluderEx::Area', 0, 0x21B0270), +('sOccluderEx::Shape', 0, 0x21B0250), +('sOmManager', 0, 0x21B02A4), +('sOmManager::cInsValue', 0, 0x21B02E8), +('sOmManager::cInsValueSeq', 0, 0x21B0308), +('sOmManager::cOmArcLoader', 0, 0x21B02C4), +('sOmManager::cRegOmDTI', 0, 0x21B0328), +('sOmManager::cRegOmEtc', 0, 0x21B0388), +('sOmManager::cRegOmMapIcon', 0, 0x21B0368), +('sOmManager::cRegOmObjCol', 0, 0x21B0348), +('sOmManager::cRegOmS32', 0, 0x21B03A8), +('sPad', 0, 0x22045F8), +('sPad::Map', 0, 0x22045D8), +('sPad::Pad', 0, 0x22045B8), +('sPadExt', 0, 0x21C05F8), +('sPadExt::cPadInfo', 0, 0x21C0618), +('sPhysicsExt', 0, 0x21C065C), +('sPlatformUtil', 0, 0x2206FA0), +('sPlayerManager', 0, 0x21C0694), +('sPrimitive', 0, 0x2206DE0), +('sQuestManagerExt', 0, 0x21C06D0), +('sQuestManagerExt::cCallQuestAnnounce', 0, 0x21C0810), +('sQuestManagerExt::cClearedQuestInfo', 0, 0x21C07F0), +('sQuestManagerExt::cFunctionInfo', 0, 0x21C0770), +('sQuestManagerExt::cKilledEnemy', 0, 0x21C0710), +('sQuestManagerExt::cManagerInfo', 0, 0x21C0750), +('sQuestManagerExt::cSayInfo', 0, 0x21C06F0), +('sQuestManagerExt::cSystemLogNode', 0, 0x21C07D0), +('sQuestManagerExt::cTimer', 0, 0x21C0790), +('sQuestManagerExt::cTouchOmInfo', 0, 0x21C0730), +('sQuestManagerExt::cUnreleasedArea', 0, 0x21C0830), +('sQuestManagerExt::cWarMissionGauge', 0, 0x21C07B0), +('sRemoteProcedure', 0, 0x2205E28), +('sRemoteProcedure::cTemporaryRemoteCall', 0, 0x2205E48), +('sRemoteProcedureExt', 0, 0x21C0854), +('sRender', 0, 0x2204C4C), +('sRenderExt', 0, 0x21C0884), +('sResource', 0, 0x2204764), +('sResource::DecompressStream', 0, 0x2204724), +('sResource::RemoteInfo', 0, 0x2204704), +('sResource::TypeInfo', 0, 0x2204744), +('sResourceExt', 0, 0x21C08A4), +('sReward', 0, 0x21C08C8), +('sReward::cAvailableReward', 0, 0x21C08E8), +('sReward::cReleaseReward', 0, 0x21C0908), +('sReward::cReleaseRewardEdit', 0, 0x21C0928), +('sSIECommerceDialog', 0, 0x21C0C40), +('sSavedata', 0, 0x220461C), +('sSavedataExt', 0, 0x21C0958), +('sScenario', 0, 0x21C09F0), +('sScene', 0, 0x22043C0), +('sScene::TextureInfo', 0, 0x22043A0), +('sSceneExt', 0, 0x21C0A34), +('sScreenShot', 0, 0x21C0A6C), +('sSetManager', 0, 0x21C0AA4), +('sSetManager::CreateContextParam', 0, 0x21C0B04), +('sSetManager::SetMgrFlag', 0, 0x21C0B24), +('sSetManager::cEnemyDie', 0, 0x21C0AC4), +('sSetManager::cLotMgr', 0, 0x21C0B44), +('sSetManager::cLotMgr', 0, 0x21C0BA4), +('sSetManager::cLotMgr', 0, 0x21C0B64), +('sSetManager::cLotMgr', 0, 0x21C0B84), +('sSetManager::cUnitData', 0, 0x21C0AE4), +('sShader2', 0, 0x2205384), +('sShadow', 0, 0x2205CF4), +('sShadow::Node', 0, 0x2205CD4), +('sShadow::Resource', 0, 0x2205C74), +('sShadow::ResourceGroup', 0, 0x2205CB4), +('sShadow::ViewConsistentResource', 0, 0x2205C94), +('sShlManager', 0, 0x21C0BCC), +('sShlManager::cShlLimitCnt', 0, 0x21C0C0C), +('sShlManager::cShlLimitCtrl', 0, 0x21C0BEC), +('sSiteManager', 0, 0x21C0C64), +('sSiteManager::cSiteLoader', 0, 0x21C0CA4), +('sSkeletonTool', 0, 0x21971B8), +('sSound', 0, 0x2204460), +('sSound::NativeSystemXAudio2::WinProperty', 0, 0x2204480), +('sSoundExt', 0, 0x21C0D1C), +('sSoundExt::cNonStopStream', 0, 0x21C0CFC), +('sSoundExt::cVoiceRequest', 0, 0x21C0CDC), +('sSoundManager', 0, 0x21C0D94), +('sSoundManager::cEmSetState', 0, 0x21C0D74), +('sSyncPoint', 0, 0x2207714), +('sSyncPoint::syncPointElement', 0, 0x2207734), +('sTalkManager', 0, 0x21C0DC8), +('sTalkManager::cTellQueueNode', 0, 0x21C0DE8), +('sTool', 0, 0x2206788), +('sToolBase', 0, 0x2205BAC), +('sToolExt', 0, 0x21C10E0), +('sTutorialGuide', 0, 0x21C1114), +('sTutorialGuide::cOpenGuideNo', 0, 0x21C1134), +('sUnit', 0, 0x220454C), +('sUnit::MoveLine', 0, 0x220452C), +('sUnit::UnitGroup', 0, 0x220450C), +('sUnitExt', 0, 0x21C1164), +('sUnitManager', 0, 0x21C11E8), +('sUnitManager::cLODDistData', 0, 0x21C1208), +('sVibration', 0, 0x22066C4), +('sVibrationExt', 0, 0x21C1228), +('sWeatherManager', 0, 0x21C127C), +('sWorkRate', 0, 0x21C1384), +('sWorldOffset', 0, 0x21C13BC), +('sZone', 0, 0x2206768), +('sZoneStatus', 0, 0x21C13E4), +('sZoneUnitCtrl', 0, 0x21C1418), +('uActorModel', 20CE1A0, 0x220718C), +('uActorModel::Constraint', 20CE170, 0x220716C), +('uAdhesion', 20CE0F8, 0x220714C), +('uAimCheck', 1CB10A8, 0x21C1680), +('uAmbientLight', 20C9178, 0x2206230), +('uAnimal', 1CB1C78, 0x21C19A4), +('uAnimal::ActApproach', 1CB1B60, 0x21C1AA4), +('uAnimal::ActBase', 1CB1968, 0x21C19C4), +('uAnimal::ActCollapse', 1CB1AD0, 0x21C1A64), +('uAnimal::ActEscape', 1CB1B18, 0x21C1A84), +('uAnimal::ActFlap', 1CB1BA8, 0x21C1AC4), +('uAnimal::ActFootwork', 1CB19B0, 0x21C19E4), +('uAnimal::ActGhost', 1CB1C38, 0x21C1B04), +('uAnimal::ActRun', 1CB1A40, 0x21C1A24), +('uAnimal::ActSleep', 1CB1BF0, 0x21C1AE4), +('uAnimal::ActTurn', 1CB1A88, 0x21C1A44), +('uAnimal::ActWalk', 1CB19F8, 0x21C1A04), +('uArmor', 1CB2578, 0x21C1B28), +('uBackLight', 20C9478, 0x2206370), +('uBakuenseSpark', 1D778F8, 0x21CCFE8), +('uBaseModel', 20C34B0, 0x220531C), +('uBlinkPointLight', 1D66F20, 0x21CBABC), +('uBlinkSpotLight', 1D66FA0, 0x21CBADC), +('uBloomFilter', 20BF300, 0x2204B24), +('uBloomFilterEm021004', 1DA3D78, 0x21CEFD4), +('uBloomFilterExt', 1DA3D10, 0x21CEFB4), +('uBlurFilter', 20BF1B0, 0x2204AA4), +('uBlurFilterExt', 1CB2848, 0x21C1B48), +('uBokehFilter', 20BF458, 0x2204BA4), +('uCameraBase', 1CB2E00, 0x21C1B6C), +('uCameraEffect', 20CEFD8, 0x220738C), +('uCameraGame', 1CB3B30, 0x21C1C1C), +('uCapsuleCubeMapLight', 20C9378, 0x2206330), +('uCapsuleLight', 20C8FF0, 0x2206270), +('uCharacter', 1CB42B0, 0x21C1D50), +('uCharacterEdit', 1CB4FC8, 0x21C1DC4), +('uCharacterEditCamera', 1CB4E80, 0x21C1E44), +('uCharacterEditCameraBase', 1CB4E08, 0x21C1E04), +('uCharacterEditCameraBase::cLimit', 1C51508, 0x21C1E24), +('uCharacterSelect', 1CB5F58, 0x21C1E78), +('uCharacterSelectCamera', 1CB5EE0, 0x21C1E98), +('uChromaticAberrationFilter', 20BF590, 0x2204C04), +('uCnsBoneScale', 1CB60E0, 0x21C1EB8), +('uCnsBowUpper', 1CB61B0, 0x21C1EF8), +('uCnsChain', 20CF748, 0x220746C), +('uCnsChain::cCnsChild', 20CF6B0, 0x220748C), +('uCnsDDOIK', 1CB6368, 0x21C1F58), +('uCnsDDOIK::JointInfo', 1CB6328, 0x21C1F38), +('uCnsDDOIK::uCnsJoint', 1CB6288, 0x21C1F18), +('uCnsEdit', 1CB68E8, 0x21C1F78), +('uCnsGroup', 20D96A0, 0x220ACA8), +('uCnsGroup::cCnsChild', 20D9608, 0x220AC88), +('uCnsGroup::cGroup', 20D95B8, 0x220AC68), +('uCnsGroup::cNode', 20D959C, 0x220AC48), +('uCnsHeadCtrl', 1CB69F0, 0x21C1F98), +('uCnsIK', 20D0718, 0x2207794), +('uCnsIK::JointInfo', 20D0700, 0x2207774), +('uCnsIK::uCnsJoint', 20D0660, 0x2207754), +('uCnsIKHandle', 1CB6AE0, 0x21C1FB8), +('uCnsIKTarget', 1CB6B98, 0x21C1FD8), +('uCnsJointOffset', 20C8410, 0x2205FB0), +('uCnsLegCtrl', 1CB6C50, 0x21C1FF8), +('uCnsLookAt', 20CF4F0, 0x220742C), +('uCnsMatrix', 20CF5C8, 0x220744C), +('uCnsMotFilter', 1CB6D20, 0x21C2018), +('uCnsRagdoll', 20D93A0, 0x220ABA4), +('uCnsScaleFix', 1CB6DF0, 0x21C2038), +('uCnsShakeCtrl', 1CB6EA8, 0x21C2058), +('uCnsTinyChain', 20CA4A0, 0x22066A0), +('uCnsTinyChain::cChainGroup', 20CA458, 0x2206680), +('uCnsTinyChain::cChainNode', 20CA43C, 0x2206660), +('uCnsTinyIK', 20CF338, 0x220740C), +('uCnsTurnUpper', 1CB6F60, 0x21C2078), +('uCnsWeapon', 1CB7040, 0x21C2098), +('uColorCorrectFilter', 20BF230, 0x2204AE4), +('uColorCorrectFilter::Corrector', 20BF21C, 0x2204AC4), +('uColorCorrectFilterEm021004', 1DA3CA0, 0x21CEF74), +('uColorCorrectFilterExt', 1DA3C38, 0x21CEF54), +('uColorFog', 20CCD58, 0x2206E60), +('uColorFogExt', 1CF2D30, 0x21C51F4), +('uColorFogFilter', 20BF148, 0x2204A84), +('uConstraint::cConstraint', 1CB6010, 0x22078B4), +('uControl', 1CB75A8, 0x21C20C0), +('uControlEnemy', 1CB7BD0, 0x21C20F4), +('uControlNpc', 1CB8130, 0x21C2128), +('uCorePointSearch', 1CB8700, 0x21C214C), +('uCorePointSearch::cCoreSearchInfo', 1BA7D1C, 0x21C216C), +('uCrossFadeFilter', 20BEE70, 0x22049A4), +('uCubeMapLight', 20C9278, 0x22062F0), +('uCuboidCubeMapLight', 20C93F8, 0x2206350), +('uCuboidLight', 20C90F0, 0x22062B0), +('uCustomSimSoftBody', 1AF2398, 0x21C2190), +('uDDOActorModel', 1CB9380, 0x21C21B8), +('uDDOActorModelEm', 1CB9978, 0x21C21DC), +('uDDOActorModelPl', 1CB9F98, 0x21C2200), +('uDDOActorModelPl::cColorCtrl', 1CB9F80, 0x21C2220), +('uDDOActorModelPubPl', 1CBA5E8, 0x21C2244), +('uDDOBaseModel', 1CBAB68, 0x21C2268), +('uDDOModel', 1CBB118, 0x21C229C), +('uDNInfLightStateTransSpritDragon', 1DA6228, 0x21CF36C), +('uDNPointLightSetManager', 1DA6028, 0x21CF30C), +('uDNSpotLightDarkSky', 1DA6128, 0x21CF34C), +('uDNSpotLightSetManager', 1DA60A8, 0x21CF32C), +('uDNSpotLightStateTransSpritDragon', 1DA62A8, 0x21CF38C), +('uDOFFilter', 20BED38, 0x2204944), +('uDOFFilterAfterlife', 1DA3B60, 0x21CEF14), +('uDOFFilterEm021004', 1DA3BC8, 0x21CEF34), +('uDOFFilterEvilEye', 1DA3AF8, 0x21CEEF4), +('uDOFFilterExt', 1DA3A90, 0x21CEED4), +('uDayNightColorFog', 1DA4728, 0x21CF078), +('uDayNightColorFogEm021004', 1DA47D8, 0x21CF0B8), +('uDayNightHemiSphereLight', 1DA5FA8, 0x21CF2EC), +('uDayNightInfiniteLight', 1DA5F28, 0x21CF2CC), +('uDayNightPointLight', 1DA5DA8, 0x21CF26C), +('uDayNightPointLightOmConst', 1DA5E28, 0x21CF28C), +('uDayNightSpotLight', 1DA5EA8, 0x21CF2AC), +('uDynamicSbc', 20D4D80, 0x2209BA0), +('uEdgeAntiAliasingFilter', 20BF4C0, 0x2204BC4), +('uEditSaveLoadFlow', 1CBC860, 0x21C22E4), +('uEfCam', 1CBCD88, 0x21C2308), +('uEfCamNoPause', 1CBCEE0, 0x21C2328), +('uEffect', 20C7500, 0x2205D68), +('uEffect2D', 20CBA30, 0x2206A98), +('uEffect2DExt', 1CBD520, 0x21C234C), +('uEffect2DExtNoPause', 1CBD5C8, 0x21C236C), +('uEffectEmitter', 20D1EB8, 0x2208E04), +('uEffectExt', 1CBDC08, 0x21C23A0), +('uEffectExtNoPause', 1CBDD78, 0x21C23C0), +('uEffectExtWorldOffset', 1CBDED0, 0x21C23E0), +('uEm010202', 1CBE720, 0x21C2404), +('uEm010210', 1CBF3F8, 0x21C2448), +('uEm010221', 1CC3A10, 0x21C25C8), +('uEm010303', 1CBFC98, 0x21C246C), +('uEm010440', 1CC0608, 0x21C24D0), +('uEm010470', 1CC0EA0, 0x21C24F4), +('uEm010471', 1CC1738, 0x21C2518), +('uEm010480', 1CC1FD0, 0x21C253C), +('uEm010482', 1CC2868, 0x21C2560), +('uEm010820', 1CC3108, 0x21C2584), +('uEm011201', 1CC46F0, 0x21C261C), +('uEm011400', 1CC50A0, 0x21C26A0), +('uEm011410', 1CC5940, 0x21C26C4), +('uEm011500', 1CC63D0, 0x21C2788), +('uEm015010', 1CC6C68, 0x21C27AC), +('uEm015033', 1CC7500, 0x21C27D0), +('uEm015050', 1CC7DA0, 0x21C27F4), +('uEm015060', 1CC8640, 0x21C2818), +('uEm015220', 1CC9010, 0x21C289C), +('uEm015230', 1CC9DB8, 0x21C2930), +('uEm015330', 1CCA9A0, 0x21C2A54), +('uEm015400', 1CCB800, 0x21C2B24), +('uEm015401', 1CCC950, 0x21C2E08), +('uEm015506', 1CCD320, 0x21C2E8C), +('uEm015508', 1CCDBC0, 0x21C2EB0), +('uEm015510', 1CCE530, 0x21C2F14), +('uEm015603', 1CCEEC8, 0x21C2F88), +('uEm015611', 1CCFE80, 0x21C312C), +('uEm015620', 1CD0718, 0x21C3150), +('uEm015717', 1CD0FB8, 0x21C3174), +('uEm015719', 1CD1980, 0x21C31F8), +('uEm015720', 1CD2248, 0x21C321C), +('uEm015730', 1CD2B38, 0x21C326C), +('uEm015821', 1CD3A08, 0x21C3374), +('uEm015821Base', 1CD3628, 0x21C3354), +('uEm015826', 1CD3DE8, 0x21C3394), +('uEm015831', 1CD46A8, 0x21C33B8), +('uEm015835', 1CD4A88, 0x21C33D8), +('uEm015850', 1CD5398, 0x21C341C), +('uEm015850Trinity', 1CD5778, 0x21C343C), +('uEm015860', 1CD6040, 0x21C346C), +('uEm015861', 1CD6998, 0x21C34D4), +('uEm015862', 1CD7230, 0x21C34F8), +('uEm015863', 1CD7B48, 0x21C352C), +('uEm015870', 1CD8FD0, 0x21C37D0), +('uEm015921', 1CD9868, 0x21C37F4), +('uEm020600Base', 1CDA9A0, 0x21C384C), +('uEm020601', 1CDA108, 0x21C3818), +('uEm020602', 1CDAD90, 0x21C386C), +('uEm020700', 1CDBE50, 0x21C39E0), +('uEm020702', 1CDC230, 0x21C3A00), +('uEm020803', 1CDD8B0, 0x21C3DB0), +('uEm020804', 1CDE540, 0x21C3F20), +('uEm021004', 1CDF968, 0x21C40B0), +('uEm022000', 1CE0230, 0x21C40E0), +('uEm023000', 1CE17E8, 0x21C41B4), +('uEm023000::cEm023000EffectSeControl', 1CE17D4, 0x21C4454), +('uEm024000', 1CE2C80, 0x21C4568), +('uEm030104', 1CE09F0, 0x21C4120), +('uEm030105', 1CE0DD0, 0x21C4140), +('uEm030106', 1CDEBF0, 0x21C4080), +('uEm030107', 1CF0690, 0x21C4FCC), +('uEm030108', 1CF0A70, 0x21C4FEC), +('uEm030109', 1CF1050, 0x21C50EC), +('uEm030110', 1CE3DA0, 0x21C483C), +('uEm030111', 1CE46E0, 0x21C48B0), +('uEm030112', 1CE56C8, 0x21C4A14), +('uEm030113', 1CE5AA8, 0x21C4A34), +('uEm030114', 1CE6858, 0x21C4AD8), +('uEm030115', 1CE5E88, 0x21C4A54), +('uEm030116', 1CEDF48, 0x21C4EB0), +('uEm030117', 1CEE328, 0x21C4ED0), +('uEm030118', 1CE70F8, 0x21C4AFC), +('uEm071250', 1CD83D0, 0x21C374C), +('uEm071311', 1CDB180, 0x21C388C), +('uEm075300', 1CE7DD0, 0x21C4B40), +('uEm075400', 1CE8798, 0x21C4BD4), +('uEm075700', 1CE9410, 0x21C4CF8), +('uEm079000', 1CEA080, 0x21C4D1C), +('uEm080101', 1CEA920, 0x21C4D44), +('uEm2Leg', 1CEB240, 0x21C4D88), +('uEm2LegFlyL', 1CCB420, 0x21C4DAC), +('uEm2LegFlyS', 1CE79F0, 0x21C4DD0), +('uEm2LegL', 1CEC470, 0x21C4DF4), +('uEm4Leg', 1CBF018, 0x21C4E18), +('uEm4LegFlyL', 1CDF588, 0x21C4E3C), +('uEm4LegL', 1CC99D8, 0x21C4E60), +('uEmBlackDragonOm', 1CEDB68, 0x21C4E90), +('uEmFloat', 1CC4310, 0x21C4F34), +('uEmOm', 1CEF170, 0x21C4F58), +('uEmOmSpiritDragon', 1CE0610, 0x21C4100), +('uEmPeace', 1CEFA10, 0x21C4F7C), +('uEmPhoenixDragonOm', 1CF02B0, 0x21C4FAC), +('uEmWeak', 1CF1B08, 0x21C5170), +('uEventPrioInfiniteLight', 1D67020, 0x21CBAFC), +('uFSMTask', 1CF3308, 0x21C5258), +('uFade', 1CF2CC0, 0x21C51D4), +('uFishEyeFilter', 20BF0E0, 0x2204A64), +('uFreeCamera', 20CB7E8, 0x2206A38), +('uFullbodyIKHuman2', 20D0958, 0x2207814), +('uFullbodyIKHuman2::Node', 20D0804, 0x22077B4), +('uFullbodyIKHuman2::uCnsFBIKMatrix', 20D0820, 0x22077D4), +('uFullbodyIKHuman2::uCnsUpVectorCalc', 20D08C0, 0x22077F4), +('uFullbodyIKHumanDDO', 1CF34F0, 0x21C52D8), +('uFullbodyIKHumanDDO::Node', 1CF339C, 0x21C5278), +('uFullbodyIKHumanDDO::uCnsFBIKMatrix', 1CF33B8, 0x21C5298), +('uFullbodyIKHumanDDO::uCnsUpVectorCalc', 1CF3458, 0x21C52B8), +('uGUI', 20C5520, 0x2205644), +('uGUIAchievement', 1CF3EF0, 0x21C5308), +('uGUIAchievement::cCateInfo', 1CF3E80, 0x21C5348), +('uGUIAchievement::cCateItem', 1CF3E64, 0x21C5328), +('uGUIAchievement::cListInfo', 1CF3EC0, 0x21C5388), +('uGUIAchievement::cListItem', 1CF3EA4, 0x21C5368), +('uGUIActionPalette', 1CF47E8, 0x21C53BC), +('uGUIAdvGuide', 1CF5348, 0x21C53EC), +('uGUIAdvGuide::cDetailInfo', 1CF5314, 0x21C540C), +('uGUIAdvGuide::cListInfo', 1CF52F0, 0x21C544C), +('uGUIAdvGuide::cListItem', 1CF52D4, 0x21C542C), +('uGUIAim', 1CF5B40, 0x21C547C), +('uGUIAnnounce', 1CF61A0, 0x21C54AC), +('uGUIAreaMaster', 1CF69A8, 0x21C54DC), +('uGUIAreaMaster::cDetailInfo', 1CF68E0, 0x21C559C), +('uGUIAreaMaster::cListInfo', 1CF687C, 0x21C553C), +('uGUIAreaMaster::cListItem', 1CF6844, 0x21C54FC), +('uGUIAreaMaster::cPawnListItem', 1CF6860, 0x21C551C), +('uGUIAreaMaster::cPointInfo', 1CF68BC, 0x21C557C), +('uGUIAreaMaster::cPointItem', 1CF68A0, 0x21C555C), +('uGUIAreaMaster::cSuppliesHeaderInfo', 1CF6920, 0x21C55DC), +('uGUIAreaMaster::cSuppliesHeaderItem', 1CF6904, 0x21C55BC), +('uGUIAreaMaster::cSuppliesInfo', 1CF6960, 0x21C561C), +('uGUIAreaMaster::cSuppliesItem', 1CF6944, 0x21C55FC), +('uGUIArisenCard', 1CF7538, 0x21C564C), +('uGUIArisenCard::cPawnPriorityAction', 1CF7520, 0x21C572C), +('uGUIArisenCard::cScrollAbilityList', 1CF74FC, 0x21C56CC), +('uGUIArisenCard::cScrollDispAbilityList', 1CF74E0, 0x21C56AC), +('uGUIArisenCard::cScrollDispSkillList', 1CF74A0, 0x21C566C), +('uGUIArisenCard::cScrollHistoryDispList', 1CF7460, 0x21C56EC), +('uGUIArisenCard::cScrollHistoryInfoList', 1CF747C, 0x21C570C), +('uGUIArisenCard::cScrollSkillList', 1CF74BC, 0x21C568C), +('uGUIArisenCardPop', 1CF7F98, 0x21C575C), +('uGUIArisenCardPop::cScrollDispList', 1CF7F60, 0x21C577C), +('uGUIArisenCardPop::cScrollListInfo', 1CF7F7C, 0x21C579C), +('uGUIArisenCardPopPawn', 1CF8670, 0x21C57CC), +('uGUIBase', 1CF9E88, 0x21C57FC), +('uGUIBase::cAdjustableWindow', 1CF8DD0, 0x21C603C), +('uGUIBase::cInterpolationValue', 1CF8DEC, 0x21C58BC), +('uGUIBase::cReferenceUIBase', 1CF7378, 0x21C591C), +('uGUIBase::cReferenceUIBtnGuide', 1CF3DF8, 0x21C5C3C), +('uGUIBase::cReferenceUIBtnGuide::cWork', 1CF95E8, 0x21C5C5C), +('uGUIBase::cReferenceUIButton', 1CF9670, 0x21C5CBC), +('uGUIBase::cReferenceUIButton2', 1CF96C8, 0x21C5CDC), +('uGUIBase::cReferenceUIChargesInfo', 1CF8F58, 0x21C597C), +('uGUIBase::cReferenceUIChargesInfo::cData', 1CF8F30, 0x21C599C), +('uGUIBase::cReferenceUICheckList', 1CF98F0, 0x21C5E7C), +('uGUIBase::cReferenceUICheckListForClan', 1CF9948, 0x21C5E9C), +('uGUIBase::cReferenceUICheckbox', 1CF9558, 0x21C5C7C), +('uGUIBase::cReferenceUIClanEmblem', 1CF73C0, 0x21C5EBC), +('uGUIBase::cReferenceUICloseBtn', 1CF9770, 0x21C5D1C), +('uGUIBase::cReferenceUIEditBtn', 1CF9860, 0x21C5E5C), +('uGUIBase::cReferenceUIEditSlider', 1CF9AD8, 0x21C5FBC), +('uGUIBase::cReferenceUIGammaBoard', 1CF94C8, 0x21C5BBC), +('uGUIBase::cReferenceUIIconButton', 1CF9B30, 0x21C5F9C), +('uGUIBase::cReferenceUIIconClanTitle', 1CF9478, 0x21C5B9C), +('uGUIBase::cReferenceUIIconComm', 1CF93D8, 0x21C5B5C), +('uGUIBase::cReferenceUIIconCraftLv', 1CF91A8, 0x21C5A7C), +('uGUIBase::cReferenceUIIconDragonSkill', 1CF9DF8, 0x21C609C), +('uGUIBase::cReferenceUIIconEquip', 1CF9008, 0x21C59DC), +('uGUIBase::cReferenceUIIconFriend', 1CF9BD0, 0x21C5FFC), +('uGUIBase::cReferenceUIIconGameMenu', 1CF9388, 0x21C5B3C), +('uGUIBase::cReferenceUIIconItem', 1CF8FA8, 0x21C59BC), +('uGUIBase::cReferenceUIIconItemCharges', 1CF9068, 0x21C59FC), +('uGUIBase::cReferenceUIIconJob', 1CF90C8, 0x21C5A1C), +('uGUIBase::cReferenceUIIconOnlineStatus', 1CF9428, 0x21C5B7C), +('uGUIBase::cReferenceUIIconQuest', 1CF9298, 0x21C5ADC), +('uGUIBase::cReferenceUIIconSCM', 1CF9338, 0x21C5B1C), +('uGUIBase::cReferenceUIIconShake', 1CF9248, 0x21C5ABC), +('uGUIBase::cReferenceUIIconSkill', 1CF9118, 0x21C5A3C), +('uGUIBase::cReferenceUIIconStatus', 1CF9168, 0x21C5A5C), +('uGUIBase::cReferenceUIIconStorage', 1CF91F8, 0x21C5A9C), +('uGUIBase::cReferenceUINumBox', 1CF99A8, 0x21C5EDC), +('uGUIBase::cReferenceUINumPager', 1CF7408, 0x21C5F7C), +('uGUIBase::cReferenceUIPageDot', 1CF4790, 0x21C5EFC), +('uGUIBase::cReferenceUIPageDot::cPageDotWork', 1CF9A00, 0x21C5F1C), +('uGUIBase::cReferenceUIPullDown', 1CF9CE0, 0x21C5D5C), +('uGUIBase::cReferenceUIPullDown::cData', 1CF9C70, 0x21C5D9C), +('uGUIBase::cReferenceUIPullDown::cMsg', 1CF9C90, 0x21C5DBC), +('uGUIBase::cReferenceUIPullDown::cScrollListItemBasePD', 1CF9C54, 0x21C5D7C), +('uGUIBase::cReferenceUIPullDownSkill', 1CF9D88, 0x21C5DDC), +('uGUIBase::cReferenceUIPullDownSkill::cDataEx', 1CF9D50, 0x21C5DFC), +('uGUIBase::cReferenceUIPullDownSkill::cMsgEx', 1CF9D70, 0x21C5E1C), +('uGUIBase::cReferenceUIQuestEmblem', 1CF92E8, 0x21C5AFC), +('uGUIBase::cReferenceUIRadioButton', 1CF9A78, 0x21C5F3C), +('uGUIBase::cReferenceUIRadioButton::cObject', 1CF9A4C, 0x21C5F5C), +('uGUIBase::cReferenceUIScrollBar', 1CF8E88, 0x21C593C), +('uGUIBase::cReferenceUISelector', 1CF8ED8, 0x21C595C), +('uGUIBase::cReferenceUISimpleBtn', 1CF9810, 0x21C5E3C), +('uGUIBase::cReferenceUITab', 1CF5278, 0x21C5BFC), +('uGUIBase::cReferenceUITab::cTabWork', 1CF95B0, 0x21C5C1C), +('uGUIBase::cReferenceUITextBox', 1CF9618, 0x21C5C9C), +('uGUIBase::cReferenceUIToggleBtn', 1CF9720, 0x21C5CFC), +('uGUIBase::cReferenceUITooltip', 1CF9B80, 0x21C5FDC), +('uGUIBase::cReferenceUIVlCursor', 1CF9518, 0x21C5BDC), +('uGUIBase::cReferenceUIWndwDrag', 1CF97C0, 0x21C5D3C), +('uGUIBase::cScreenAdjustPos', 1CF9C20, 0x21C601C), +('uGUIBase::cScrollListInfoBase', 1B14E74, 0x21C607C), +('uGUIBase::cScrollListItemBase', 1CF3E40, 0x21C605C), +('uGUIBase::cSupportBase', 1CF7328, 0x21C581C), +('uGUIBase::cSupportInstAnim', 1CF733C, 0x21C58FC), +('uGUIBase::cUnitWatcher', 1CF8E08, 0x21C58DC), +('uGUIBase::cValueList', 1CF8DA4, 0x21C589C), +('uGUIBazaar', 1CFBD70, 0x21C613C), +('uGUIBazaarDealSheet', 1CFC428, 0x21C616C), +('uGUIBazaarDealSheet::cDealData', 1CFC414, 0x21C61AC), +('uGUIBazaarDealSheet::cListData', 1CFC3F8, 0x21C618C), +('uGUIBazaarHistory', 1CFCB00, 0x21C61DC), +('uGUIBazaarHistory::cItemHistory', 1CFCAE8, 0x21C61FC), +('uGUIBazaarItem', 1D26938, 0x21C8720), +('uGUIBazaarItemSearch', 1CFD4C0, 0x21C622C), +('uGUIBazaarItemSearch::cCategoryBigData', 1CFD470, 0x21C626C), +('uGUIBazaarItemSearch::cCategoryData', 1CFD440, 0x21C624C), +('uGUIBazaarItemSearch::cItemData', 1CFD48C, 0x21C628C), +('uGUIBazaarItemSearch::cSearchItemData', 1CFD4A8, 0x21C62AC), +('uGUIBazaarPopBuy', 1CFDBE0, 0x21C62DC), +('uGUIBazaarPopInfo', 1CFE240, 0x21C630C), +('uGUIBazaarPopItemList', 1CFE8B0, 0x21C633C), +('uGUIBazaarPopItemList::cItemData', 1CFE880, 0x21C635C), +('uGUIBazaarPopItemList::cItemPrice', 1CFE89C, 0x21C637C), +('uGUIBazaarPopPriceSetting', 1CFEF90, 0x21C63AC), +('uGUIBazaarPopPriceSetting::cItemData', 1CFEF7C, 0x21C63CC), +('uGUIBazaarStorage', 1D26C60, 0x21C8740), +('uGUIBonusAnnounce', 1CFF618, 0x21C63FC), +('uGUIBoughtBox', 1CFFCB8, 0x21C642C), +('uGUIBoxGachaInfo', 1D00598, 0x21C645C), +('uGUIBoxGachaInfo::cItemInfo', 1D004E4, 0x21C647C), +('uGUIBoxGachaInfo::cListInfo', 1D0051C, 0x21C64DC), +('uGUIBoxGachaInfo::cListItem', 1D00540, 0x21C649C), +('uGUIBoxGachaInfo::cLotInfo', 1D0055C, 0x21C64FC), +('uGUIBoxGachaInfo::cLotList', 1D00580, 0x21C64BC), +('uGUIBoxGachaInfo::cSumList', 1D00500, 0x21C651C), +('uGUIBrowserBG', 1D00CE8, 0x21C654C), +('uGUICalibration', 1D013C0, 0x21C657C), +('uGUICapLogo', 1D01A50, 0x21C65AC), +('uGUICharaEditPartsWrap', 1D05798, 0x21C68EC), +('uGUICharaEditPartsWrap::cDupliObjectBase', 1D05130, 0x21C690C), +('uGUICharaEditPartsWrap::cPartsBase', 1D05168, 0x21C692C), +('uGUICharaEditPartsWrap::cPartsColor', 1D05420, 0x21C69EC), +('uGUICharaEditPartsWrap::cPartsColor::cObject', 1D053EC, 0x21C6A0C), +('uGUICharaEditPartsWrap::cPartsColorEye', 1D054D0, 0x21C6A2C), +('uGUICharaEditPartsWrap::cPartsColorHairAll', 1D05580, 0x21C6A4C), +('uGUICharaEditPartsWrap::cPartsDupliBase', 1D05238, 0x21C694C), +('uGUICharaEditPartsWrap::cPartsHList', 1D05630, 0x21C6A6C), +('uGUICharaEditPartsWrap::cPartsImage', 1D05338, 0x21C69AC), +('uGUICharaEditPartsWrap::cPartsImage::cObject', 1D05304, 0x21C69CC), +('uGUICharaEditPartsWrap::cPartsMask', 1D03148, 0x21C6A8C), +('uGUICharaEditPartsWrap::cPartsMyName', 1D056F0, 0x21C6AEC), +('uGUICharaEditPartsWrap::cPartsPulldown', 1D030A0, 0x21C698C), +('uGUICharaEditPartsWrap::cPartsRadioButton', 1D031F0, 0x21C6AAC), +('uGUICharaEditPartsWrap::cPartsRadioSlider', 1D02FF8, 0x21C6ACC), +('uGUICharaEditPartsWrap::cPartsSlider', 1D02F50, 0x21C696C), +('uGUICharaEditPartsWrap::cReferenceUIEditSliderExt', 1D02EB0, 0x21C6B0C), +('uGUICharaEditPartsWrap::cReferenceUIRadioButtonExt', 1D02F00, 0x21C6B2C), +('uGUICharacter', 1D02260, 0x21C65DC), +('uGUICharacter::cJobInfo', 1D02200, 0x21C669C), +('uGUICharacter::cJobItem', 1D021E4, 0x21C667C), +('uGUICharacter::cResistInfo', 1D02240, 0x21C66DC), +('uGUICharacter::cResistItem', 1D02224, 0x21C66BC), +('uGUICharacter::cSkillHeaderInfo', 1D02180, 0x21C661C), +('uGUICharacter::cSkillHeaderItem', 1D02164, 0x21C65FC), +('uGUICharacter::cSkillInfo', 1D021C0, 0x21C665C), +('uGUICharacter::cSkillItem', 1D021A4, 0x21C663C), +('uGUICharacterEdit', 1D033A0, 0x21C670C), +('uGUICharacterEdit::cGUIUnderHelpMsg', 1D03304, 0x21C678C), +('uGUICharacterEdit::cList', 1D0352C, 0x21C672C), +('uGUICharacterEdit::cListEquip', 1D032D4, 0x21C676C), +('uGUICharacterEdit::cListStage', 1D032A4, 0x21C674C), +('uGUICharacterEditDialog', 1D03BD8, 0x21C67DC), +('uGUICharacterEditPopCard', 1D04270, 0x21C680C), +('uGUICharacterSelect', 1D04A00, 0x21C683C), +('uGUICharacterSelect::cGUIGPList', 1D0494C, 0x21C689C), +('uGUICharacterSelect::cGUINameList', 1D04968, 0x21C687C), +('uGUICharacterSelect::cGUIUnderHelpMsg', 1D049D4, 0x21C68BC), +('uGUICharacterSelect::cHorizonInfo', 1D04930, 0x21C685C), +('uGUIChargesHUD', 1D060C8, 0x21C6B5C), +('uGUIChat', 1D068F8, 0x21C6B8C), +('uGUIChat::cCheckList', 1D06860, 0x21C6C4C), +('uGUIChat::cLogInfo', 1D068B8, 0x21C6C6C), +('uGUIChat::cLogItem', 1D068DC, 0x21C6C8C), +('uGUIChat::cPopWndwAddCh', 1D06824, 0x21C6C2C), +('uGUIChat::cPopWndwAddress', 1D06808, 0x21C6BEC), +('uGUIChat::cPopWndwChSubCmd', 1D067EC, 0x21C6BCC), +('uGUIChat::cPopWndwYoN', 1D06840, 0x21C6C0C), +('uGUIChat::cWindow', 1D067D0, 0x21C6BAC), +('uGUIClanCreate', 1D07C70, 0x21C6D5C), +('uGUIClanEdit', 1D07E58, 0x21C6D7C), +('uGUIClanEditBase', 1D073B8, 0x21C6CBC), +('uGUIClanEditInputName', 1D07718, 0x21C6CFC), +('uGUIClanEditInputNameBase', 1D07560, 0x21C6CDC), +('uGUIClanEditInputNickname', 1D078D0, 0x21C6D1C), +('uGUIClanEmblem', 1D08600, 0x21C6DAC), +('uGUIClanList', 1D08D58, 0x21C6DDC), +('uGUIClanList::cList', 1D08D00, 0x21C6DFC), +('uGUIClanMemberSelect', 1D0B1B0, 0x21C701C), +('uGUIClanScout', 1D09760, 0x21C6E6C), +('uGUIClanScout::cGUIPageListScoutEntry', 1D09708, 0x21C6E8C), +('uGUIClanScoutBase', 1D093D8, 0x21C6E2C), +('uGUIClanScoutEntry', 1D09568, 0x21C6E4C), +('uGUIClanSearch', 1D0A1C8, 0x21C6EFC), +('uGUIClanSearch::cGUIPageListSearchClan', 1D0A170, 0x21C6F1C), +('uGUIClanSearchBase', 1D09E40, 0x21C6EBC), +('uGUIClanSearchFilter', 1D09FD0, 0x21C6EDC), +('uGUIClanShop', 1D0A900, 0x21C6F4C), +('uGUIClanShop::cListInfo', 1D0A8C4, 0x21C6F6C), +('uGUIClanShop::cListItem', 1D0A8E8, 0x21C6F8C), +('uGUIClanStatus', 1D0B390, 0x21C703C), +('uGUIClanStatus::cHistoryInfo', 1D0B354, 0x21C705C), +('uGUIClanStatus::cHistoryItem', 1D0B378, 0x21C707C), +('uGUIClanStatusBase', 1D0B010, 0x21C6FBC), +('uGUIClanStatusBase::cScrollListInfoMember', 1D0AFF0, 0x21C6FFC), +('uGUIClanStatusBase::cScrollListItemMember', 1D0AFD4, 0x21C6FDC), +('uGUIClock', 1D0BB30, 0x21C70AC), +('uGUICommunityList', 1D0C438, 0x21C70DC), +('uGUICommunityList::cScrollDispList', 1D0C1E8, 0x21C70FC), +('uGUICommunityList::cScrollItemList', 1D0C1C4, 0x21C711C), +('uGUICommunityList::cTabData', 1D0C218, 0x21C715C), +('uGUICommunityList::cTabDataActiveList', 1D0C2E8, 0x21C719C), +('uGUICommunityList::cTabDataBlackList', 1D0C3B8, 0x21C71DC), +('uGUICommunityList::cTabDataFriendList', 1D0C280, 0x21C717C), +('uGUICommunityList::cTabDataInData', 1D0C1A8, 0x21C713C), +('uGUICommunityList::cTabDataNearPlayerList', 1D0C350, 0x21C71BC), +('uGUIContentsBoard', 1D0CC18, 0x21C720C), +('uGUIContentsBoard::cListItemInfo', 1D0CBF8, 0x21C722C), +('uGUICraft', 1D0D4C8, 0x21C725C), +('uGUICraft::cAddListInfo', 1D0D4A8, 0x21C72FC), +('uGUICraft::cAddListItem', 1D0D48C, 0x21C72DC), +('uGUICraft::cCreateRecipeSort', 1D0D470, 0x21C72BC), +('uGUICraft::cListInfo', 1D0D44C, 0x21C729C), +('uGUICraft::cListItem', 1D0D430, 0x21C727C), +('uGUICraftDragonAnnounce', 1D0DBD8, 0x21C732C), +('uGUICredit', 1D0E300, 0x21C735C), +('uGUICredit::cElement', 1D0E2D8, 0x21C737C), +('uGUIDailyMission', 1D0EAB8, 0x21C73AC), +('uGUIDailyMission::cMissionListInfo', 1D0EA1C, 0x21C73CC), +('uGUIDailyMission::cMissionListItem', 1D0EA40, 0x21C73EC), +('uGUIDamage', 1D3BAA8, 0x21C9AE4), +('uGUIDialogTextBox', 1D0F1D0, 0x21C741C), +('uGUIDogmaOrb', 1D0F880, 0x21C744C), +('uGUIDragonSkillInfo', 1D10920, 0x21C747C), +('uGUIDragonSkillInfo::cLevelInfo', 1D10864, 0x21C74BC), +('uGUIDragonSkillInfo::cScrollLevelDispList', 1D108E4, 0x21C753C), +('uGUIDragonSkillInfo::cScrollLevelInfoList', 1D108C0, 0x21C751C), +('uGUIDragonSkillInfo::cScrollSkillDispList', 1D108A4, 0x21C74FC), +('uGUIDragonSkillInfo::cScrollSkillInfoList', 1D10880, 0x21C74DC), +('uGUIDragonSkillInfo::cSkillInfo', 1D10848, 0x21C749C), +('uGUIDragonSkillMix', 1D11200, 0x21C756C), +('uGUIDragonSkillMix::cCateInfo', 1D110A8, 0x21C758C), +('uGUIDragonSkillMix::cCateItem', 1D110CC, 0x21C75AC), +('uGUIDragonSkillMix::cDetailInfo', 1D11184, 0x21C766C), +('uGUIDragonSkillMix::cEquipSort', 1D111C4, 0x21C76AC), +('uGUIDragonSkillMix::cListData', 1D110E8, 0x21C75CC), +('uGUIDragonSkillMix::cListInfo', 1D11104, 0x21C75EC), +('uGUIDragonSkillMix::cListItem', 1D11128, 0x21C760C), +('uGUIDragonSkillMix::cPackInfo', 1D11160, 0x21C764C), +('uGUIDragonSkillMix::cPackItem', 1D111A8, 0x21C768C), +('uGUIDragonSkillMix::cSubListInfo', 1D11144, 0x21C762C), +('uGUIEffectSealed', 1D11A30, 0x21C76DC), +('uGUIEffectSealed::cSealedInfo', 1D11A14, 0x21C771C), +('uGUIEffectSealed::cSealedItem', 1D119F8, 0x21C76FC), +('uGUIEmblemEdit', 1D12220, 0x21C774C), +('uGUIEmblemEdit::cColor', 1D12208, 0x21C778C), +('uGUIEmblemEdit::cGUIPageListPartsType', 1D12190, 0x21C77AC), +('uGUIEmblemEdit::cTexture', 1D121EC, 0x21C776C), +('uGUIEmbodyingBox', 1D12908, 0x21C77DC), +('uGUIEncyclopedia', 1D131B0, 0x21C780C), +('uGUIEncyclopedia::cCategoryInfo', 1D13174, 0x21C788C), +('uGUIEncyclopedia::cCategoryList', 1D13198, 0x21C786C), +('uGUIEncyclopedia::cList', 1D13158, 0x21C784C), +('uGUIEncyclopedia::cListInfo', 1D13134, 0x21C782C), +('uGUIEngageInfo', 1D13928, 0x21C78BC), +('uGUIEntryBoard', 1D13FB8, 0x21C78EC), +('uGUIEntryBoard::cData', 1D13F90, 0x21C790C), +('uGUIEntryBoardInfo', 1D14680, 0x21C793C), +('uGUIEntryBoardInfo::cData', 1D14658, 0x21C795C), +('uGUIEntryBoardPopRecruit', 1D14D10, 0x21C798C), +('uGUIEntryBoardRecruit', 1D153F0, 0x21C79BC), +('uGUIEntryBoardSearch', 1D15A68, 0x21C79EC), +('uGUIEquipEnhance', 1D16280, 0x21C7A1C), +('uGUIEquipEnhance::cCateInfo', 1D1616C, 0x21C7A3C), +('uGUIEquipEnhance::cCateItem', 1D16190, 0x21C7A5C), +('uGUIEquipEnhance::cCategorySort', 1D1626C, 0x21C7B3C), +('uGUIEquipEnhance::cDetailInfo', 1D16210, 0x21C7ADC), +('uGUIEquipEnhance::cEquipSort', 1D16250, 0x21C7B1C), +('uGUIEquipEnhance::cListInfo', 1D161AC, 0x21C7A7C), +('uGUIEquipEnhance::cListItem', 1D161D0, 0x21C7A9C), +('uGUIEquipEnhance::cPackInfo', 1D161EC, 0x21C7ABC), +('uGUIEquipEnhance::cPackItem', 1D16234, 0x21C7AFC), +('uGUIEquipEnhanceAnnounce', 1D16A00, 0x21C7B6C), +('uGUIEquipRecycleAnnounce', 1D170D8, 0x21C7B9C), +('uGUIEventSkip', 1D17778, 0x21C7BCC), +('uGUIEventViewerBG', 1D17E30, 0x21C7BFC), +('uGUIExHint', 1D18500, 0x21C7C30), +('uGUIFKeyPalette', 1D18BC0, 0x21C7C60), +('uGUIFreeGroupChat', 1D19318, 0x21C7C90), +('uGUIFreeGroupChat::cPlInfo', 1D192F0, 0x21C7CB0), +('uGUIGPConfirm', 1D1DEE8, 0x21C7F50), +('uGUIGPShop', 1D1E720, 0x21C7F80), +('uGUIGPShop::cScrollCOGDispList', 1D1E708, 0x21C8120), +('uGUIGPShop::cScrollCOGItemList', 1D1E6E4, 0x21C8100), +('uGUIGPShop::cScrollChargeDispList', 1D1E600, 0x21C8000), +('uGUIGPShop::cScrollChargeItemList', 1D1E5DC, 0x21C7FE0), +('uGUIGPShop::cScrollHistoryDispList', 1D1E6C8, 0x21C80E0), +('uGUIGPShop::cScrollHistoryItemList', 1D1E6A4, 0x21C80C0), +('uGUIGPShop::cScrollShopDispList', 1D1E5C0, 0x21C7FC0), +('uGUIGPShop::cScrollShopItemList', 1D1E59C, 0x21C7FA0), +('uGUIGPShop::cScrollStatusDispList', 1D1E688, 0x21C80A0), +('uGUIGPShop::cScrollStatusItemList', 1D1E664, 0x21C8080), +('uGUIGPShop::cScrollTicketDispList', 1D1E648, 0x21C8060), +('uGUIGPShop::cScrollTicketItemList', 1D1E624, 0x21C8040), +('uGUIGPShopDialog', 1D1F028, 0x21C8150), +('uGUIGPShopDialog::cScrollHistoryDispList', 1D1F010, 0x21C81D0), +('uGUIGPShopDialog::cScrollHistoryItemList', 1D1EFEC, 0x21C81B0), +('uGUIGPShopDialog::cScrollLimitDispList', 1D1EFD0, 0x21C8190), +('uGUIGPShopDialog::cScrollLimitItemList', 1D1EFAC, 0x21C8170), +('uGUIGachaAnnounce', 1D1A8B8, 0x21C7D50), +('uGUIGainInfo', 1D1AF60, 0x21C7D80), +('uGUIGameMenu', 1D3CBB0, 0x21C9B34), +('uGUIGameMenu::cGameMenuUnitWatcher', 1D3CB94, 0x21C9B54), +('uGUIGauge', 1D3D3A0, 0x21C9B84), +('uGUIGauge::cGaugeInfo', 1D3D378, 0x21C9BA4), +('uGUIGaugeArts', 1D1B670, 0x21C7DB0), +('uGUIGaugeArtsV01_03', 1D1BD10, 0x21C7DE0), +('uGUIGaugeEnemy', 1D3DB38, 0x21C9BD8), +('uGUIGaugeEnemyBoss', 1D3E260, 0x21C9C0C), +('uGUIGaugeEnemyBossDefault', 1D3E408, 0x21C9C2C), +('uGUIGaugeEnemyBossEfreet', 1D3E5B0, 0x21C9C4C), +('uGUIGaugeExp', 1D1C3D0, 0x21C7E10), +('uGUIGaugeExp::cGaugeInfo', 1D1C3B8, 0x21C7E30), +('uGUIGaugeNpc', 1D3EFE0, 0x21C9C9C), +('uGUIGaugeNpcBase', 1D3ED98, 0x21C9C7C), +('uGUIGaugeSkill', 1D1CA70, 0x21C7E60), +('uGUIGaugeSorcery', 1D1D100, 0x21C7E90), +('uGUIGiveAndTake', 1D1D7F0, 0x21C7EC0), +('uGUIGiveAndTake::cItemGiveList', 1D1D794, 0x21C7F00), +('uGUIGiveAndTake::cItemInfoList', 1D1D778, 0x21C7EE0), +('uGUIGiveAndTake::cItemList', 1D1D7B0, 0x21C7F20), +('uGUIGreatPurpose', 1D51E30, 0x21CAC24), +('uGUIHudCannon', 1D1F7A0, 0x21C8200), +('uGUIHudCustomSkillPallet', 1D1FE70, 0x21C8230), +('uGUIHudDarkDungeon', 1D20568, 0x21C8260), +('uGUIHudEfreet', 1D20C80, 0x21C8290), +('uGUIHudJob10Gauge', 1D21358, 0x21C82C0), +('uGUIHudJob11Gauge', 1D21A30, 0x21C82F0), +('uGUIHudQuestNavi', 1D22250, 0x21C8320), +('uGUIIconList', 1D229E8, 0x21C8350), +('uGUIIconList::ListItem', 1D229CC, 0x21C8390), +('uGUIIconList::ListItemInfo', 1D229A8, 0x21C8370), +('uGUIIconListDetail', 1D23120, 0x21C83C0), +('uGUIIndicator', 1D3F830, 0x21C9CEC), +('uGUIInfinityDelivery', 1D23890, 0x21C83F0), +('uGUIInfinityDelivery::cEventInfo', 1D23854, 0x21C8490), +('uGUIInfinityDelivery::cEventList', 1D23878, 0x21C8450), +('uGUIInfinityDelivery::cItemInfo', 1D237DC, 0x21C8410), +('uGUIInfinityDelivery::cListInfo', 1D23814, 0x21C8470), +('uGUIInfinityDelivery::cListItem', 1D23838, 0x21C8430), +('uGUIInfinityDelivery::cSumList', 1D237F8, 0x21C84B0), +('uGUIInfinityDeliveryRanking', 1D24060, 0x21C84E0), +('uGUIInfinityDeliveryRanking::cRankingData', 1D24034, 0x21C8540), +('uGUIInfinityDeliveryRanking::cRankingInfo', 1D24010, 0x21C8520), +('uGUIInfinityDeliveryRanking::cRankingItem', 1D23FF4, 0x21C8500), +('uGUIInfo', 1D247C0, 0x21C8570), +('uGUIInfo::cListInfo', 1D247A0, 0x21C85B0), +('uGUIInfo::cListItem', 1D24784, 0x21C8590), +('uGUIInformationWindow', 1D24F00, 0x21C85E0), +('uGUIInformationWindow::cMessageInfo', 1D24EC4, 0x21C8600), +('uGUIInformationWindow::cMessageItem', 1D24EE8, 0x21C8620), +('uGUIInputText', 1D25608, 0x21C8650), +('uGUIItem01', 1D25FC0, 0x21C86C0), +('uGUIItemAppraise', 1D27718, 0x21C8770), +('uGUIItemAppraise::cCategoryInfo', 1D275E0, 0x21C8790), +('uGUIItemAppraise::cCategoryItem', 1D27604, 0x21C87B0), +('uGUIItemAppraise::cCostInfo', 1D27660, 0x21C8810), +('uGUIItemAppraise::cCostItem', 1D27684, 0x21C8830), +('uGUIItemAppraise::cCrestInfo', 1D276E0, 0x21C8890), +('uGUIItemAppraise::cCrestItem', 1D27704, 0x21C88B0), +('uGUIItemAppraise::cItemInfo', 1D276A0, 0x21C8850), +('uGUIItemAppraise::cItemItem', 1D276C4, 0x21C8870), +('uGUIItemAppraise::cListInfo', 1D27620, 0x21C87D0), +('uGUIItemAppraise::cListItem', 1D27644, 0x21C87F0), +('uGUIItemBaggageEx', 1D27F08, 0x21C88E0), +('uGUIItemBaggageEx::cStorageData', 1D128E8, 0x21C8900), +('uGUIItemBase01::cGUIItem', 1D25C70, 0x21C86A0), +('uGUIItemIcon', 1D62860, 0x21CB7D8), +('uGUIItemKeyItem01', 1D262E8, 0x21C86E0), +('uGUIItemSelectCommon', 1D28948, 0x21C8930), +('uGUIItemSelectCommon::cListInfo', 1D288E8, 0x21C8950), +('uGUIItemSelectCommon::cListItem', 1D28930, 0x21C8990), +('uGUIItemSelectCommon::cRecipeInfo', 1D2890C, 0x21C8970), +('uGUIJobEmblem', 1D297C8, 0x21C89F0), +('uGUIJobEmblem::cCrestInfo', 1D2974C, 0x21C8A50), +('uGUIJobEmblem::cCrestItem', 1D29770, 0x21C8A70), +('uGUIJobEmblem::cJobInfo', 1D2970C, 0x21C8A10), +('uGUIJobEmblem::cJobItem', 1D29730, 0x21C8A30), +('uGUIJobEmblem::cStatusInfo', 1D2978C, 0x21C8A90), +('uGUIJobEmblem::cStatusItem', 1D297B0, 0x21C8AB0), +('uGUIJobEmblemAnnounce', 1D29EF0, 0x21C8AE0), +('uGUIJobExam', 1D29048, 0x21C89C0), +('uGUIJobMaster', 1D2A680, 0x21C8B10), +('uGUIJobMaster::cListHeader', 1D2A5E0, 0x21C8B70), +('uGUIJobMaster::cListHeaderInfo', 1D2A618, 0x21C8BB0), +('uGUIJobMaster::cListInfo', 1D2A63C, 0x21C8BD0), +('uGUIJobMaster::cListItem', 1D2A5FC, 0x21C8B90), +('uGUIJobMaster::cOrder', 1D2A5A8, 0x21C8B30), +('uGUIJobMaster::cRelease', 1D2A5C4, 0x21C8B50), +('uGUIJobOrbTree', 1D2AE38, 0x21C8C00), +('uGUIJobOrbTree::cLineInfo', 1D2ADFC, 0x21C8C60), +('uGUIJobOrbTree::cLineItem', 1D2AE20, 0x21C8C80), +('uGUIJobOrbTree::cSphereInfo', 1D2ADBC, 0x21C8C20), +('uGUIJobOrbTree::cSphereItem', 1D2ADE0, 0x21C8C40), +('uGUIJobSelect', 1D2B578, 0x21C8CB0), +('uGUIJobSelect::cItem', 1D2B530, 0x21C8CD0), +('uGUIJobSelect::cJobInfo', 1D2B54C, 0x21C8CF0), +('uGUIJobSelectCommon', 1D2BC70, 0x21C8D20), +('uGUIJobSelectCommon::cListInfo', 1D2AFA4, 0x21C8D60), +('uGUIJobSelectCommon::cListItem', 1D2BC48, 0x21C8D40), +('uGUIKeyConfig', 1D2C620, 0x21C8D90), +('uGUIKeyConfig::cCategoryInfo', 1D2C558, 0x21C8DB0), +('uGUIKeyConfig::cCategoryItem', 1D2C57C, 0x21C8DD0), +('uGUIKeyConfig::cKeyInfo', 1D2C5A4, 0x21C8DF0), +('uGUIKeyConfig::cKeySettingInfo', 1D2C5D0, 0x21C8E30), +('uGUIKeyConfig::cKeySettingItem', 1D2C5F4, 0x21C8E50), +('uGUIKokujuAnnounce', 1D2CDA8, 0x21C8E80), +('uGUIKokujuMatching', 1D2D440, 0x21C8EB0), +('uGUILayoutFurnitureItem', 1D19CF8, 0x21C7D00), +('uGUILoading', 1D2DAC0, 0x21C8EE0), +('uGUILoginBonus', 1D2E188, 0x21C8F10), +('uGUIMail', 1D2E8A8, 0x21C8F40), +('uGUIMail::cMailData', 1D2E838, 0x21C8F60), +('uGUIMail::cScrollDispList', 1D2E878, 0x21C8FA0), +('uGUIMail::cScrollItemList', 1D2E854, 0x21C8FC0), +('uGUIMail::cTabData', 1D2E894, 0x21C8F80), +('uGUIMailCreate', 1D2EF88, 0x21C8FF0), +('uGUIMailDetail', 1D2F5D8, 0x21C9020), +('uGUIMandraAnnounce', 1D2FC38, 0x21C9050), +('uGUIMandraBaggage', 1D302A8, 0x21C9080), +('uGUIMandraItemBox', 1D30B10, 0x21C90B0), +('uGUIMandraItemBox::cStorageData', 1D30AE4, 0x21C90D0), +('uGUIMap', 1D3FFF0, 0x21C9D20), +('uGUIMap::cLandId', 1D3FF20, 0x21C9D40), +('uGUIMap::cMarker', 1D3FF3C, 0x21C9D60), +('uGUIMap::cMarkerLandInfo', 1D3FF94, 0x21C9DC0), +('uGUIMap::cMarkerUpdInfo', 1D3FF78, 0x21C9DA0), +('uGUIMap::cPointerCursor', 1D3FF5C, 0x21C9D80), +('uGUIMap::cQuestMarkerData', 1D3FFB0, 0x21C9DE0), +('uGUIMapMini', 1D40818, 0x21C9E10), +('uGUIMenuAreaInfo', 1D313E0, 0x21C9100), +('uGUIMenuAreaInfo::cHeaderInfo', 1D31368, 0x21C9140), +('uGUIMenuAreaInfo::cHeaderItem', 1D3138C, 0x21C9120), +('uGUIMenuAreaInfo::cListInfo', 1D313A8, 0x21C9180), +('uGUIMenuAreaInfo::cListItem', 1D313CC, 0x21C9160), +('uGUIMenuCmdPawn', 1D31B18, 0x21C91B0), +('uGUIMenuComm', 1D321A0, 0x21C91E0), +('uGUIMenuTutorial', 1D32880, 0x21C9210), +('uGUIMenuTutorial::cCaption', 1D32858, 0x21C9230), +('uGUIMissionInfo', 1D32F98, 0x21C9260), +('uGUIMissionInfo::cItem', 1D32F4C, 0x21C9280), +('uGUIMissionInfo::cListInfo', 1D32F68, 0x21C92A0), +('uGUIMissionResult', 1D33788, 0x21C92D0), +('uGUIMissionResult::cChargeEffectInfo', 1D33720, 0x21C9330), +('uGUIMissionResult::cGpInfoList', 1D336C4, 0x21C9350), +('uGUIMissionResult::cItemList', 1D336A8, 0x21C9310), +('uGUIMissionResult::cPointList', 1D3368C, 0x21C92F0), +('uGUIMissionResult::cResultScrollInfo', 1D336FC, 0x21C9390), +('uGUIMissionResult::cResultScrollItem', 1D336E0, 0x21C9370), +('uGUIMouseOverCursor', 1D33FD0, 0x21C93C4), +('uGUIMouseOverCursor::cMOC', 1D33FA8, 0x21C93E4), +('uGUIMousePointer', 1D34660, 0x21C9414), +('uGUIMyRoom', 1D34F18, 0x21C9464), +('uGUIMyRoom::cList::cInfo', 1D34EDC, 0x21C9484), +('uGUIMyRoom::cList::cItem', 1D34F00, 0x21C94A4), +('uGUIMyRoomBase', 1D34D00, 0x21C9444), +('uGUIMyRoomPopup', 1D35130, 0x21C94C4), +('uGUIMyRoomPopup::cList::cInfo', 1D350F4, 0x21C94E4), +('uGUIMyRoomPopup::cList::cItem', 1D35118, 0x21C9504), +('uGUINewspaper', 1D410D0, 0x21C9E40), +('uGUINewspaper::cAreaInfo', 1D41060, 0x21CA000), +('uGUINewspaper::cCycleContentsNewsInfo', 1D41044, 0x21C9FE0), +('uGUINewspaper::cLandAreaInfo', 1D41090, 0x21CA020), +('uGUINewspaper::cScrollQuestDispList', 1D40F68, 0x21C9F00), +('uGUINewspaper::cScrollQuestItemList', 1D40F44, 0x21C9EE0), +('uGUINewspaper::cScrollRankingDispList', 1D40FA8, 0x21C9F40), +('uGUINewspaper::cScrollRankingItemList', 1D40F84, 0x21C9F20), +('uGUINewspaper::cScrollRewardDetailInfoList', 1D41004, 0x21C9F80), +('uGUINewspaper::cScrollRewardDetailItemList', 1D41028, 0x21C9F60), +('uGUINewspaper::cScrollRewardSummaryInfoList', 1D40FC4, 0x21C9FC0), +('uGUINewspaper::cScrollRewardSummaryItemList', 1D40FE8, 0x21C9FA0), +('uGUINewspaper::cSelectListHeaderInfo', 1D40F04, 0x21C9EA0), +('uGUINewspaper::cSelectListHeaderItem', 1D40F28, 0x21C9EC0), +('uGUINewspaper::cSelectListItemInfo', 1D40EC4, 0x21C9E60), +('uGUINewspaper::cSelectListItemItem', 1D40EE8, 0x21C9E80), +('uGUINpcWindow', 1D6AD78, 0x21CC65C), +('uGUIOption', 1D41B10, 0x21CA050), +('uGUIPPShop', 1D4BCB8, 0x21CA5C0), +('uGUIPPShop::cBuyInfo', 1D4BBB8, 0x21CA620), +('uGUIPPShop::cItemInfo', 1D4BB9C, 0x21CA600), +('uGUIPPShop::cItemListSync', 1D4BBD4, 0x21CA640), +('uGUIPPShop::cJobInfo', 1D4BB80, 0x21CA5E0), +('uGUIPPShop::cScrollItemDispList', 1D4BC54, 0x21CA6C0), +('uGUIPPShop::cScrollItemInfoList', 1D4BC30, 0x21CA6A0), +('uGUIPPShop::cScrollJobDispList', 1D4BC14, 0x21CA680), +('uGUIPPShop::cScrollJobInfoList', 1D4BBF0, 0x21CA660), +('uGUIPPShopBuy', 1D4C410, 0x21CA6F0), +('uGUIPackageQuestHistory', 1D359E0, 0x21C9534), +('uGUIPackageQuestHistory::cLogSelectListHeaderInfo', 1D358B4, 0x21C9594), +('uGUIPackageQuestHistory::cLogSelectListHeaderItem', 1D358D8, 0x21C95B4), +('uGUIPackageQuestHistory::cLogSelectListItemInfo', 1D35874, 0x21C9554), +('uGUIPackageQuestHistory::cLogSelectListItemItem', 1D35898, 0x21C9574), +('uGUIPackageQuestHistory::cNpcFreeMessageItem', 1D358F4, 0x21C9654), +('uGUIPackageQuestHistory::cQuestListItemInfo', 1D359A4, 0x21C9674), +('uGUIPackageQuestHistory::cQuestListItemItem', 1D359C8, 0x21C9694), +('uGUIPackageQuestHistory::cSequenceListNpcInfo', 1D35924, 0x21C95D4), +('uGUIPackageQuestHistory::cSequenceListNpcItem', 1D35948, 0x21C95F4), +('uGUIPackageQuestHistory::cSequenceListSeqInfo', 1D35964, 0x21C9614), +('uGUIPackageQuestHistory::cSequenceListSeqItem', 1D35988, 0x21C9634), +('uGUIPartyList', 1D36618, 0x21C96C4), +('uGUIPartyList::cGUIPageListMainPawn', 1D364A0, 0x21C9744), +('uGUIPartyList::cGUIPageListPartyMember', 1D36440, 0x21C9724), +('uGUIPartyList::cGUIPageListPartySearch', 1D36560, 0x21C9784), +('uGUIPartyList::cGUIPageListPlayerSearch', 1D365C0, 0x21C97A4), +('uGUIPartyList::cGUIPageListSupportPawn', 1D36500, 0x21C9764), +('uGUIPartyList::cTitle', 1D363C0, 0x21C96E4), +('uGUIPawnExpedition', 1D36EF0, 0x21C97D4), +('uGUIPawnExpedition::cHeaderInfo', 1D36E74, 0x21C97F4), +('uGUIPawnExpedition::cHeaderItem', 1D36E98, 0x21C9814), +('uGUIPawnExpedition::cListInfo', 1D36EB4, 0x21C9834), +('uGUIPawnExpedition::cListItem', 1D36ED8, 0x21C9854), +('uGUIPawnExpeditionResult', 1D375F8, 0x21C9884), +('uGUIPawnReview', 1D37D08, 0x21C98B4), +('uGUIPawnReviewEdit', 1D38448, 0x21C9904), +('uGUIPawnReviewEdit::RadioButton', 1D383F8, 0x21C98E4), +('uGUIPawnThinkList', 1D38B30, 0x21C9934), +('uGUIPhoto', 1D391C8, 0x21C9964), +('uGUIPhotoAlbum', 1D398A8, 0x21C9994), +('uGUIPhotoUpload', 1D39F70, 0x21C99C4), +('uGUIPhotoUpload::cCate', 1D39F44, 0x21C99E4), +('uGUIPick01', 1D3A660, 0x21C9A14), +('uGUIPick01::cGUIItem', 1D3A638, 0x21C9A54), +('uGUIPick01::cGUIUseItem', 1D3A608, 0x21C9A34), +('uGUIPlace', 1D421E8, 0x21CA080), +('uGUIPointer', 1D3ADC8, 0x21C9A84), +('uGUIPopBuffBonus', 1D42840, 0x21CA0B0), +('uGUIPopCmd01', 1D42EC8, 0x21CA0E0), +('uGUIPopCmd01::cItem', 1D42EA0, 0x21CA100), +('uGUIPopCnvWnd', 1D435B8, 0x21CA130), +('uGUIPopCraftDetail', 1D43C50, 0x21CA160), +('uGUIPopDetail01', 1D443B8, 0x21CA190), +('uGUIPopEventTop', 1D44B88, 0x21CA1C0), +('uGUIPopExchangeMoney', 1D45200, 0x21CA1F0), +('uGUIPopFilter', 1D45948, 0x21CA220), +('uGUIPopFilter::cData', 1D458B4, 0x21CA260), +('uGUIPopFilter::cListItem', 1D45898, 0x21CA240), +('uGUIPopItemSelect', 1D46048, 0x21CA290), +('uGUIPopItemSelect::cListInfo', 1D4602C, 0x21CA2D0), +('uGUIPopItemSelect::cListItem', 1D46010, 0x21CA2B0), +('uGUIPopListDialog', 1D46748, 0x21CA300), +('uGUIPopListDialog::cListInfo', 1D466F8, 0x21CA320), +('uGUIPopListDialog::cListItem', 1D4671C, 0x21CA340), +('uGUIPopNumber01', 1D46DF0, 0x21CA370), +('uGUIPopPartyList', 1D47490, 0x21CA3A0), +('uGUIPopPartyList::cJob', 1D47468, 0x21CA3C0), +('uGUIPopPartyMember', 1D47D08, 0x21CA410), +('uGUIPopPawnList', 1D483F8, 0x21CA440), +('uGUIPopPawnPoint', 1D48B88, 0x21CA470), +('uGUIPopPlayerSearch', 1D49208, 0x21CA4A0), +('uGUIPopProfile', 1D498D8, 0x21CA4D0), +('uGUIPopRimStone', 1D49FA8, 0x21CA500), +('uGUIPopRmcQuestInfo', 1D4A718, 0x21CA530), +('uGUIPopSkillInfo', 1D4AD90, 0x21CA560), +('uGUIPopTopSel', 1D4B498, 0x21CA590), +('uGUIPresetEquip', 1D4CAD8, 0x21CA720), +('uGUIPresetEquip::cListInfo', 1D4CAB8, 0x21CA760), +('uGUIPresetEquip::cListItem', 1D4CA9C, 0x21CA740), +('uGUIQuestActive', 1D4D940, 0x21CA7A4), +('uGUIQuestBoard', 1D4E058, 0x21CA7D4), +('uGUIQuestBoard::cListInfo', 1D4E038, 0x21CA7F4), +('uGUIQuestBoardBase', 1D4E708, 0x21CA824), +('uGUIQuestBoardBase::cListHeader', 1D4E6D8, 0x21CA844), +('uGUIQuestBoardBase::cListItem', 1D4E6F4, 0x21CA864), +('uGUIQuestDelivery', 1D4EE18, 0x21CA894), +('uGUIQuestDelivery::cDeliveryItem', 1D4EDF0, 0x21CA8F4), +('uGUIQuestDelivery::cListInfo', 1D4EDCC, 0x21CA8D4), +('uGUIQuestDelivery::cListItem', 1D4EDB0, 0x21CA8B4), +('uGUIQuestHistory', 1D4F570, 0x21CA924), +('uGUIQuestHistory::cListInfo', 1D4F554, 0x21CA964), +('uGUIQuestHistory::cListItem', 1D4F538, 0x21CA944), +('uGUIQuestInfo', 1D4FD38, 0x21CA994), +('uGUIQuestInfo::cListInfo', 1D4FD18, 0x21CA9D4), +('uGUIQuestInfo::cRewardItem', 1D4FCFC, 0x21CA9B4), +('uGUIQuestList', 1D50438, 0x21CAA04), +('uGUIQuestList::cDetailInfo', 1D5041C, 0x21CAA24), +('uGUIQuestList::cListInfo', 1D503F8, 0x21CAA64), +('uGUIQuestList::cListItem', 1D503DC, 0x21CAA44), +('uGUIQuestReward', 1D50B90, 0x21CAA94), +('uGUIQuestReward::cListInfo', 1D50AF8, 0x21CAAD4), +('uGUIQuestReward::cListItem', 1D50ADC, 0x21CAAB4), +('uGUIQuestReward::cRewardInfo', 1D50B60, 0x21CAB14), +('uGUIQuestReward::cRewardItem', 1D50B30, 0x21CAAF4), +('uGUIQueueAnnounce', 1D513E8, 0x21CAB44), +('uGUIQueueAnnounceCaution', 1D516D8, 0x21CAB84), +('uGUIQueueAnnounceClanDungeon', 1D51B40, 0x21CABE4), +('uGUIQueueAnnounceDarkBoss', 1D526C8, 0x21CAC54), +('uGUIQueueAnnounceDarkDungeon', 1D52D50, 0x21CAC84), +('uGUIQueueAnnounceLvUp', 1D53420, 0x21CACB4), +('uGUIQueueAnnouncePawn', 1D51850, 0x21CABA4), +('uGUIQueueAnnounceQuest', 1D51560, 0x21CAB64), +('uGUIQueueAnnounceQuestAllClear', 1D519C8, 0x21CABC4), +('uGUIQueueAnnounceSeasonDungeon', 1D51CB8, 0x21CAC04), +('uGUIQuickParty', 1D53A90, 0x21CACE4), +('uGUIQuickPartyCancel', 1D47608, 0x21CA3E0), +('uGUIRankUp', 1D548A8, 0x21CADC8), +('uGUIRankingBoard', 1D541A0, 0x21CAD18), +('uGUIRankingBoard::cListInfo', 1D54140, 0x21CAD58), +('uGUIRankingBoard::cListItem', 1D54124, 0x21CAD38), +('uGUIRankingBoard::cRankingInfo', 1D54180, 0x21CAD98), +('uGUIRankingBoard::cRankingItem', 1D54164, 0x21CAD78), +('uGUIRetry', 1D54F00, 0x21CADF8), +('uGUIRetrySelect', 1D555F0, 0x21CAE28), +('uGUIRimStone', 1D55ED0, 0x21CAE58), +('uGUIRimStone::cGUIPageListLostPawn', 1D55E70, 0x21CAF18), +('uGUIRimStone::cGUIPageListMainPawn', 1D55DA0, 0x21CAED8), +('uGUIRimStone::cGUIPageListSearchCategory', 1D55C70, 0x21CAE98), +('uGUIRimStone::cGUIPageListSearchPawn', 1D55D38, 0x21CAEB8), +('uGUIRimStone::cGUIPageListSupportPawn', 1D55E08, 0x21CAEF8), +('uGUIRimWarp', 1D56750, 0x21CAF48), +('uGUIRimWarp::cHeaderInfo', 1D566F4, 0x21CAF88), +('uGUIRimWarp::cHeaderItem', 1D566D8, 0x21CAF68), +('uGUIRimWarp::cListInfo', 1D56734, 0x21CAFC8), +('uGUIRimWarp::cListItem', 1D56718, 0x21CAFA8), +('uGUIRoyalAnnounce', 1D56E88, 0x21CAFF8), +('uGUISaveListComment', 1D574F8, 0x21CB028), +('uGUISaveListPC', 1D57B68, 0x21CB058), +('uGUIScheduler', 20C5620, 0x2205664), +('uGUIServerSelect', 1D583F8, 0x21CB128), +('uGUIServerSelectBase', 1D58260, 0x21CB088), +('uGUIServerSelectBase::cGUIMember', 1D58220, 0x21CB0E8), +('uGUIServerSelectBase::cName', 1D581C4, 0x21CB108), +('uGUIServerSelectBase::cScrollDistList', 1D581E0, 0x21CB0A8), +('uGUIServerSelectBase::cScrollInfoList', 1D581FC, 0x21CB0C8), +('uGUIServerSelectSMENU', 1D58590, 0x21CB148), +('uGUIServerSelectSMENUserver', 1D58728, 0x21CB168), +('uGUIServerUIDialog', 1D594E8, 0x21CB1C8), +('uGUIServerUITimeEvent', 1D59BA0, 0x21CB1F8), +('uGUIServerUITimeEvent::cScrollInfoDispList', 1D59B8C, 0x21CB278), +('uGUIServerUITimeEvent::cScrollInfoItemList', 1D59B68, 0x21CB258), +('uGUIServerUITimeEvent::cScrollMenuDispList', 1D59B4C, 0x21CB238), +('uGUIServerUITimeEvent::cScrollMenuItemList', 1D59B28, 0x21CB218), +('uGUIShakeEnemy', 1D5A2D0, 0x21CB2A8), +('uGUIShakeStick', 1D5A930, 0x21CB2D8), +('uGUIShop', 1D5AFD0, 0x21CB308), +('uGUIShop::cScrollDispList', 1D5AFBC, 0x21CB328), +('uGUIShop::cScrollItemList', 1D5AF98, 0x21CB348), +('uGUIShopBuy', 1D5B658, 0x21CB378), +('uGUIShopItem', 1D26610, 0x21C8700), +('uGUIShopTitle', 1D5BC88, 0x21CB3A8), +('uGUISkill', 1D5C558, 0x21CB3D8), +('uGUISkill::PresetLeftItem', 1D5C518, 0x21CB478), +('uGUISkill::cJobData', 1D5C4E0, 0x21CB438), +('uGUISkill::cListInfo', 1D5C4BC, 0x21CB418), +('uGUISkill::cListItem', 1D5C48C, 0x21CB3F8), +('uGUISkill::cSkillData', 1D5C4FC, 0x21CB458), +('uGUISkillLvUp', 1D5CCE8, 0x21CB4A8), +('uGUISkippableAnnounce', 1D5D350, 0x21CB4D8), +('uGUIStockFurnitureItem', 1D199D0, 0x21C7CE0), +('uGUIStorage', 1D5E090, 0x21CB558), +('uGUIStorageEx', 1D5E890, 0x21CB588), +('uGUISubList', 1D5F100, 0x21CB5B8), +('uGUISubRecipe', 1D5F758, 0x21CB5E8), +('uGUISubtitles', 20C5738, 0x22056A4), +('uGUISubtitles::Subtitles', 20C5724, 0x2205684), +('uGUISystemMsg', 1D5FE48, 0x21CB618), +('uGUISystemMsg::cChoiceInfo', 1D5FDEC, 0x21CB658), +('uGUISystemMsg::cPageInfo', 1D5FE1C, 0x21CB638), +('uGUITelop', 1D60568, 0x21CB688), +('uGUITextHud', 1D60C08, 0x21CB6B8), +('uGUITitle', 1D61260, 0x21CB6E8), +('uGUITouchTargetSelector', 1D3F158, 0x21C9CBC), +('uGUITutorialAnnounce', 1D61920, 0x21CB718), +('uGUITutorialPop', 1D61F98, 0x21CB748), +('uGUIUseItemBase::cEquipInfo', 1D62630, 0x21CB7B8), +('uGUIUseItemBase::cGetItemInfo', 1D30AC0, 0x21CB798), +('uGUIWarehouseSelect', 1D62EF8, 0x21CB808), +('uGUIsMenuBase::cPulldown', 1D498B8, 0x21CB528), +('uGeometry2', 20DA1F0, 0x220AFB4), +('uGeometry2Collider', 20DA428, 0x220B034), +('uGeometry2Collider::cContactInfo', 20DA3AC, 0x220AFF4), +('uGeometry2Collider::cNodeGeometryInfo', 20DA3C8, 0x220B014), +('uGeometry2Group', 20DA730, 0x220B054), +('uGeometry2GroupCollider', 20DA810, 0x220B074), +('uGeometry3', 20DA2C0, 0x220AFD4), +('uGodRaysFilter', 20BF528, 0x2204BE4), +('uGraphPatch', 0, 0x22076EC), +('uGrass', 20D12E0, 0x2208900), +('uGrass2', 20D9BE8, 0x220AE48), +('uGrassMarkLine', 20CFFA8, 0x22075CC), +('uGrassMarkPoint', 20CFF38, 0x22075AC), +('uGrassReceiver', 20CFE40, 0x220756C), +('uGrassWind::cSwingParameters', 20CF9CC, 0x22074CC), +('uGrassWindDirection', 1DA53B0, 0x22074EC), +('uGrassWindGlobal', 20CFB78, 0x220754C), +('uGrassWindLine', 20CFAF8, 0x220752C), +('uGrassWindPoint', 20CFA78, 0x220750C), +('uHateEnemy', 1CE9CA0, 0x21CB82C), +('uHazeFilter', 20BF078, 0x2204A44), +('uHazeFilterEm021004', 1DA3A20, 0x21CEE94), +('uHazeFilterExt', 1DA39B8, 0x21CEE74), +('uHemiSphereLight', 20C91F8, 0x22062D0), +('uHemiSphereLightExt', 1D66EA0, 0x21CBA9C), +('uHuman', 1D64240, 0x21CB860), +('uHuman::cBlendMotionCtrl', 1D64228, 0x21CB8A0), +('uHuman::cEnemyClimbInfo', 1BAE390, 0x21CB880), +('uHuman::cHealSeCaller', 1D641F0, 0x21CB8E0), +('uHuman::cLimitActCtrl', 1D6420C, 0x21CB8C0), +('uHumanEnemy', 1D64C80, 0x21CB904), +('uHumanEnemyLeo', 1D655F8, 0x21CB928), +('uISC', 20D0348, 0x220768C), +('uISC::ISC', 20D0334, 0x22076AC), +('uImagePlaneFilter', 20BEE08, 0x2204984), +('uInfiniteLight', 20C8EF0, 0x2206210), +('uInfiniteLightExt', 1D66C20, 0x21CB9FC), +('uInfiniteLightExtEm021004', 1D670E0, 0x21CBB1C), +('uJobEquip', 1D65978, 0x21CB948), +('uLantern', 1D660F8, 0x21CB98C), +('uLanternLight', 1D66D20, 0x21CBA3C), +('uLanternLight_PlOverHead', 1D66DA0, 0x21CBA5C), +('uLargeEnemyCamera', 1D66688, 0x21CB9B4), +('uLight::cHardwareDispCtrlLight', 1D66BD8, 0x22061F0), +('uLightScatteringFilter', 20BF298, 0x2204B04), +('uLightScatteringFog', 20CCDC8, 0x2206E80), +('uLightScatteringFogExt', 1CF2DA0, 0x21C5214), +('uLightShaft', 20DBC38, 0x220B574), +('uLightSpaceShadow', 20CE860, 0x22072EC), +('uLightSpaceShadowExt', 1D6FBB8, 0x21CC964), +('uMandragoraBase', 1D67828, 0x21CBB94), +('uMandragoraBody', 1D68280, 0x21CC27C), +('uMandragoraControl', 1D67FB8, 0x21CBBB4), +('uMandragoraControl::ActBase', 1D67AF8, 0x21CC05C), +('uMandragoraControl::ActFootwork', 1D67B40, 0x21CC07C), +('uMandragoraControl::ActGreeting', 1D67E58, 0x21CC1DC), +('uMandragoraControl::ActItemReceive', 1D67E10, 0x21CC1BC), +('uMandragoraControl::ActLifted', 1D67D80, 0x21CC17C), +('uMandragoraControl::ActMotCombToolMode', 1D67CA8, 0x21CC11C), +('uMandragoraControl::ActMove', 1D67B88, 0x21CC09C), +('uMandragoraControl::ActNothing', 1D67EA0, 0x21CC1FC), +('uMandragoraControl::ActPartyVisitMode', 1D67F78, 0x21CC25C), +('uMandragoraControl::ActPictureMode', 1D67D38, 0x21CC15C), +('uMandragoraControl::ActResourceMove', 1D67CF0, 0x21CC13C), +('uMandragoraControl::ActSelect', 1D67C60, 0x21CC0FC), +('uMandragoraControl::ActStroked', 1D67DC8, 0x21CC19C), +('uMandragoraControl::ActSwiming', 1D67EE8, 0x21CC21C), +('uMandragoraControl::ActTurn', 1D67BD0, 0x21CC0BC), +('uMandragoraControl::ActWarp', 1D67F30, 0x21CC23C), +('uMandragoraControl::ActWaypointMove', 1D67C18, 0x21CC0DC), +('uMandragoraHead', 1D68548, 0x21CC29C), +('uMandragoraParts', 1D68810, 0x21CC2BC), +('uMockUpModel', 1D69398, 0x21CC598), +('uModel', 20C3768, 0x220533C), +('uModel::Joint', 20C2FF8, 0x2205250), +('uModel::JointDAGNode', 20C301C, 0x2205230), +('uModel::Motion', 20C1F54, 0x2204E30), +('uModelPlaneClip', 20CE2E8, 0x22071CC), +('uModelSky', 20CE250, 0x22071AC), +('uModelSymmetry', 20CE398, 0x22071EC), +('uMotionBlurFilter', 20BEFA8, 0x2204A24), +('uMotionCamera', 20C46C0, 0x22053C4), +('uMovie', 20C6A18, 0x2205C30), +('uMovieExt', 1D69C50, 0x21CC5FC), +('uMultiBloomFilter', 20D2218, 0x2208EA4), +('uMultiBlurFilter', 20D2098, 0x2208E44), +('uMultiChromaticAberrationFilter', 20BBE70, 0x2208EC4), +('uMultiColorCorrectFilter', 20D2198, 0x2208E84), +('uMultiGodRaysFilter', 20D2118, 0x2208E64), +('uNetStorage', 20D0B20, 0x2207874), +('uNoiseFogFilter', 20BEF40, 0x22049E4), +('uNpc', 1D6A178, 0x21CC62C), +('uOccluder', 20D0060, 0x22075EC), +('uOccluderMover', 20D00C8, 0x220760C), +('uOfsMotionCamera', 1D6B450, 0x21CC684), +('uOfsMotionCamera::cAdjustParam', 1D6B430, 0x21CC6A4), +('uOmModel', 1D6C5E8, 0x21CC73C), +('uOmShell', 1C9A3B0, 0x21B03C8), +('uOmSimple', 1D6C8B0, 0x21CC75C), +('uOmSwingInstancing', 1D6C058, 0x21CC708), +('uOmSwingModel', 1D6D118, 0x21CC790), +('uOmSwingModelInstancing', 1D6BFB0, 0x21CC6E8), +('uOutlineFilter', 20BF3F0, 0x2204B84), +('uOutlineFilter::Detector', 20BF3D0, 0x2204B64), +('uPCShutdownCheck', 1D6E320, 0x21CC7D4), +('uPawn', 1D6D698, 0x21CC7B4), +('uPlayer', 1D6E8B0, 0x21CC808), +('uPointCubeMapLight', 20C92F8, 0x2206310), +('uPointLight', 20C8F70, 0x2206250), +('uPointLightExt', 1D66CA0, 0x21CBA1C), +('uPointShadow', 20CEAE0, 0x220736C), +('uPointShadowExt', 1D6FD98, 0x21CC9C4), +('uRadialBlurFilter', 20BF010, 0x2204A04), +('uRagdoll', 20C9E60, 0x2206514), +('uRagdoll::JOINT_INFO', 20C9E4C, 0x2206554), +('uRagdoll::RIGID_BODY_INFO', 20C9E30, 0x2206534), +('uRagdollExt', 1D6EC38, 0x21CC828), +('uResetFlag', 1D6ECC8, 0x21CC84C), +('uResidingCallDraw', 1D6ED98, 0x21CC86C), +('uRigidBody', 20C98E0, 0x22063B4), +('uRigidBodyExt', 1D6EE30, 0x21CC88C), +('uScheduler', 20BE4F0, 0x220467C), +('uSchedulerEdit', 20BE558, 0x220469C), +('uScrBaseModel', 1D6F408, 0x21CC8E0), +('uScrBaseModelDayNight', 1D6FAD0, 0x21CC944), +('uScrBaseModelHQ', 1D6F550, 0x21CC920), +('uScrModel', 1D6F358, 0x21CC8C0), +('uScrModelHQ', 1D6F4A0, 0x21CC900), +('uScreenSpace', 1C7F540, 0x2206A58), +('uScrollCollisionGeometry', 20D1548, 0x2208960), +('uScrollCollisionGeometry::cGeometryInfo', 20D151C, 0x2208940), +('uScrollCollisionGeometryGroupModel', 20DA9D8, 0x220B0B4), +('uScrollCollisionGeometryModel', 20DA8B0, 0x220B094), +('uScrollCollisionSbc', 20DAAC0, 0x220B0D4), +('uSetFurniture', 1D1A020, 0x21C7D20), +('uShadow::cHardwareDispCtrlShadow', 1D6FB8C, 0x22072CC), +('uShallowWind', 20CDEE8, 0x220712C), +('uShl020702BladeShot', 1CDCD60, 0x21C3D60), +('uShl021004MainMagic01', 1D708B8, 0x21CCA4C), +('uShl021004MainMagic02', 1D70BF0, 0x21CCA8C), +('uShl021004SubEnchant', 1D718D0, 0x21CCB8C), +('uShl021004SubMagic03', 1D70F38, 0x21CCACC), +('uShl021004SubMagic04', 1D71598, 0x21CCB4C), +('uShl021004ThunderBall', 1D71268, 0x21CCB0C), +('uShlAlchemColBase', 1D76328, 0x21CCEC4), +('uShlAlchemColEnchant', 1D769B8, 0x21CCF04), +('uShlAlchemColTrapAttack', 1D76D20, 0x21CCF44), +('uShlAlchemy', 1D725A0, 0x21CCBD0), +('uShlAlchemyCS03', 1D728D8, 0x21CCC10), +('uShlAlchemyCS03Ex01', 1D72C68, 0x21CCC70), +('uShlAlchemyObj', 1D73648, 0x21CCCB4), +('uShlAlchemyTrap', 1D73F70, 0x21CCCF8), +('uShlAlchemyTrapAttack', 1D74310, 0x21CCD58), +('uShlArrow', 1D74BC8, 0x21CCD9C), +('uShlArrowInc', 1D74F08, 0x21CCDDC), +('uShlArrowRainCtrl', 1D75778, 0x21CCE20), +('uShlBakuensen', 1D775C8, 0x21CCFA8), +('uShlBaphoElementAtk', 1D78268, 0x21CD02C), +('uShlBaphoEnlargeHit', 1D788E0, 0x21CD0AC), +('uShlBase', 1D79238, 0x21CD0F4), +('uShlBlackLindwurmWingMist', 1D79D40, 0x21CD158), +('uShlBreath', 1D7A590, 0x21CD19C), +('uShlCatoblepasBase', 1D9D650, 0x21CE928), +('uShlCatoblepasBreath', 1D7AF30, 0x21CD1E0), +('uShlCatoblepasCannon', 1D9D990, 0x21CE968), +('uShlCatoblepasHeadSmoke', 1D9DCD0, 0x21CE9A8), +('uShlCatoblepasStorm', 1DA17C8, 0x21CEC64), +('uShlComponentCtrl', 1D7B818, 0x21CD244), +('uShlConditionBase', 1D7C058, 0x21CD2A8), +('uShlConditionFollowMove', 1D7C368, 0x21CD2C8), +('uShlConditionStick', 1D7C680, 0x21CD2E8), +('uShlConstErosion', 1D96748, 0x21CE49C), +('uShlContaminateCrystalMgr', 1D7CF38, 0x21CD36C), +('uShlCreepHoming', 1D7D768, 0x21CD3B0), +('uShlCustomConditionBase', 1D7DF88, 0x21CD3F4), +('uShlCustomConditionFollowMove', 1D7E288, 0x21CD414), +('uShlCustomSpline', 1D7EB60, 0x21CD478), +('uShlDamageSync', 1D7FFA8, 0x21CD560), +('uShlDamageSyncBreak', 1D802D8, 0x21CD5A0), +('uShlDamageSyncCtrl', 1D7FC78, 0x21CD520), +('uShlDeathLantern', 1CCF588, 0x21C30E8), +('uShlDividedCalled', 1D7F410, 0x21CD4BC), +('uShlElementCover', 1D80BC8, 0x21CD5E4), +('uShlEmMultiLock', 1D81750, 0x21CD62C), +('uShlEmMultiLock::cTargetList', 1D81728, 0x21CD64C), +('uShlEnchant', 1D76000, 0x21CD6D0), +('uShlEnergyCharge', 1D82668, 0x21CD718), +('uShlEnlargeAtk', 1D785B0, 0x21CD06C), +('uShlEvilEyeBase', 1D82E80, 0x21CD760), +('uShlEvilEyeDamageSyncCtrl', 1D831C8, 0x21CD7A0), +('uShlFireWallCtrl', 1D844E0, 0x21CD8E4), +('uShlFollowMove', 1D84DB8, 0x21CD92C), +('uShlFollowMoveBomb', 1D83570, 0x21CD860), +('uShlFollowMoveBombExplosion', 1D838A0, 0x21CD8A0), +('uShlFollowMoveWarOrc', 1D855C0, 0x21CD974), +('uShlFriendSupport', 1D85DF0, 0x21CD9B8), +('uShlFuwaFuwa2', 1D86680, 0x21CDA00), +('uShlGeneAlongGround', 1D86EC0, 0x21CDA44), +('uShlGeneErosionTentacle', 1D87760, 0x21CDA88), +('uShlGeneOwnerJoint', 1D88048, 0x21CDAEC), +('uShlGeneTarget', 1D89050, 0x21CDBB8), +('uShlGenerator', 1D88828, 0x21CDB54), +('uShlGravity', 1D898C8, 0x21CDC1C), +('uShlHermiteY', 1D97998, 0x21CE524), +('uShlHitReactionConditionStick', 1D8A7B8, 0x21CDD04), +('uShlHitReactionSpline', 1D8A148, 0x21CDC84), +('uShlHitReactionStick', 1D8A480, 0x21CDCC4), +('uShlHoming', 1D8B070, 0x21CDD48), +('uShlHomingEm', 1D8BD28, 0x21CDDCC), +('uShlIntervalHitBase', 1D8C518, 0x21CDE30), +('uShlIntervalHitStick', 1D8C828, 0x21CDE50), +('uShlJob04CS14', 1D8D198, 0x21CDEB4), +('uShlJob06CS12', 1D8D9A0, 0x21CDEF8), +('uShlJob06CS13', 1D8E280, 0x21CDF3C), +('uShlJob06CS14', 1D8EA88, 0x21CDF80), +('uShlJob08CS12Npc', 1D8B390, 0x21CDD88), +('uShlJob08CS13', 1D95618, 0x21CE3D4), +('uShlJob08Cs05Ex02Stick', 1D8F288, 0x21CDFC4), +('uShlJob08Cs12Homing', 1D98E98, 0x21CE668), +('uShlJob08Cs12Pad', 1D98B88, 0x21CE628), +('uShlJob09CS11', 1D8FDA8, 0x21CE008), +('uShlJob09CS11Alchem', 1D76628, 0x21CCE84), +('uShlJob09CS11Blow', 1D90118, 0x21CE048), +('uShlJob10CS04', 1D90948, 0x21CE090), +('uShlJob10CS06', 1D91180, 0x21CE0D8), +('uShlJob10CS07', 1D91988, 0x21CE11C), +('uShlJob11MarkUp', 1D921E0, 0x21CE160), +('uShlKeyFrameBase', 1D932D0, 0x21CE208), +('uShlKeyFrameSpeed', 1D8FA98, 0x21CE228), +('uShlLaser', 1D93B18, 0x21CE28C), +('uShlLineConnectCtrl', 1D70578, 0x21CD820), +('uShlMeteo', 1D94A38, 0x21CE350), +('uShlMeteoCtrl', 1D94700, 0x21CE310), +('uShlMgcArrow', 1D952D0, 0x21CE394), +('uShlMgcArrowErosion', 1D96400, 0x21CE41C), +('uShlMgcArrowErosionCtrl', 1D960D0, 0x21CE45C), +('uShlNotifyCatch', 1D97128, 0x21CE4E0), +('uShlOmCannon', 1D97CD8, 0x21CE564), +('uShlOmPlCannon', 1D98018, 0x21CE5A4), +('uShlPadCtrl', 1D98878, 0x21CE5E8), +('uShlPendularMovementLaser', 1D93E48, 0x21CE2CC), +('uShlPhoenixDragonBase', 1D997A8, 0x21CE6AC), +('uShlPhoenixDragonMissile', 1D99AE8, 0x21CE6EC), +('uShlReflectWall', 1D9A460, 0x21CE730), +('uShlRenmadanCtrl', 1D9B000, 0x21CE778), +('uShlRenmadanMain', 1D9ACD8, 0x21CE7B8), +('uShlShiftCircleBit', 1D9B960, 0x21CE81C), +('uShlShortCharge', 1D9C1F0, 0x21CE860), +('uShlShortChargeRe', 1D9C520, 0x21CE8A0), +('uShlSpeed', 1D9CD70, 0x21CE8E4), +('uShlSpeedWarOrc', 1D9E6F0, 0x21CE9EC), +('uShlSpline', 1D9EF00, 0x21CEA30), +('uShlSpread', 1D9F798, 0x21CEA94), +('uShlStateSurveillance', 1D9FFF8, 0x21CEAF8), +('uShlStateSurveillance::cStateSurveillanceInfo', 1D9FFD0, 0x21CEAD8), +('uShlStick', 1D72270, 0x21CEBA0), +('uShlStickCtrl', 1DA0890, 0x21CEB60), +('uShlStickCtrl2', 1DA0B90, 0x21CEB80), +('uShlTarasukuLight', 1DA1480, 0x21CEC24), +('uShlWraith', 1DA2080, 0x21CECA8), +('uShlWraithBlood', 1DA2378, 0x21CECE8), +('uSimSoftBody', 20C3A48, 0x2205360), +('uSimpleEffect', 20D1DA8, 0x2208DE4), +('uSky', 20CD1B8, 0x2206EE4), +('uSkyCloudModel', 1DA2C18, 0x21CED2C), +('uSkyColorFog', 1DA46B0, 0x21CF058), +('uSkyExt', 1DA3218, 0x21CED50), +('uSkyFog', 20CD148, 0x2206EC4), +('uSkyGodRaysFilter', 1DA3828, 0x21CEDB4), +('uSkyGodRaysFilter::cZoneListenerEffectGodRaysControl', 1DA3800, 0x21CED94), +('uSkyGrass', 1DA4E80, 0x21CF100), +('uSkyGrassWind', 1DA5430, 0x21CF124), +('uSkyHemiSphereLight', 1DA5A70, 0x21CF18C), +('uSkyInfiniteLight', 1DA5970, 0x21CF14C), +('uSkyReflection', 1DA3290, 0x21CED70), +('uSkySpotLight', 1DA59F0, 0x21CF16C), +('uSkyStableShadow', 1DA6D38, 0x21CF510), +('uSkyWaterModel', 1DA7310, 0x21CF534), +('uSoftBody', 20D0270, 0x220766C), +('uSoundGenerator', 1DABEB0, 0x21CF990), +('uSoundGenerator::cGeneratorGroupManager', 1DABE94, 0x21CF970), +('uSoundGenerator::cGeneratorGroupManager::cSoundPlayInfomation', 1DABE80, 0x21CF950), +('uSoundMotionSe', 1DA7920, 0x21CF558), +('uSoundOcclusion', 1DAC338, 0x21CFAB4), +('uSoundOcclusion::cBoundingBox', 1DAC324, 0x21CFA74), +('uSoundOcclusion::cHollowManager', 1DAC308, 0x21CFA94), +('uSoundOcclusion::cOcclusionGroupManager', 1DAC2E4, 0x21CFA54), +('uSoundSe', 1DA7F28, 0x21CF57C), +('uSoundSequenceSe', 1DAC5F8, 0x21CFB18), +('uSoundStream', 1DA8528, 0x21CF5A0), +('uSoundSubMixer', 1DA87A0, 0x21CF624), +('uSoundSubMixer::CurrentSubMixer', 1DA8700, 0x21CF5E4), +('uSoundSubMixer::CurrentSubMixer::CurrentFader', 1DA86E4, 0x21CF5C4), +('uSoundSubMixer::FaderParam', 1DA8744, 0x21CF604), +('uSoundTrigger', 1DACE00, 0x21CFCDC), +('uSoundTrigger::cTriggerGroupManager', 1DACDE0, 0x21CFCBC), +('uSoundZoneBase', 1DAD530, 0x21CFDBC), +('uSoundZoneBase::cGroupManager', 1DAD510, 0x21CFD9C), +('uSpotLight', 20C9070, 0x2206290), +('uSpotLightExt', 1D66E20, 0x21CBA7C), +('uSpotShadow', 20CEA40, 0x220734C), +('uSpotShadowExt', 1D6FCF8, 0x21CC9A4), +('uStableShadow', 20CE900, 0x220730C), +('uStableShadowExt', 1D6FC58, 0x21CC984), +('uStableShadowExt021004', 1D6FE80, 0x21CC9E4), +('uStageClanBase', 1DA8DF0, 0x21CF654), +('uStageCraftPawnCtrl', 1DA93C8, 0x21CF678), +('uStageDispWeapon', 1DA98F0, 0x21CF69C), +('uStageEventViewer', 1DA9E18, 0x21CF6CC), +('uStageFieldCtrl', 1DAA3B0, 0x21CF6F4), +('uStageJointCtrl', 1DAA960, 0x21CF748), +('uStageJointMdl', 1DAA8D8, 0x21CF728), +('uStageMyRoom', 1DAB058, 0x21CF818), +('uStagePartsCtrl', 1DAB7B8, 0x21CF86C), +('uStagePartsMdl', 1DAB718, 0x21CF84C), +('uStageRevivalPawn', 1DADB20, 0x21CFDF0), +('uSwingJointModel', 20D01A0, 0x220764C), +('uSwingModel', 1D6D078, 0x220762C), +('uSynchroAdhesion', 20DB248, 0x220B294), +('uSynchroGrassWindDirection', 20D7C90, 0x220B254), +('uSynchroGrassWindLine', 20D7D08, 0x220B274), +('uSynchroGrassWindPoint', 20D7C18, 0x220B234), +('uSynchroLightShaft', 20DB3B0, 0x220B2F4), +('uSynchroModel', 20DB198, 0x220B214), +('uSynchroPointLight', 20DB2B0, 0x220B2B4), +('uSynchroSpotLight', 20DB330, 0x220B2D4), +('uTVNoiseFilter', 20BEDA0, 0x2204964), +('uTVNoiseFilterEx', 1AE6D00, 0x217D3DC), +('uTangentBlurFilter', 20BF5F8, 0x2204C24), +('uTimeCtrlGodRaysFilter', 1DA3890, 0x21CEDD4), +('uToneMapControl', 20BF368, 0x2204B44), +('uUIMockUp', 1DAE050, 0x21D04A4), +('uUIMockUp2', 1DAE5D0, 0x21D04D4), +('uUniformShadow', 20CE9A0, 0x220732C), +('uVolumeNoiseFilter', 20BEED8, 0x22049C4), +('uWeapon', 1DAEB20, 0x21D04F8), +('uWind', 20CDE78, 0x22070EC), +('uWind::WindGenerator', 20CDE64, 0x220710C), +('via::module::network::utility::HttpDownloadManager::UriTbl::Uri', 1C161DC, 0x2197220), +]# END OF FILE \ No newline at end of file diff --git a/research/dti/dti_dump_log.txt b/research/dti/dti_dump_log.txt new file mode 100644 index 000000000..81b4f530d --- /dev/null +++ b/research/dti/dti_dump_log.txt @@ -0,0 +1,481 @@ +[2021-03-05 22:48:09.916] [info] Ando's MTFClassPropDump Started! +[2021-03-05 22:48:09.916] [info] Image Base: 400000 +[2021-03-05 22:48:09.930] [warning] CoprocessorObject::DTI->NewInstance() == nullptr +[2021-03-05 22:48:09.933] [warning] MtAllocator::DTI->NewInstance() == nullptr +[2021-03-05 22:48:09.937] [warning] MtCollisionUtil::MtArrayElement::DTI->NewInstance() == nullptr +[2021-03-05 22:48:09.967] [warning] MtGeomConvex::DTI->NewInstance() == nullptr +[2021-03-05 22:48:09.977] [warning] MtGeometry::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.035] [warning] cAIPathTrace::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.071] [warning] cAISvPathFinding::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.101] [warning] cArea::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.106] [warning] cArmedMultiBonusInfo::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.121] [warning] cCamExParam::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.125] [warning] cCamExParamLockCore::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.126] [warning] cCamExParamLockCore::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.136] [warning] cCamImpBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.158] [warning] cCharacterBattleContentKokuju::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.162] [warning] cCharacterEditPaletteBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.183] [warning] cContext::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.191] [warning] cControl::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.192] [warning] cControl::cMouseExecution::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.193] [warning] cControl::cMouseExecution::cMouseTouchInfo::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.210] [warning] cCycleQuestManagerBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.273] [warning] cDurableInfoBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.286] [warning] cElement::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.627] [warning] cEmActCaughtCancel::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.627] [warning] cEmActCaughtEscape::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.628] [warning] cEmActCaughtFailed::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.629] [warning] cEmActCaughtLoop::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.630] [warning] cEmActCaughtStart::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.631] [warning] cEmActCaughtSuccess::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.797] [warning] cGUIFontFilter::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.803] [warning] cGUIInstance::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.811] [warning] cGUIObj2D::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.819] [warning] cGUIObject::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.819] [warning] cGUIPageList::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.827] [warning] cGUIVariable::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.889] [warning] cHorizontalList::DTI->NewInstance() == nullptr +[2021-03-05 22:48:10.991] [warning] cHumanCustomBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.010] [warning] cInstancingCulling::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.012] [warning] cInstancingDirect::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.014] [warning] cInstancingDynamic::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.052] [warning] cJob01Custom08_AirBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.094] [warning] cJob02Custom12SuccessBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.348] [warning] cJobLeoCustom08_AirBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.388] [warning] cMatrix::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.538] [warning] cNetBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.547] [warning] cNetMsgBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.548] [warning] cNetMsgCtrlBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.549] [warning] cNetMsgGameBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.553] [warning] cNetMsgSetBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.555] [warning] cNetMsgToolBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.665] [warning] cParticleGenerator::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.683] [warning] cParticleManager::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.819] [warning] cQuestManagerBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.858] [warning] cQuestSvNotice::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.893] [warning] cQuestSvRequest::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.905] [warning] cRemoteProcedure::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.911] [warning] cResource::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.935] [warning] cSeedServerConnection::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.937] [warning] cSetInfo::DTI->NewInstance() == nullptr +[2021-03-05 22:48:11.980] [warning] cShadowPriorityState::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.021] [warning] cShlParamCompSelector::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.114] [warning] cState::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.163] [warning] cStateLive::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.182] [warning] cSystem::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.184] [warning] cTalkState::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.206] [warning] cTalkStateJobChange::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.221] [warning] cTalkStatePotionBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.229] [warning] cTalkStateShop::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.232] [warning] cTalkStateSkillAbility::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.233] [warning] cTalkStateSkillShop::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.248] [warning] cUnit::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.252] [warning] cUnitTest::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.256] [warning] cUnitTestCase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.259] [warning] cUseComp::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.262] [warning] cVerticalList::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.305] [warning] cZoneListener::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.318] [warning] cpArmedEnemyBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.320] [warning] cpBakeJoint::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.321] [warning] cpBlazeEnemyBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.335] [warning] cpEnemyBloodStain::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.338] [warning] cpEnemyObjectManage::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.343] [warning] cpErosionEnemyBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.386] [warning] cpObjCollisionBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.454] [warning] cpOmSpAreaChangeBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.494] [warning] nCollision::cAllocaterIntermediate::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.508] [warning] nDraw class, skipping: nDraw::Animation +[2021-03-05 22:48:12.509] [warning] nDraw class, skipping: nDraw::BlendState +[2021-03-05 22:48:12.512] [warning] nDraw class, skipping: nDraw::Buffer +[2021-03-05 22:48:12.514] [warning] nDraw class, skipping: nDraw::CBuffer +[2021-03-05 22:48:12.517] [warning] nDraw class, skipping: nDraw::CBufferSystem +[2021-03-05 22:48:12.519] [warning] nDraw class, skipping: nDraw::CommandCache +[2021-03-05 22:48:12.520] [warning] nDraw class, skipping: nDraw::DDMrlStdEstObj +[2021-03-05 22:48:12.521] [warning] nDraw class, skipping: nDraw::DDMrlStdEstScr +[2021-03-05 22:48:12.522] [warning] nDraw class, skipping: nDraw::DDMrlStdEstScrVtxAlpBld +[2021-03-05 22:48:12.524] [warning] nDraw class, skipping: nDraw::DDMrlStdEstScrWater +[2021-03-05 22:48:12.525] [warning] nDraw class, skipping: nDraw::DDMrlStdEstVfx +[2021-03-05 22:48:12.527] [warning] nDraw class, skipping: nDraw::DepthStencilState +[2021-03-05 22:48:12.528] [warning] nDraw class, skipping: nDraw::DepthStencilView +[2021-03-05 22:48:12.528] [warning] nDraw class, skipping: nDraw::ExternalRegion +[2021-03-05 22:48:12.529] [warning] nDraw class, skipping: nDraw::IndexBuffer +[2021-03-05 22:48:12.535] [warning] nDraw class, skipping: nDraw::InputLayout +[2021-03-05 22:48:12.536] [warning] nDraw class, skipping: nDraw::Material +[2021-03-05 22:48:12.537] [warning] nDraw class, skipping: nDraw::MaterialConstant +[2021-03-05 22:48:12.538] [warning] nDraw class, skipping: nDraw::MaterialNull +[2021-03-05 22:48:12.541] [warning] nDraw class, skipping: nDraw::MaterialSSS +[2021-03-05 22:48:12.542] [warning] nDraw class, skipping: nDraw::MaterialStd +[2021-03-05 22:48:12.543] [warning] nDraw class, skipping: nDraw::MaterialStdDM +[2021-03-05 22:48:12.544] [warning] nDraw class, skipping: nDraw::MaterialStdEst +[2021-03-05 22:48:12.546] [warning] nDraw class, skipping: nDraw::MaterialStdPN +[2021-03-05 22:48:12.549] [warning] nDraw class, skipping: nDraw::OcclusionQuery +[2021-03-05 22:48:12.551] [warning] nDraw class, skipping: nDraw::Query +[2021-03-05 22:48:12.552] [warning] nDraw class, skipping: nDraw::RasterizerState +[2021-03-05 22:48:12.553] [warning] nDraw class, skipping: nDraw::RenderTargetView +[2021-03-05 22:48:12.555] [warning] nDraw class, skipping: nDraw::Resource +[2021-03-05 22:48:12.556] [warning] nDraw class, skipping: nDraw::SamplerState +[2021-03-05 22:48:12.557] [warning] nDraw class, skipping: nDraw::Scene +[2021-03-05 22:48:12.559] [warning] nDraw class, skipping: nDraw::Texture +[2021-03-05 22:48:12.560] [warning] nDraw class, skipping: nDraw::VertexBuffer +[2021-03-05 22:48:12.569] [warning] nGraphComponent::Base::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.587] [warning] nNetwork::Protocol::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.613] [error] Got error instanciating nNetwork::nSharedMemory2::Object +[2021-03-05 22:48:12.614] [warning] nPhysics::Base::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.617] [warning] nPhysics::Constraint::Object::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.647] [warning] nSoundGenerator::cCategory::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.650] [warning] nSoundOcclusion::cCategory::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.651] [warning] nSoundTrigger::cCategory::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.665] [warning] nZone::cAllocaterIntermediate::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.707] [error] Got error instanciating rArchive::DecompressStream +[2021-03-05 22:48:12.740] [warning] rConstraint::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.885] [warning] rMovie::DTI->NewInstance() == nullptr +[2021-03-05 22:48:12.974] [warning] rSoundSource::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.044] [warning] singleton class, skipping: sAI +[2021-03-05 22:48:13.047] [warning] singleton class, skipping: sAIExt +[2021-03-05 22:48:13.048] [warning] singleton class, skipping: sAIPawnNotice +[2021-03-05 22:48:13.049] [warning] singleton class, skipping: sAIPawnSys +[2021-03-05 22:48:13.050] [warning] singleton class, skipping: sAIPawnTalkMgr +[2021-03-05 22:48:13.051] [warning] singleton class, skipping: sAIPawnTalkMgr::cAIPawnTalkInfo +[2021-03-05 22:48:13.052] [warning] singleton class, skipping: sAIPawnTalkMgr::cAIPawnTalkWaitNode +[2021-03-05 22:48:13.053] [warning] singleton class, skipping: sApp +[2021-03-05 22:48:13.057] [warning] singleton class, skipping: sApp::Item +[2021-03-05 22:48:13.058] [warning] singleton class, skipping: sAppExt +[2021-03-05 22:48:13.059] [warning] singleton class, skipping: sArchiveManager +[2021-03-05 22:48:13.060] [warning] singleton class, skipping: sArchiveManager2 +[2021-03-05 22:48:13.063] [warning] singleton class, skipping: sArea +[2021-03-05 22:48:13.064] [warning] singleton class, skipping: sArea::AreaInfo +[2021-03-05 22:48:13.065] [warning] singleton class, skipping: sAreaExt +[2021-03-05 22:48:13.066] [warning] singleton class, skipping: sAreaHit +[2021-03-05 22:48:13.068] [warning] singleton class, skipping: sBakingJointOrder +[2021-03-05 22:48:13.069] [warning] singleton class, skipping: sBazaarManager +[2021-03-05 22:48:13.069] [warning] singleton class, skipping: sBazaarManager::cBazaarCharListCtrl +[2021-03-05 22:48:13.070] [warning] singleton class, skipping: sBazaarManager::cBazaarCharListData +[2021-03-05 22:48:13.071] [warning] singleton class, skipping: sBazaarManager::cBazaarExhibitItemCtrl +[2021-03-05 22:48:13.072] [warning] singleton class, skipping: sBazaarManager::cBazaarItemHistoryData +[2021-03-05 22:48:13.074] [warning] singleton class, skipping: sBazaarManager::cBazaarItemInfoCtrl +[2021-03-05 22:48:13.075] [warning] singleton class, skipping: sBazaarManager::cBazaarItemInfoData +[2021-03-05 22:48:13.076] [warning] singleton class, skipping: sBazaarManager::cBazaarItemListCtrl +[2021-03-05 22:48:13.079] [warning] singleton class, skipping: sBazaarManager::cBazaarItemListData +[2021-03-05 22:48:13.080] [warning] singleton class, skipping: sBazaarManager::cBazaarItemPrimLimit +[2021-03-05 22:48:13.081] [warning] singleton class, skipping: sBazaarManager::cBazaarProceedsCtrl +[2021-03-05 22:48:13.081] [warning] singleton class, skipping: sBenchmark +[2021-03-05 22:48:13.082] [warning] singleton class, skipping: sBenchmark::BenchmarkInfo +[2021-03-05 22:48:13.083] [warning] singleton class, skipping: sBrowser +[2021-03-05 22:48:13.084] [warning] singleton class, skipping: sCamera +[2021-03-05 22:48:13.085] [warning] singleton class, skipping: sCamera::Viewport +[2021-03-05 22:48:13.086] [warning] singleton class, skipping: sCameraExt +[2021-03-05 22:48:13.087] [warning] singleton class, skipping: sCameraExt::cShellCamWk +[2021-03-05 22:48:13.087] [warning] singleton class, skipping: sCapture +[2021-03-05 22:48:13.088] [warning] singleton class, skipping: sChat +[2021-03-05 22:48:13.089] [warning] singleton class, skipping: sClanKyoten +[2021-03-05 22:48:13.090] [warning] singleton class, skipping: sClanKyoten::cClanEmblemTextureCtrl +[2021-03-05 22:48:13.091] [warning] singleton class, skipping: sCollision +[2021-03-05 22:48:13.092] [warning] singleton class, skipping: sCollision::ActiveNodeInfo +[2021-03-05 22:48:13.096] [warning] singleton class, skipping: sCollision::Collider +[2021-03-05 22:48:13.097] [warning] singleton class, skipping: sCollision::Collider::cNodeListArray +[2021-03-05 22:48:13.097] [warning] singleton class, skipping: sCollision::ColliderActiveNodeInfo +[2021-03-05 22:48:13.098] [warning] singleton class, skipping: sCollision::ColliderPassiveNodeInfo +[2021-03-05 22:48:13.099] [warning] singleton class, skipping: sCollision::Node +[2021-03-05 22:48:13.100] [warning] singleton class, skipping: sCollision::NodeList +[2021-03-05 22:48:13.101] [warning] singleton class, skipping: sCollision::Param +[2021-03-05 22:48:13.101] [warning] singleton class, skipping: sCollision::Sbc +[2021-03-05 22:48:13.102] [warning] singleton class, skipping: sCollision::Sbc::Parts +[2021-03-05 22:48:13.103] [warning] singleton class, skipping: sCollision::SbcInfo +[2021-03-05 22:48:13.104] [warning] singleton class, skipping: sCollision::SbcInfoBase +[2021-03-05 22:48:13.104] [warning] singleton class, skipping: sCollision::SbcLockInfo +[2021-03-05 22:48:13.106] [warning] singleton class, skipping: sCollision::SbcObject +[2021-03-05 22:48:13.106] [warning] singleton class, skipping: sCollision::SbcObject::cRegisterInfo +[2021-03-05 22:48:13.108] [warning] singleton class, skipping: sCollision::ScrCollisionInfo +[2021-03-05 22:48:13.111] [warning] singleton class, skipping: sCollision::ScrCollisionInfoAdjustPosition +[2021-03-05 22:48:13.112] [warning] singleton class, skipping: sCollision::ScrCollisionInfoBase +[2021-03-05 22:48:13.113] [warning] singleton class, skipping: sCollision::ScrCollisionInfoCastConvex +[2021-03-05 22:48:13.114] [warning] singleton class, skipping: sCollision::ScrCollisionInfoFind +[2021-03-05 22:48:13.114] [warning] singleton class, skipping: sCollision::ScrCollisionInfoFind4 +[2021-03-05 22:48:13.115] [warning] singleton class, skipping: sCollision::ScrCollisionInfoGetAreaPoly +[2021-03-05 22:48:13.116] [warning] singleton class, skipping: sCollision::ScrCollisionInfoOriginal +[2021-03-05 22:48:13.117] [warning] singleton class, skipping: sCollision::ScrCollisionInfoPreTraverse +[2021-03-05 22:48:13.118] [warning] singleton class, skipping: sCollision::TriangleInfo +[2021-03-05 22:48:13.119] [warning] singleton class, skipping: sCollision::cColArray +[2021-03-05 22:48:13.120] [warning] singleton class, skipping: sCollision::cSbcArrayBP +[2021-03-05 22:48:13.120] [warning] singleton class, skipping: sCollision::cSbcArrayBP::cDBVTMaster +[2021-03-05 22:48:13.121] [warning] singleton class, skipping: sCollision::cSbcHeightField +[2021-03-05 22:48:13.122] [warning] singleton class, skipping: sCollision::cSbcHeightField::cHeightField +[2021-03-05 22:48:13.123] [warning] singleton class, skipping: sCollision::cSbcMoveMatrix +[2021-03-05 22:48:13.126] [warning] singleton class, skipping: sCollision::cSbcMoveReserveInfo +[2021-03-05 22:48:13.127] [warning] singleton class, skipping: sCollision::cSbcMoveReserveInfoAll +[2021-03-05 22:48:13.128] [warning] singleton class, skipping: sCollision::cSbcMoveResetReserveInfo +[2021-03-05 22:48:13.129] [warning] singleton class, skipping: sCollision::cSbcMoveResetReserveInfoAll +[2021-03-05 22:48:13.129] [warning] singleton class, skipping: sCollision::cSbcRegistReserveInfo +[2021-03-05 22:48:13.130] [warning] singleton class, skipping: sCollision::cSbcSkinMesh +[2021-03-05 22:48:13.131] [warning] singleton class, skipping: sCollision::cSbcSkinMesh::cRegisterInfo +[2021-03-05 22:48:13.132] [warning] singleton class, skipping: sCollision::cSystemInitializeParam +[2021-03-05 22:48:13.134] [warning] singleton class, skipping: sCollisionExt +[2021-03-05 22:48:13.134] [warning] singleton class, skipping: sContextManager +[2021-03-05 22:48:13.135] [warning] singleton class, skipping: sContextManager::List +[2021-03-05 22:48:13.136] [warning] singleton class, skipping: sControlManager +[2021-03-05 22:48:13.137] [warning] singleton class, skipping: sControlManager::cDispPriorityData +[2021-03-05 22:48:13.137] [warning] singleton class, skipping: sCoprocessor +[2021-03-05 22:48:13.138] [warning] singleton class, skipping: sCraftManager +[2021-03-05 22:48:13.142] [warning] singleton class, skipping: sCraftManager::CreateItem +[2021-03-05 22:48:13.143] [warning] singleton class, skipping: sCraftManager::PawnCost +[2021-03-05 22:48:13.143] [warning] singleton class, skipping: sCraftManager::RecordRecipe +[2021-03-05 22:48:13.144] [warning] singleton class, skipping: sCraftManager::cAddExp +[2021-03-05 22:48:13.145] [warning] singleton class, skipping: sCraftManager::cCraftFinishNotice +[2021-03-05 22:48:13.146] [warning] singleton class, skipping: sCraftManager::cCraftIrReductionData +[2021-03-05 22:48:13.147] [warning] singleton class, skipping: sCraftManager::cCraftPawnCtrl +[2021-03-05 22:48:13.148] [warning] singleton class, skipping: sCraftManager::cCraftRankUp +[2021-03-05 22:48:13.149] [warning] singleton class, skipping: sCraftManager::cCraftRecipeControl +[2021-03-05 22:48:13.150] [warning] singleton class, skipping: sCraftManager::cCraftUpGrade +[2021-03-05 22:48:13.150] [warning] singleton class, skipping: sCraftManager::cCraftUpGradeItemList +[2021-03-05 22:48:13.151] [warning] singleton class, skipping: sCraftManager::cEnhancedNeedItemData +[2021-03-05 22:48:13.152] [warning] singleton class, skipping: sCraftManager::cEnhancedPack +[2021-03-05 22:48:13.153] [warning] singleton class, skipping: sCraftManager::cEnhancedPackData +[2021-03-05 22:48:13.154] [warning] singleton class, skipping: sCraftManager::stRecipeRequest +[2021-03-05 22:48:13.157] [info] Loaded singleton class: sDDOMain +[2021-03-05 22:48:13.158] [warning] singleton class, skipping: sDialogBase +[2021-03-05 22:48:13.159] [warning] singleton class, skipping: sDragonSkill +[2021-03-05 22:48:13.160] [warning] singleton class, skipping: sEffect +[2021-03-05 22:48:13.161] [warning] singleton class, skipping: sEffectExt +[2021-03-05 22:48:13.162] [warning] singleton class, skipping: sEffectExt::cEfcCameraQuakeData +[2021-03-05 22:48:13.162] [warning] singleton class, skipping: sEffectExt::cEfcCameraQuakeDataLarge +[2021-03-05 22:48:13.163] [warning] singleton class, skipping: sEffectExt::cEfcCameraQuakeDataMiddle +[2021-03-05 22:48:13.164] [warning] singleton class, skipping: sEffectExt::cEfcCameraQuakeDataSmall +[2021-03-05 22:48:13.165] [warning] singleton class, skipping: sEffectExt::cZoneEffectUnit +[2021-03-05 22:48:13.166] [warning] singleton class, skipping: sEffectExt::cZoneEffectUnitLayout +[2021-03-05 22:48:13.167] [warning] singleton class, skipping: sEffectExt::cZoneEpvStack +[2021-03-05 22:48:13.167] [warning] singleton class, skipping: sEnemyManager +[2021-03-05 22:48:13.168] [warning] singleton class, skipping: sEnvMapManager +[2021-03-05 22:48:13.172] [warning] singleton class, skipping: sEnvMapManager::cManageEnvMapBase +[2021-03-05 22:48:13.175] [warning] singleton class, skipping: sEnvMapManager::cManageEnvMapField +[2021-03-05 22:48:13.176] [warning] singleton class, skipping: sEventManager +[2021-03-05 22:48:13.179] [warning] singleton class, skipping: sEventManager::cNpcId +[2021-03-05 22:48:13.180] [warning] singleton class, skipping: sFlag +[2021-03-05 22:48:13.182] [warning] singleton class, skipping: sGUI +[2021-03-05 22:48:13.183] [warning] singleton class, skipping: sGUIExt +[2021-03-05 22:48:13.184] [warning] singleton class, skipping: sGUIExt::cChat +[2021-03-05 22:48:13.184] [warning] singleton class, skipping: sGUIExt::cChatMacro +[2021-03-05 22:48:13.187] [warning] singleton class, skipping: sGUIExt::cDivItemIcon +[2021-03-05 22:48:13.188] [warning] singleton class, skipping: sGUIExt::cDlTicket +[2021-03-05 22:48:13.189] [warning] singleton class, skipping: sGUIExt::cItemTmp +[2021-03-05 22:48:13.190] [warning] singleton class, skipping: sGUIExt::cJpegDecode +[2021-03-05 22:48:13.191] [warning] singleton class, skipping: sGUIExt::cMap +[2021-03-05 22:48:13.192] [warning] singleton class, skipping: sGUIExt::cMap::cMarkerSave +[2021-03-05 22:48:13.193] [warning] singleton class, skipping: sGUIExt::cMousePointer +[2021-03-05 22:48:13.194] [warning] singleton class, skipping: sGUIExt::cPrioHandle +[2021-03-05 22:48:13.194] [warning] singleton class, skipping: sGUIExt::cQueueAnnounceAfterParam +[2021-03-05 22:48:13.196] [warning] singleton class, skipping: sGUIExt::cRatingEmoteInfo +[2021-03-05 22:48:13.197] [warning] singleton class, skipping: sGUIExt::cSCM +[2021-03-05 22:48:13.197] [warning] singleton class, skipping: sGUIExt::cSEPlayer +[2021-03-05 22:48:13.198] [warning] singleton class, skipping: sGUIExt::cSameWordInfo +[2021-03-05 22:48:13.199] [warning] singleton class, skipping: sGUIExt::cWordInfo +[2021-03-05 22:48:13.200] [warning] singleton class, skipping: sGame +[2021-03-05 22:48:13.204] [warning] singleton class, skipping: sGeneralPoint +[2021-03-05 22:48:13.205] [warning] singleton class, skipping: sGpuParticle +[2021-03-05 22:48:13.206] [warning] singleton class, skipping: sGrass +[2021-03-05 22:48:13.207] [warning] singleton class, skipping: sGuideExt +[2021-03-05 22:48:13.208] [warning] singleton class, skipping: sHttpClient +[2021-03-05 22:48:13.209] [warning] singleton class, skipping: sHttpPatch +[2021-03-05 22:48:13.210] [warning] singleton class, skipping: sInputManager +[2021-03-05 22:48:13.211] [warning] singleton class, skipping: sInputText +[2021-03-05 22:48:13.212] [warning] singleton class, skipping: sInputTextWin +[2021-03-05 22:48:13.213] [warning] singleton class, skipping: sItemManager +[2021-03-05 22:48:13.214] [warning] singleton class, skipping: sItemManager::cChangeJob +[2021-03-05 22:48:13.214] [warning] singleton class, skipping: sItemManager::cEquipList +[2021-03-05 22:48:13.217] [warning] singleton class, skipping: sItemManager::cEquipList::cEquipData +[2021-03-05 22:48:13.218] [warning] singleton class, skipping: sItemManager::cEquipStatusUpdate +[2021-03-05 22:48:13.220] [warning] singleton class, skipping: sItemManager::cFilterStorage +[2021-03-05 22:48:13.220] [warning] singleton class, skipping: sItemManager::cGPDetail +[2021-03-05 22:48:13.221] [warning] singleton class, skipping: sItemManager::cHideEquip +[2021-03-05 22:48:13.222] [warning] singleton class, skipping: sItemManager::cItemBag +[2021-03-05 22:48:13.223] [warning] singleton class, skipping: sItemManager::cItemBag::cAreaMasterSuppyData +[2021-03-05 22:48:13.225] [warning] singleton class, skipping: sItemManager::cItemBag::cCraftColorChange +[2021-03-05 22:48:13.225] [warning] singleton class, skipping: sItemManager::cItemBag::cCraftQualityUpData +[2021-03-05 22:48:13.226] [warning] singleton class, skipping: sItemManager::cItemBag::cCraftStartData +[2021-03-05 22:48:13.227] [warning] singleton class, skipping: sItemManager::cItemBag::cCraftSupportPawnData +[2021-03-05 22:48:13.228] [warning] singleton class, skipping: sItemManager::cItemBag::cCraftUpGradeData +[2021-03-05 22:48:13.229] [warning] singleton class, skipping: sItemManager::cItemBag::cDeliverData +[2021-03-05 22:48:13.229] [warning] singleton class, skipping: sItemManager::cItemBag::cGatheringItemData +[2021-03-05 22:48:13.230] [warning] singleton class, skipping: sItemManager::cItemBag::cGetItemListData +[2021-03-05 22:48:13.234] [warning] singleton class, skipping: sItemManager::cItemList +[2021-03-05 22:48:13.236] [warning] singleton class, skipping: sItemManager::cItemParamList +[2021-03-05 22:48:13.237] [warning] singleton class, skipping: sItemManager::cItemTypeData +[2021-03-05 22:48:13.238] [warning] singleton class, skipping: sItemManager::cSortParam +[2021-03-05 22:48:13.239] [warning] singleton class, skipping: sItemManager::cStorage +[2021-03-05 22:48:13.241] [warning] singleton class, skipping: sItemManager::stRequest +[2021-03-05 22:48:13.242] [warning] singleton class, skipping: sKeyboard +[2021-03-05 22:48:13.243] [warning] singleton class, skipping: sKeyboardExt +[2021-03-05 22:48:13.243] [warning] singleton class, skipping: sKeyboardExt::cKeyArray +[2021-03-05 22:48:13.244] [warning] singleton class, skipping: sKeyboardInterface +[2021-03-05 22:48:13.245] [warning] singleton class, skipping: sLightExt +[2021-03-05 22:48:13.246] [warning] singleton class, skipping: sLinkageEnemy +[2021-03-05 22:48:13.249] [warning] singleton class, skipping: sLinkageEnemy::cLinkageEnemy +[2021-03-05 22:48:13.252] [warning] singleton class, skipping: sLinkageEnemy::cLinkageEnemy::cLinkageEnemyNotice +[2021-03-05 22:48:13.254] [warning] singleton class, skipping: sLockOnManager +[2021-03-05 22:48:13.256] [warning] singleton class, skipping: sMain +[2021-03-05 22:48:13.258] [warning] singleton class, skipping: sMarker +[2021-03-05 22:48:13.259] [warning] singleton class, skipping: sMarker::cLoadResource +[2021-03-05 22:48:13.261] [warning] singleton class, skipping: sMenu +[2021-03-05 22:48:13.265] [warning] singleton class, skipping: sMouse +[2021-03-05 22:48:13.266] [warning] singleton class, skipping: sMouseExt +[2021-03-05 22:48:13.268] [warning] singleton class, skipping: sMyRoom +[2021-03-05 22:48:13.269] [warning] singleton class, skipping: sNetwork +[2021-03-05 22:48:13.270] [warning] singleton class, skipping: sNetworkExt +[2021-03-05 22:48:13.272] [warning] singleton class, skipping: sNpcManager +[2021-03-05 22:48:13.274] [warning] singleton class, skipping: sNpcManager::cAttendDamageInfo +[2021-03-05 22:48:13.275] [warning] singleton class, skipping: sObjCollision +[2021-03-05 22:48:13.276] [warning] singleton class, skipping: sObjCollision::cParamInfo +[2021-03-05 22:48:13.278] [warning] singleton class, skipping: sObjCollision::cParamInfo +[2021-03-05 22:48:13.282] [warning] singleton class, skipping: sObjCollision::cParamInfoManager +[2021-03-05 22:48:13.283] [warning] singleton class, skipping: sObjCollision::cParamInfoManager +[2021-03-05 22:48:13.284] [warning] singleton class, skipping: sObjCondition +[2021-03-05 22:48:13.286] [warning] singleton class, skipping: sOccluder +[2021-03-05 22:48:13.287] [warning] singleton class, skipping: sOccluderEx +[2021-03-05 22:48:13.288] [warning] singleton class, skipping: sOccluderEx::Area +[2021-03-05 22:48:13.289] [warning] singleton class, skipping: sOccluderEx::Shape +[2021-03-05 22:48:13.290] [warning] singleton class, skipping: sOmManager +[2021-03-05 22:48:13.291] [warning] singleton class, skipping: sOmManager::cInsValue +[2021-03-05 22:48:13.292] [warning] singleton class, skipping: sOmManager::cInsValueSeq +[2021-03-05 22:48:13.293] [warning] singleton class, skipping: sOmManager::cOmArcLoader +[2021-03-05 22:48:13.294] [warning] singleton class, skipping: sOmManager::cRegOmDTI +[2021-03-05 22:48:13.298] [warning] singleton class, skipping: sOmManager::cRegOmEtc +[2021-03-05 22:48:13.299] [warning] singleton class, skipping: sOmManager::cRegOmMapIcon +[2021-03-05 22:48:13.300] [warning] singleton class, skipping: sOmManager::cRegOmObjCol +[2021-03-05 22:48:13.301] [warning] singleton class, skipping: sOmManager::cRegOmS32 +[2021-03-05 22:48:13.303] [warning] singleton class, skipping: sPad +[2021-03-05 22:48:13.304] [warning] singleton class, skipping: sPad::Map +[2021-03-05 22:48:13.305] [warning] singleton class, skipping: sPad::Pad +[2021-03-05 22:48:13.307] [warning] singleton class, skipping: sPadExt +[2021-03-05 22:48:13.309] [warning] singleton class, skipping: sPadExt::cPadInfo +[2021-03-05 22:48:13.310] [warning] singleton class, skipping: sPhysicsExt +[2021-03-05 22:48:13.313] [warning] singleton class, skipping: sPlatformUtil +[2021-03-05 22:48:13.315] [warning] singleton class, skipping: sPlayerManager +[2021-03-05 22:48:13.316] [warning] singleton class, skipping: sPrimitive +[2021-03-05 22:48:13.317] [warning] singleton class, skipping: sQuestManagerExt +[2021-03-05 22:48:13.318] [warning] singleton class, skipping: sQuestManagerExt::cCallQuestAnnounce +[2021-03-05 22:48:13.318] [warning] singleton class, skipping: sQuestManagerExt::cClearedQuestInfo +[2021-03-05 22:48:13.319] [warning] singleton class, skipping: sQuestManagerExt::cFunctionInfo +[2021-03-05 22:48:13.320] [warning] singleton class, skipping: sQuestManagerExt::cKilledEnemy +[2021-03-05 22:48:13.321] [warning] singleton class, skipping: sQuestManagerExt::cManagerInfo +[2021-03-05 22:48:13.322] [warning] singleton class, skipping: sQuestManagerExt::cSayInfo +[2021-03-05 22:48:13.323] [warning] singleton class, skipping: sQuestManagerExt::cSystemLogNode +[2021-03-05 22:48:13.324] [warning] singleton class, skipping: sQuestManagerExt::cTimer +[2021-03-05 22:48:13.324] [warning] singleton class, skipping: sQuestManagerExt::cTouchOmInfo +[2021-03-05 22:48:13.325] [warning] singleton class, skipping: sQuestManagerExt::cUnreleasedArea +[2021-03-05 22:48:13.326] [warning] singleton class, skipping: sQuestManagerExt::cWarMissionGauge +[2021-03-05 22:48:13.331] [warning] singleton class, skipping: sRemoteProcedure +[2021-03-05 22:48:13.332] [warning] singleton class, skipping: sRemoteProcedure::cTemporaryRemoteCall +[2021-03-05 22:48:13.333] [warning] singleton class, skipping: sRemoteProcedureExt +[2021-03-05 22:48:13.334] [warning] singleton class, skipping: sRender +[2021-03-05 22:48:13.334] [warning] singleton class, skipping: sRenderExt +[2021-03-05 22:48:13.335] [warning] singleton class, skipping: sResource +[2021-03-05 22:48:13.336] [warning] singleton class, skipping: sResource::DecompressStream +[2021-03-05 22:48:13.337] [warning] singleton class, skipping: sResource::RemoteInfo +[2021-03-05 22:48:13.338] [warning] singleton class, skipping: sResource::TypeInfo +[2021-03-05 22:48:13.339] [warning] singleton class, skipping: sResourceExt +[2021-03-05 22:48:13.339] [warning] singleton class, skipping: sReward +[2021-03-05 22:48:13.341] [warning] singleton class, skipping: sReward::cAvailableReward +[2021-03-05 22:48:13.342] [warning] singleton class, skipping: sReward::cReleaseReward +[2021-03-05 22:48:13.345] [warning] singleton class, skipping: sReward::cReleaseRewardEdit +[2021-03-05 22:48:13.346] [warning] singleton class, skipping: sSIECommerceDialog +[2021-03-05 22:48:13.347] [warning] singleton class, skipping: sSavedata +[2021-03-05 22:48:13.348] [warning] singleton class, skipping: sSavedataExt +[2021-03-05 22:48:13.349] [warning] singleton class, skipping: sScenario +[2021-03-05 22:48:13.350] [warning] singleton class, skipping: sScene +[2021-03-05 22:48:13.351] [warning] singleton class, skipping: sScene::TextureInfo +[2021-03-05 22:48:13.352] [warning] singleton class, skipping: sSceneExt +[2021-03-05 22:48:13.352] [warning] singleton class, skipping: sScreenShot +[2021-03-05 22:48:13.353] [warning] singleton class, skipping: sSetManager +[2021-03-05 22:48:13.354] [warning] singleton class, skipping: sSetManager::CreateContextParam +[2021-03-05 22:48:13.355] [warning] singleton class, skipping: sSetManager::SetMgrFlag +[2021-03-05 22:48:13.356] [warning] singleton class, skipping: sSetManager::cEnemyDie +[2021-03-05 22:48:13.356] [warning] singleton class, skipping: sSetManager::cLotMgr +[2021-03-05 22:48:13.360] [warning] singleton class, skipping: sSetManager::cLotMgr +[2021-03-05 22:48:13.361] [warning] singleton class, skipping: sSetManager::cLotMgr +[2021-03-05 22:48:13.362] [warning] singleton class, skipping: sSetManager::cLotMgr +[2021-03-05 22:48:13.363] [warning] singleton class, skipping: sSetManager::cUnitData +[2021-03-05 22:48:13.364] [warning] singleton class, skipping: sShader2 +[2021-03-05 22:48:13.365] [warning] singleton class, skipping: sShadow +[2021-03-05 22:48:13.366] [warning] singleton class, skipping: sShadow::Node +[2021-03-05 22:48:13.367] [warning] singleton class, skipping: sShadow::Resource +[2021-03-05 22:48:13.368] [warning] singleton class, skipping: sShadow::ResourceGroup +[2021-03-05 22:48:13.368] [warning] singleton class, skipping: sShadow::ViewConsistentResource +[2021-03-05 22:48:13.369] [warning] singleton class, skipping: sShlManager +[2021-03-05 22:48:13.370] [warning] singleton class, skipping: sShlManager::cShlLimitCnt +[2021-03-05 22:48:13.371] [warning] singleton class, skipping: sShlManager::cShlLimitCtrl +[2021-03-05 22:48:13.372] [warning] singleton class, skipping: sSiteManager +[2021-03-05 22:48:13.373] [warning] singleton class, skipping: sSiteManager::cSiteLoader +[2021-03-05 22:48:13.377] [warning] singleton class, skipping: sSkeletonTool +[2021-03-05 22:48:13.378] [warning] singleton class, skipping: sSound +[2021-03-05 22:48:13.379] [warning] singleton class, skipping: sSound::NativeSystemXAudio2::WinProperty +[2021-03-05 22:48:13.379] [warning] singleton class, skipping: sSoundExt +[2021-03-05 22:48:13.380] [warning] singleton class, skipping: sSoundExt::cNonStopStream +[2021-03-05 22:48:13.381] [warning] singleton class, skipping: sSoundExt::cVoiceRequest +[2021-03-05 22:48:13.382] [warning] singleton class, skipping: sSoundManager +[2021-03-05 22:48:13.383] [warning] singleton class, skipping: sSoundManager::cEmSetState +[2021-03-05 22:48:13.384] [warning] singleton class, skipping: sSyncPoint +[2021-03-05 22:48:13.385] [warning] singleton class, skipping: sSyncPoint::syncPointElement +[2021-03-05 22:48:13.385] [warning] singleton class, skipping: sTalkManager +[2021-03-05 22:48:13.386] [warning] singleton class, skipping: sTalkManager::cTellQueueNode +[2021-03-05 22:48:13.387] [warning] singleton class, skipping: sTool +[2021-03-05 22:48:13.388] [warning] singleton class, skipping: sToolBase +[2021-03-05 22:48:13.391] [warning] singleton class, skipping: sToolExt +[2021-03-05 22:48:13.391] [warning] singleton class, skipping: sTutorialGuide +[2021-03-05 22:48:13.392] [warning] singleton class, skipping: sTutorialGuide::cOpenGuideNo +[2021-03-05 22:48:13.393] [warning] singleton class, skipping: sUnit +[2021-03-05 22:48:13.394] [warning] singleton class, skipping: sUnit::MoveLine +[2021-03-05 22:48:13.395] [warning] singleton class, skipping: sUnit::UnitGroup +[2021-03-05 22:48:13.396] [warning] singleton class, skipping: sUnitExt +[2021-03-05 22:48:13.397] [warning] singleton class, skipping: sUnitManager +[2021-03-05 22:48:13.397] [warning] singleton class, skipping: sUnitManager::cLODDistData +[2021-03-05 22:48:13.398] [warning] singleton class, skipping: sVibration +[2021-03-05 22:48:13.399] [warning] singleton class, skipping: sVibrationExt +[2021-03-05 22:48:13.400] [warning] singleton class, skipping: sWeatherManager +[2021-03-05 22:48:13.401] [warning] singleton class, skipping: sWorkRate +[2021-03-05 22:48:13.402] [warning] singleton class, skipping: sWorldOffset +[2021-03-05 22:48:13.403] [warning] singleton class, skipping: sZone +[2021-03-05 22:48:13.404] [warning] singleton class, skipping: sZoneStatus +[2021-03-05 22:48:13.407] [warning] singleton class, skipping: sZoneUnitCtrl +[2021-03-05 22:48:13.418] [warning] uBaseEffect::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.426] [warning] uCamera::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.429] [warning] uCharacterEditBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.455] [warning] uConstraint::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.458] [warning] uCoord::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.549] [warning] uEmDarkRimStone::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.554] [warning] uEnemy::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.556] [warning] uFilter::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.558] [warning] uFog::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.588] [warning] uGUIBase::cKeepInScreen::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.589] [warning] uGUIBase::cMaskScroll::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.589] [warning] uGUIBase::cMsgAnalyzer::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.626] [warning] uGUIBaseExt::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.627] [warning] uGUIBaseExtHud::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.628] [warning] uGUIBaseExtWindow::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.660] [warning] uGUICharacterEdit::cVerticalListEx::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.669] [warning] uGUIClanEditCommon::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.740] [warning] uGUIGPShop::cScrollStatusDispBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.795] [warning] uGUIItemBase01::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.822] [warning] uGUIKeyConfig::cKeyItem::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.873] [warning] uGUIPartyList::cGUIPageListCommon::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.887] [warning] uGUIPopBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.932] [warning] uGUIRimStone::cGUIPageListCommon::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.945] [warning] uGUIServerUIBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.965] [warning] uGUIUseItemBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.967] [warning] uGUIsMenuBase::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.968] [warning] uGeometry2Base::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.975] [warning] Skipping excluded class: uGraphPatch +[2021-03-05 22:48:13.977] [warning] uGrassEffect::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.978] [warning] uGrassMark::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.980] [warning] uGrassWind::DTI->NewInstance() == nullptr +[2021-03-05 22:48:13.995] [warning] uLight::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.021] [warning] uModel::Constraint::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.031] [warning] uMultiFilter::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.044] [warning] uPhysics::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.062] [warning] uScrollCollision::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.066] [warning] uShadow::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.115] [warning] uShlKeepOwnerLog::DTI->NewInstance() == nullptr +[2021-03-05 22:48:14.174] [info] Starting file dump. +[2021-03-05 22:48:15.316] [info] Done dumping classes! +[2021-03-05 22:48:15.403] [info] Starting python tuple list file dump. +[2021-03-05 22:48:16.416] [info] Done dumping classes! +[2021-03-05 22:48:16.423] [info] Dumping resource information classes! +[2021-03-05 22:48:16.426] [info] Done dumping resource information classes! diff --git a/research/dti/dti_prop_dump.h b/research/dti/dti_prop_dump.h new file mode 100644 index 000000000..164c27d8b --- /dev/null +++ b/research/dti/dti_prop_dump.h @@ -0,0 +1,107336 @@ +// Ando's DDON ClassPropDump log [05-03-2021 22-48-15] +// Image Base: 0X400000 + +// AHShapeBox vftable:0x1AEA648, Size:0xB0, CRC32:0x12904066 +class AHShapeBox /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + vector3 'Box.mSetPos0' ; // Offset:0x40, Var, CRC32:0x9306E9DC, Flags:0x0 + vector3 'Box.mSetPos1' ; // Offset:0x50, Var, CRC32:0xE401D94A, Flags:0x0 + vector3 'Box.mSetPos2' ; // Offset:0x60, Var, CRC32:0x7D0888F0, Flags:0x0 + vector3 'Box.mSetPos3' ; // Offset:0x70, Var, CRC32:0xA0FB866, Flags:0x0 + f32 'Box.mPosY' ; // Offset:0x80, Var, CRC32:0xFDF97BEB, Flags:0x0 + f32 'Box.mHeight' ; // Offset:0x84, Var, CRC32:0x3475CCD6, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AHShapeBoxRotate vftable:0x1AEA690, Size:0xD0, CRC32:0x446ECFAD +class AHShapeBoxRotate /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + f32 'BoxRotate.mHeight' ; // Offset:0x40, Var, CRC32:0x340C091D, Flags:0x0 + vector3 'BoxRotate.mCtr' ; // Offset:0x50, Var, CRC32:0x44410FF0, Flags:0x0 + vector3 'BoxRotate.mSetPos0' ; // Offset:0x60, Var, CRC32:0x9FB08B21, Flags:0x0 + vector3 'BoxRotate.mSetPos1' ; // Offset:0x70, Var, CRC32:0xE8B7BBB7, Flags:0x0 + vector3 'BoxRotate.mSetPos2' ; // Offset:0x80, Var, CRC32:0x71BEEA0D, Flags:0x0 + vector3 'BoxRotate.mSetPos3' ; // Offset:0x90, Var, CRC32:0x6B9DA9B, Flags:0x0 + vector3 'BoxRotate.mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x426F5E, Setter:0x426F63, CRC32:0x2F1A8C11, Flags:0x800000 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AHShapeCone vftable:0x1AEA754, Size:0x60, CRC32:0x3DBF1348 +class AHShapeCone /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + vector3 'Cone.mCenterPos' ; // Offset:0x40, Var, CRC32:0x7EEB3022, Flags:0x0 + f32 'Cone.mHeight' ; // Offset:0x50, Var, CRC32:0x9C9FD29D, Flags:0x0 + f32 'Cone.mTopRadius' ; // Offset:0x54, Var, CRC32:0xDAFB88AD, Flags:0x0 + f32 'Cone.mBottomRadius' ; // Offset:0x58, Var, CRC32:0x79F34700, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AHShapeCylinder vftable:0x1AEA6D8, Size:0x60, CRC32:0x45651A5D +class AHShapeCylinder /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + vector3 'Cylinder.mCenterPos' ; // Offset:0x40, Var, CRC32:0xA786C27, Flags:0x0 + f32 'Cylinder.mHeight' ; // Offset:0x50, Var, CRC32:0xC6D997C3, Flags:0x0 + f32 'Cylinder.mRadius' ; // Offset:0x54, Var, CRC32:0x8E81C96, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AHShapePolygon vftable:0x1AEA7B4, Size:0xA0, CRC32:0x7776E84C +class AHShapePolygon /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + class 'mPosList' ; // Offset:0x40, Var, CRC32:0x7088D3E1, Flags:0x0 + class 'mShapeList' ; // Offset:0x54, Var, CRC32:0xC232E463, Flags:0x0 + f32 'mHeight' ; // Offset:0x68, Var, CRC32:0xCBD14C3E, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AHShapePolygon::PosUnit vftable:0x1AEA794, Size:0x30, CRC32:0x67D6A100 +class AHShapePolygon::PosUnit /*: MtObject*/ { +}; + +// AHShapeSphere vftable:0x1AEA718, Size:0x60, CRC32:0x58C26ADB +class AHShapeSphere /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + vector3 'Sphere.mCenterPos' ; // Offset:0x40, Var, CRC32:0xC878BB6, Flags:0x0 + f32 'Sphere.mRadius' ; // Offset:0x50, Var, CRC32:0xAFC032B6, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AHShapeTriangle vftable:0x1AEA7F0, Size:0x60, CRC32:0x1F62C30 +class AHShapeTriangle /*: AreaHitShape, MtObject*/ { + f32 'Triangle.mSubPos[1]' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x274B44B5, Flags:0x0 + f32 'Triangle.mSubPos[0]' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x3E5075F4, Flags:0x0 + f32 'Triangle.mCorePos' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF22B14FF, Flags:0x0 + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + f32 'Triangle.mHeight' ; // Offset:0x4C, Var, CRC32:0x700528A5, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// AreaHitShape vftable:0x1AEA564, Size:0x40, CRC32:0x5B42CB96 +class AreaHitShape /*: MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// Bind vftable:0x1D66C04, Size:0x20, CRC32:0x1901A392 +class Bind /*: MtObject*/ { + s32 'mBindType' ; // Offset:0x4, Var, CRC32:0x92A8D9A8, Flags:0x0 + s32 'mJointNo' ; // Offset:0xC, Var, CRC32:0x673E4986, Flags:0x0 +}; + +// CustomMarkerGroupShape vftable:0x1C53BEC, Size:0x50, CRC32:0x6C0047FC +class CustomMarkerGroupShape /*: AreaHitShape, MtObject*/ { + string 'Name' ; // Offset:0x4, Var, CRC32:0x1EE2EC7, Flags:0x0 + f32 'CheckAngle' ; // Offset:0x8, Var, CRC32:0xC94792B8, Flags:0x0 + f32 'CheckRange' ; // Offset:0xC, Var, CRC32:0x5A418DF8, Flags:0x0 + f32 'CheckToward' ; // Offset:0x10, Var, CRC32:0xBC9523AF, Flags:0x0 + bool 'AngleFlag' ; // Offset:0x14, Var, CRC32:0x25099053, Flags:0x0 + bool 'TowardFlag' ; // Offset:0x15, Var, CRC32:0xDEDEC6E9, Flags:0x0 + aabb 'mZoneBoundingBox' ; // Offset:0x20, Var, CRC32:0x9ABD3883, Flags:0x0 + u32 'mMapGroup' ; // Offset:0x40, Var, CRC32:0x4A828CD2, Flags:0x0 + classref 'mpZone' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x425450, Setter:0x425C30, CRC32:0x22181232, Flags:0x840000 +}; + +// FileController vftable:0x1C15E28, Size:0x13C, CRC32:0x72A7FC06 +class FileController /*: MtObject*/ { +}; + +// ItemGetInfo vftable:0x1BFD6E0, Size:0x18, CRC32:0x4FDEF7E +class ItemGetInfo /*: MtObject*/ { +}; + +// MtArray vftable:0x1AE4AFC, Size:0x14, CRC32:0x71134D41 +class MtArray /*: MtObject*/ { + u32 'mLength' ; // Offset:0x4, Var, CRC32:0x3FE13783, Flags:0x30000 + bool 'mAutoDelete' ; // Offset:0xC, Var, CRC32:0x1DEC045C, Flags:0x0 + classref 'mpArray'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x13B72E0, Setter:0x13B7570, GetCount:0x40EE40, Reallocate:0x13B7590 CRC32:0x253F36CB, Flags:0xA00000 +}; + +// MtBlockAllocator vftable:0x20B7628, Size:0x70, CRC32:0x1FBE1059 +class MtBlockAllocator /*: MtAllocator, MtObject*/ { + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'mBlockSize' ; // Offset:0x60, Var, CRC32:0x2486D5D0, Flags:0x10000 + u32 'mBlockNum' ; // Offset:0x64, Var, CRC32:0x432C9E2F, Flags:0x10000 + u32 'mEmptyPt' ; // Offset:0x68, Var, CRC32:0xD816BF0C, Flags:0x10000 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MtCipherStream vftable:0x20B7CC8, Size:0xF08, CRC32:0x7AA7094D +class MtCipherStream /*: MtStream, MtObject*/ { +}; + +// MtClipboardStream vftable:0x20B7C00, Size:0x1C, CRC32:0x167A6809 +class MtClipboardStream /*: MtStream, MtObject*/ { +}; + +// MtCollisionGjk vftable:0x20B8984, Size:0x1C0, CRC32:0x1AF46990 +class MtCollisionGjk /*: MtObject*/ { +}; + +// MtCollisionMpr vftable:0x20BA294, Size:0xC, CRC32:0x4325BE5D +class MtCollisionMpr /*: MtObject*/ { +}; + +// MtCollisionUtil::MtArrayEx vftable:0x20BEB48, Size:0x20, CRC32:0x13AE871E +class MtCollisionUtil::MtArrayEx /*: MtArray, MtObject*/ { + classref 'mpArray'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x19C8A9E, Setter:0x19C8A99, GetCount:0x40EE40, Reallocate:0x14A6500 CRC32:0x253F36CB, Flags:0xA00000 + string 'ArrayDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA400, Setter:0x19CAB10, CRC32:0x56D67ABE, Flags:0x830000 + u32 'mLength' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40EE40, Setter:0x14A6500, CRC32:0x3FE13783, Flags:0x830000 + bool 'mAutoDelete' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x63EC30, Setter:0x422240, CRC32:0x1DEC045C, Flags:0x800000 +}; + +// MtCollisionUtil::MtDataBuffer vftable:0x2100744, Size:0xC, CRC32:0x739EE5D9 +class MtCollisionUtil::MtDataBuffer /*: MtObject*/ { +}; + +// MtCollisionUtil::MtDtiObject vftable:0x2100708, Size:0x8, CRC32:0x113DFED1 +class MtCollisionUtil::MtDtiObject /*: MtObject*/ { + u32 'DtiID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA460, Setter:0x19CAAB0, CRC32:0x67FF40CA, Flags:0x830000 + string 'DtiName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA440, Setter:0x19CAA80, CRC32:0x9132524, Flags:0x5810000 +}; + +// MtCollisionUtil::MtDtiSelecter vftable:0x20DA710, Size:0x8, CRC32:0x5C4DCC7D +class MtCollisionUtil::MtDtiSelecter /*: MtCollisionUtil::MtDtiSelecterIntermediate, MtDtiSelecter, MtObject*/ { + u32 'EditDtiID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4B0, Setter:0x19CD530, CRC32:0x9ED0D91, Flags:0x830000 + string 'EditDtiName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4C0, Setter:0x19CD550, CRC32:0x5831F284, Flags:0x810000 + u32 'DtiDropDownList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4B0, Setter:0x19CD530, CRC32:0x72D8790F, Flags:0x820000 +}; + +// MtCollisionUtil::MtDtiSelecterIntermediate vftable:0x20DA6FC, Size:0x8, CRC32:0x6165159E +class MtCollisionUtil::MtDtiSelecterIntermediate /*: MtDtiSelecter, MtObject*/ { + u32 'EditDtiID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4B0, Setter:0x19CD530, CRC32:0x9ED0D91, Flags:0x830000 + string 'EditDtiName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4C0, Setter:0x19CD550, CRC32:0x5831F284, Flags:0x810000 + u32 'DtiDropDownList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4B0, Setter:0x19CD530, CRC32:0x72D8790F, Flags:0x820000 +}; + +// MtCollisionUtil::MtFunc vftable:0x210077C, Size:0x10, CRC32:0x6FF6DDE7 +class MtCollisionUtil::MtFunc /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x8, Var, CRC32:0x4B533E00, Flags:0x100000 + string 'name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA420, Setter:0x19CABC0, CRC32:0xA1DC81F9, Flags:0x800000 +}; + +// MtCollisionUtil::MtFunc32 vftable:0x2100798, Size:0x14, CRC32:0x55E11004 +class MtCollisionUtil::MtFunc32 /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x8, Var, CRC32:0x4B533E00, Flags:0x100000 + string 'name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA420, Setter:0x19CABC0, CRC32:0xA1DC81F9, Flags:0x800000 +}; + +// MtCollisionUtil::MtFunc32X2 vftable:0x21007B4, Size:0x18, CRC32:0x436E865D +class MtCollisionUtil::MtFunc32X2 /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x8, Var, CRC32:0x4B533E00, Flags:0x100000 + string 'name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA420, Setter:0x19CABC0, CRC32:0xA1DC81F9, Flags:0x800000 +}; + +// MtCollisionUtil::MtFuncBase vftable:0x2100760, Size:0xC, CRC32:0x7D68E873 +class MtCollisionUtil::MtFuncBase /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x8, Var, CRC32:0x4B533E00, Flags:0x100000 + string 'name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA420, Setter:0x19CABC0, CRC32:0xA1DC81F9, Flags:0x800000 +}; + +// MtCollisionUtil::MtFuncPtr vftable:0x21007D0, Size:0x10, CRC32:0x5501A8E3 +class MtCollisionUtil::MtFuncPtr /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x8, Var, CRC32:0x4B533E00, Flags:0x100000 + string 'name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA420, Setter:0x19CABC0, CRC32:0xA1DC81F9, Flags:0x800000 +}; + +// MtCollisionUtil::MtFuncPtr32 vftable:0x21007EC, Size:0x10, CRC32:0x11E2EA44 +class MtCollisionUtil::MtFuncPtr32 /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x8, Var, CRC32:0x4B533E00, Flags:0x100000 + string 'name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CA420, Setter:0x19CABC0, CRC32:0xA1DC81F9, Flags:0x800000 +}; + +// MtCollisionUtil::MtLinerTree vftable:0x2100C3C, Size:0x80, CRC32:0x7B5C4A7C +class MtCollisionUtil::MtLinerTree /*: MtObject*/ { +}; + +// MtCollisionUtil::MtLinerTree::cRegistReserveInfo vftable:0x2100C28, Size:0x18, CRC32:0x5A500D32 +class MtCollisionUtil::MtLinerTree::cRegistReserveInfo /*: MtObject*/ { +}; + +// MtCollisionUtil::MtList vftable:0x2100824, Size:0x10, CRC32:0x69C88E4C +class MtCollisionUtil::MtList /*: MtObject*/ { + classref 'mpRoot' ; // Offset:0x4, Var, CRC32:0x94072B6E, Flags:0x0 + classref 'mpTail' ; // Offset:0x8, Var, CRC32:0xFEC46668, Flags:0x100000 + bool 'mFlgAutoDelete' ; // Offset:0xC, Var, CRC32:0x4E68047E, Flags:0x0 +}; + +// MtCollisionUtil::MtListElement vftable:0x2100808, Size:0x18, CRC32:0x46927FD6 +class MtCollisionUtil::MtListElement /*: MtObject*/ { + classref 'mpObject' ; // Offset:0x8, Var, CRC32:0x23984AAE, Flags:0x0 + classref 'mpNext' ; // Offset:0xC, Var, CRC32:0x86DCC209, Flags:0x0 + classref 'mpBack' ; // Offset:0x10, Var, CRC32:0xEF3D1302, Flags:0x100000 + bool 'mFlgAutoDelete' ; // Offset:0x14, Var, CRC32:0x4E68047E, Flags:0x0 +}; + +// MtCollisionUtil::MtTreeDTI vftable:0x2100840, Size:0xC, CRC32:0x555EBD5B +class MtCollisionUtil::MtTreeDTI /*: MtTree, MtObject*/ { + classref 'mpRoot' ; // Offset:0x4, Var, CRC32:0x94072B6E, Flags:0x0 +}; + +// MtDefaultAllocator vftable:0x2098020, Size:0x5C, CRC32:0x5AF0348C +class MtDefaultAllocator /*: MtAllocator, MtObject*/ { + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MtDtiSelecter vftable:0x2100CB0, Size:0x8, CRC32:0x34BC3DBB +class MtDtiSelecter /*: MtObject*/ { + u32 'EditDtiID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4B0, Setter:0x19CD530, CRC32:0x9ED0D91, Flags:0x830000 + string 'EditDtiName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4C0, Setter:0x19CD550, CRC32:0x5831F284, Flags:0x810000 + u32 'DtiDropDownList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19CD4B0, Setter:0x19CD530, CRC32:0x72D8790F, Flags:0x820000 +}; + +// MtExHeapAllocator vftable:0x20BA950, Size:0x98, CRC32:0x4B1EC9A0 +class MtExHeapAllocator /*: MtAllocator, MtObject*/ { + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MtFile vftable:0x20B7408, Size:0x138, CRC32:0x7C4047D3 +class MtFile /*: MtObject*/ { +}; + +// MtFile::FileInfo vftable:0x20B73F4, Size:0x40, CRC32:0x559F244C +class MtFile::FileInfo /*: MtObject*/ { + u64 'mSize' ; // Offset:0x8, Var, CRC32:0x2EC9EF56, Flags:0x10000 + string 'mName' ; // Offset:0x10, Var, CRC32:0x872AB53A, Flags:0x10000 + u32 'mAttr' ; // Offset:0x18, Var, CRC32:0xDD77E828, Flags:0x10000 + time 'mCreation' ; // Offset:0x20, Var, CRC32:0x7F60B5E9, Flags:0x10000 + time 'mLastAccess' ; // Offset:0x28, Var, CRC32:0x4A590A6F, Flags:0x10000 + time 'mLastWrite' ; // Offset:0x30, Var, CRC32:0x2B306F58, Flags:0x10000 + cstring 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13BAA50, Setter:0x13BB920, CRC32:0xD31307E8, Flags:0x810000 +}; + +// MtFileStream vftable:0x20B7B38, Size:0x8, CRC32:0x1F3422D8 +class MtFileStream /*: MtStream, MtObject*/ { +}; + +// MtGeomAABB vftable:0x20B8DA8, Size:0x30, CRC32:0x30C5FA11 +class MtGeomAABB /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + aabb 'mAABB' ; // Offset:0x10, Var, CRC32:0x50126E8A, Flags:0x0 + vector3 'mAABB.minpos' ; // Offset:0x10, Var, CRC32:0xD41EE421, Flags:0x20000000 + vector3 'mAABB.maxpos' ; // Offset:0x20, Var, CRC32:0x911CA7A3, Flags:0x20000000 +}; + +// MtGeomAABB4 vftable:0x20CAE80, Size:0x70, CRC32:0x4BB411BD +class MtGeomAABB4 /*: MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + aabb4 'mAABB4' ; // Offset:0x10, Var, CRC32:0x2C898CE5, Flags:0x0 +}; + +// MtGeomCapsule vftable:0x1BF9790, Size:0x40, CRC32:0x3D568D05 +class MtGeomCapsule /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + capsule 'mCapsule' ; // Offset:0x10, Var, CRC32:0x418AD29D, Flags:0x0 + vector3 'mCapsule.p0' ; // Offset:0x10, Var, CRC32:0x709DC4F1, Flags:0x20000000 + vector3 'mCapsule.p1' ; // Offset:0x20, Var, CRC32:0x79AF467, Flags:0x20000000 + f32 'mCapsule.r' ; // Offset:0x30, Var, CRC32:0x193E1F19, Flags:0x20000000 +}; + +// MtGeomCylinder vftable:0x20C84D0, Size:0x40, CRC32:0x4DA2AC5E +class MtGeomCylinder /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + cylinder 'mCylinder' ; // Offset:0x10, Var, CRC32:0xB38A6B77, Flags:0x0 +}; + +// MtGeomLine vftable:0x2100858, Size:0x30, CRC32:0x68CAEB51 +class MtGeomLine /*: MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + line 'mLine' ; // Offset:0x10, Var, CRC32:0x81D7FCA, Flags:0x0 + vector3 'mLine.from' ; // Offset:0x10, Var, CRC32:0xAA711592, Flags:0x20000000 + vector3 'mLine.dir' ; // Offset:0x20, Var, CRC32:0xB2EDBE2E, Flags:0x20000000 +}; + +// MtGeomLineSegment vftable:0x20B8A38, Size:0x30, CRC32:0x31F8368 +class MtGeomLineSegment /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + linesegment 'mLineSegment' ; // Offset:0x10, Var, CRC32:0x858D178A, Flags:0x0 + vector3 'mLineSegment.p0' ; // Offset:0x10, Var, CRC32:0x411DC768, Flags:0x20000000 + vector3 'mLineSegment.p1' ; // Offset:0x20, Var, CRC32:0x361AF7FE, Flags:0x20000000 +}; + +// MtGeomLineSegment4 vftable:0x20D7F98, Size:0x70, CRC32:0x62DE025C +class MtGeomLineSegment4 /*: MtGeomConvex, MtGeometry, MtObject*/ { + linesegment4 'mLineSegment4' ; // Offset:0x10, Var, CRC32:0x2C5C139C, Flags:0x0 +}; + +// MtGeomLineSweptSphere vftable:0x20B9038, Size:0x40, CRC32:0x3F3305F5 +class MtGeomLineSweptSphere /*: MtGeomCapsule, MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + capsule 'mCapsule' ; // Offset:0x10, Var, CRC32:0x418AD29D, Flags:0x0 + vector3 'mCapsule.p0' ; // Offset:0x10, Var, CRC32:0x709DC4F1, Flags:0x20000000 + vector3 'mCapsule.p1' ; // Offset:0x20, Var, CRC32:0x79AF467, Flags:0x20000000 + f32 'mCapsule.r' ; // Offset:0x30, Var, CRC32:0x193E1F19, Flags:0x20000000 +}; + +// MtGeomOBB vftable:0x1BF9878, Size:0x60, CRC32:0x34D14DF1 +class MtGeomOBB /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + obb 'mOBB' ; // Offset:0x10, Var, CRC32:0x36ACC8FB, Flags:0x0 + matrix44 'mOBB.coord' ; // Offset:0x10, Var, CRC32:0x1547C9F9, Flags:0x20000000 + vector3 'mOBB.extent' ; // Offset:0x50, Var, CRC32:0xF31B9D3A, Flags:0x20000000 +}; + +// MtGeomPlane vftable:0x20B8B68, Size:0x20, CRC32:0x5B3A2A19 +class MtGeomPlane /*: MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + Plane 'mPlane' ; // Offset:0x10, Var, CRC32:0x3C07B741, Flags:0x0 +}; + +// MtGeomPlaneXZ vftable:0x20B8C30, Size:0x10, CRC32:0x39675442 +class MtGeomPlaneXZ /*: MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + plane_xz 'mPlaneXZ' ; // Offset:0x8, Var, CRC32:0x45BB0BDA, Flags:0x0 +}; + +// MtGeomRay vftable:0x20D7E18, Size:0x30, CRC32:0x2F8DE397 +class MtGeomRay /*: MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + ray 'mRay' ; // Offset:0x10, Var, CRC32:0x2DF0669D, Flags:0x0 + vector3 'mRay.from' ; // Offset:0x10, Var, CRC32:0x449A8D48, Flags:0x20000000 + vector3 'mRay.dir' ; // Offset:0x20, Var, CRC32:0x5714482C, Flags:0x20000000 +}; + +// MtGeomRayY vftable:0x20D7ED8, Size:0x20, CRC32:0x7CF36254 +class MtGeomRayY /*: MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + float3 'from' ; // Offset:0x10, Var, CRC32:0x46E55E8F, Flags:0x0 + f32 'dir' ; // Offset:0x1C, Var, CRC32:0x455485EF, Flags:0x0 +}; + +// MtGeomSphere vftable:0x1BE40D8, Size:0x20, CRC32:0xEB22BED +class MtGeomSphere /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + sphere 'mSphere' ; // Offset:0x10, Var, CRC32:0x6B65CFB6, Flags:0x0 + float3 'mSphere.pos' ; // Offset:0x10, Var, CRC32:0x5F7500BA, Flags:0x20000000 + f32 'mSphere.r' ; // Offset:0x1C, Var, CRC32:0xC48A446, Flags:0x20000000 +}; + +// MtGeomTriangle vftable:0x20B8F00, Size:0x40, CRC32:0x9319A33 +class MtGeomTriangle /*: MtGeomConvex, MtGeometry, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x20010000 + f32 'mMargin' ; // Offset:0x8, Var, CRC32:0xDFD63E8, Flags:0x20000000 + triangle 'mTriangle' ; // Offset:0x10, Var, CRC32:0xF7195D1A, Flags:0x0 + vector3 'mTriangle.p0' ; // Offset:0x10, Var, CRC32:0x41FA8F38, Flags:0x20000000 + vector3 'mTriangle.p1' ; // Offset:0x20, Var, CRC32:0x36FDBFAE, Flags:0x20000000 + vector3 'mTriangle.p2' ; // Offset:0x30, Var, CRC32:0xAFF4EE14, Flags:0x20000000 +}; + +// MtHeapAllocator vftable:0x20B75E0, Size:0x2A8, CRC32:0x74F15F28 +class MtHeapAllocator /*: MtAllocator, MtObject*/ { + u32 'CalledNo' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xC32B8D2B, Flags:0x10000 + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'mRealSize' ; // Offset:0x2A0, Var, CRC32:0x938B08A0, Flags:0x10000 + u32 'mBreakNo' ; // Offset:0x2A4, Var, CRC32:0x61700FBE, Flags:0x0 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MtHeapArray vftable:0x209806C, Size:0x14, CRC32:0xB4B4CE7 +class MtHeapArray /*: MtArray, MtObject*/ { + u32 'mLength' ; // Offset:0x4, Var, CRC32:0x3FE13783, Flags:0x30000 + bool 'mAutoDelete' ; // Offset:0xC, Var, CRC32:0x1DEC045C, Flags:0x0 + classref 'mpArray'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x13B72E0, Setter:0x13B7570, GetCount:0x40EE40, Reallocate:0x13B7590 CRC32:0x253F36CB, Flags:0xA00000 +}; + +// MtMap vftable:0x2098088, Size:0x4410, CRC32:0x29429698 +class MtMap /*: MtObject*/ { +}; + +// MtMemoryCachedStream vftable:0x20B7BA0, Size:0x20, CRC32:0x162C4EA7 +class MtMemoryCachedStream /*: MtStream, MtObject*/ { +}; + +// MtMemoryStream vftable:0x20B7C60, Size:0x1C, CRC32:0x5BC443CD +class MtMemoryStream /*: MtStream, MtObject*/ { +}; + +// MtNetObject vftable:0x20BA220, Size:0x30, CRC32:0x7EB9B212 +class MtNetObject /*: MtObject*/ { + bool 'mIsThreadSafe' ; // Offset:0x1C, Var, CRC32:0x22291F30, Flags:0x10000 + s32 'mLockCount' ; // Offset:0x20, Var, CRC32:0x53566FD7, Flags:0x10000 + s32 'mFatal.mNo' ; // Offset:0x24, Var, CRC32:0xBDFDEE56, Flags:0x0 + s32 'mFatal.mCause' ; // Offset:0x28, Var, CRC32:0x187FA4A7, Flags:0x0 + s32 'mFatal.mNative' ; // Offset:0x2C, Var, CRC32:0x10ECFB7, Flags:0x0 +}; + +// MtNetRanking vftable:0x20BAA28, Size:0x8EE8, CRC32:0x8E91D5F +class MtNetRanking /*: MtNetObject, MtObject*/ { + bool 'mIsThreadSafe' ; // Offset:0x1C, Var, CRC32:0x22291F30, Flags:0x10000 + s32 'mLockCount' ; // Offset:0x20, Var, CRC32:0x53566FD7, Flags:0x10000 + s32 'mFatal.mNo' ; // Offset:0x24, Var, CRC32:0xBDFDEE56, Flags:0x0 + s32 'mFatal.mCause' ; // Offset:0x28, Var, CRC32:0x187FA4A7, Flags:0x0 + s32 'mFatal.mNative' ; // Offset:0x2C, Var, CRC32:0x10ECFB7, Flags:0x0 + class 'mScoreList' ; // Offset:0xA0, Var, CRC32:0x82AF2263, Flags:0x40000 +}; + +// MtNetRanking::Score vftable:0x20BA9D8, Size:0x168, CRC32:0x162D34C5 +class MtNetRanking::Score /*: MtNetObject, MtObject*/ { + bool 'mIsThreadSafe' ; // Offset:0x1C, Var, CRC32:0x22291F30, Flags:0x10000 + s32 'mLockCount' ; // Offset:0x20, Var, CRC32:0x53566FD7, Flags:0x10000 + s32 'mFatal.mNo' ; // Offset:0x24, Var, CRC32:0xBDFDEE56, Flags:0x0 + s32 'mFatal.mCause' ; // Offset:0x28, Var, CRC32:0x187FA4A7, Flags:0x0 + s32 'mFatal.mNative' ; // Offset:0x2C, Var, CRC32:0x10ECFB7, Flags:0x0 + class 'UniqueId' ; // Offset:0x30, Var, CRC32:0xCE427509, Flags:0x0 + s32 'Rank' ; // Offset:0xD0, Var, CRC32:0xD7B4B824, Flags:0x0 + s64 'Score' ; // Offset:0xD8, Var, CRC32:0xCA7E7AA, Flags:0x0 + s32 'OptionNum' ; // Offset:0xE0, Var, CRC32:0x58854C8D, Flags:0x0 + u8 'mOption[0].mKind' ; // Offset:0xE8, Var, CRC32:0x45997987, Flags:0x0 + s64 'mOption[0].mInt64' ; // Offset:0xF0, Var, CRC32:0x2C0609E6, Flags:0x0 + u8 'mOption[1].mKind' ; // Offset:0xF8, Var, CRC32:0x89337919, Flags:0x0 + s64 'mOption[1].mInt64' ; // Offset:0x100, Var, CRC32:0x3B7D1DA5, Flags:0x0 + u8 'mOption[2].mKind' ; // Offset:0x108, Var, CRC32:0x7BC7EFA, Flags:0x0 + s64 'mOption[2].mInt64' ; // Offset:0x110, Var, CRC32:0x2F02160, Flags:0x0 + u8 'mOption[3].mKind' ; // Offset:0x118, Var, CRC32:0xCB167E64, Flags:0x0 + s64 'mOption[3].mInt64' ; // Offset:0x120, Var, CRC32:0x158B3523, Flags:0x0 + u8 'mOption[4].mKind' ; // Offset:0x128, Var, CRC32:0xC1D3777D, Flags:0x0 + s64 'mOption[4].mInt64' ; // Offset:0x130, Var, CRC32:0x71EA58EA, Flags:0x0 + u8 'mOption[5].mKind' ; // Offset:0x138, Var, CRC32:0xD7977E3, Flags:0x0 + s64 'mOption[5].mInt64' ; // Offset:0x140, Var, CRC32:0x66914CA9, Flags:0x0 + u8 'mOption[6].mKind' ; // Offset:0x148, Var, CRC32:0x83F67000, Flags:0x0 + s64 'mOption[6].mInt64' ; // Offset:0x150, Var, CRC32:0x5F1C706C, Flags:0x0 + u8 'mOption[7].mKind' ; // Offset:0x158, Var, CRC32:0x4F5C709E, Flags:0x0 + s64 'mOption[7].mInt64' ; // Offset:0x160, Var, CRC32:0x4867642F, Flags:0x0 +}; + +// MtNetServiceError vftable:0x20BA1DC, Size:0xF0, CRC32:0x4B9AE971 +class MtNetServiceError /*: MtNetObject, MtObject*/ { + bool 'mIsThreadSafe' ; // Offset:0x1C, Var, CRC32:0x22291F30, Flags:0x10000 + s32 'mLockCount' ; // Offset:0x20, Var, CRC32:0x53566FD7, Flags:0x10000 + s32 'mFatal.mNo' ; // Offset:0x24, Var, CRC32:0xBDFDEE56, Flags:0x0 + s32 'mFatal.mCause' ; // Offset:0x28, Var, CRC32:0x187FA4A7, Flags:0x0 + s32 'mFatal.mNative' ; // Offset:0x2C, Var, CRC32:0x10ECFB7, Flags:0x0 +}; + +// MtNetUniqueId vftable:0x20BA6A0, Size:0x7C, CRC32:0x6746C8B8 +class MtNetUniqueId /*: MtNetObject, MtObject*/ { + bool 'mIsThreadSafe' ; // Offset:0x1C, Var, CRC32:0x22291F30, Flags:0x10000 + s32 'mLockCount' ; // Offset:0x20, Var, CRC32:0x53566FD7, Flags:0x10000 + s32 'mFatal.mNo' ; // Offset:0x24, Var, CRC32:0xBDFDEE56, Flags:0x0 + s32 'mFatal.mCause' ; // Offset:0x28, Var, CRC32:0x187FA4A7, Flags:0x0 + s32 'mFatal.mNative' ; // Offset:0x2C, Var, CRC32:0x10ECFB7, Flags:0x0 + u32 'mBufferSize' ; // Offset:0x34, Var, CRC32:0x7C3C6DC6, Flags:0x10000 + u32 'mDataLength' ; // Offset:0x38, Var, CRC32:0x61B9450D, Flags:0x10000 + u8 'mData'[64] ; // Offset:0x3C, Array, CRC32:0x74FA385F, Flags:0x200000 +}; + +// MtObject vftable:0x1AE28B0, Size:0x4, CRC32:0x2EA10CEB +class MtObject /**/ { +}; + +// MtPerformance vftable:0x20BA33C, Size:0x60, CRC32:0x42AA5A99 +class MtPerformance /*: MtObject*/ { +}; + +// MtPerformanceCounter vftable:0x20BA320, Size:0x30, CRC32:0x4F3C7D65 +class MtPerformanceCounter /*: MtObject*/ { +}; + +// MtPerformanceTimer vftable:0x1C1609C, Size:0x18, CRC32:0x3355995 +class MtPerformanceTimer /*: MtObject*/ { +}; + +// MtPropertyList vftable:0x20B75AC, Size:0x8, CRC32:0x2A031018 +class MtPropertyList /*: MtObject*/ { +}; + +// MtRegistry vftable:0x20B89B8, Size:0x114, CRC32:0xB822975 +class MtRegistry /*: MtObject*/ { +}; + +// MtScalableAllocator vftable:0x1AF2308, Size:0x4D0, CRC32:0x1A762E98 +class MtScalableAllocator /*: MtAllocator, MtObject*/ { + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MtStream vftable:0x20B7AD8, Size:0x4, CRC32:0x76E5191B +class MtStream /*: MtObject*/ { +}; + +// MtThread vftable:0x20BA2B0, Size:0x6C, CRC32:0x372CEB84 +class MtThread /*: MtObject*/ { +}; + +// MtTree vftable:0x20980C0, Size:0xC, CRC32:0x47E12F1F +class MtTree /*: MtObject*/ { + classref 'mpRoot' ; // Offset:0x4, Var, CRC32:0x94072B6E, Flags:0x0 +}; + +// MtTree::Node vftable:0x20980AC, Size:0x1C, CRC32:0x14BB288 +class MtTree::Node /*: MtObject*/ { + classref 'mpObject' ; // Offset:0x4, Var, CRC32:0x23984AAE, Flags:0x40000 + classref 'mpNext' ; // Offset:0x8, Var, CRC32:0x86DCC209, Flags:0x0 + classref 'mpBack' ; // Offset:0xC, Var, CRC32:0xEF3D1302, Flags:0x100000 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpChild' ; // Offset:0x14, Var, CRC32:0xA6808C55, Flags:0x0 +}; + +// MtVirtualAllocator vftable:0x20B7670, Size:0x2C0, CRC32:0x5759AC30 +class MtVirtualAllocator /*: MtAllocator, MtObject*/ { + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MtVirtualExtendAllocator vftable:0x20B77B0, Size:0x4D4, CRC32:0x444322CB +class MtVirtualExtendAllocator /*: MtScalableAllocator, MtAllocator, MtObject*/ { + u32 'mUsedSize' ; // Offset:0x4, Var, CRC32:0x36A1A19A, Flags:0x10000 + u32 'mMaxUsedSize' ; // Offset:0x8, Var, CRC32:0xD82E2225, Flags:0x10000 + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x10000 + cstring 'mName' ; // Offset:0x34, Var, CRC32:0x872AB53A, Flags:0x30000 + u16 'mType' ; // Offset:0x38, Var, CRC32:0x55D79C15, Flags:0x10000 + u16 'mAttr' ; // Offset:0x3A, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'Map' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x541F13A4, Flags:0x800000 + u64 'Avail' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x13C3210, Setter:0x13C47E0, CRC32:0xAB34DAD1, Flags:0x810000 + u64 'Used' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC60, Setter:0x13C47E0, CRC32:0x268A33D9, Flags:0x810000 + u64 'Total' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4BC50, Setter:0x13C47E0, CRC32:0xFC1131A5, Flags:0x810000 +}; + +// MyListener vftable:0x1BD8D70, Size:0x8, CRC32:0x22F9E70A +class MyListener /*: nNetwork::SessionListener, MtObject*/ { +}; + +// ObjectString vftable:0x1C48504, Size:0x8, CRC32:0x70C72BE6 +class ObjectString /*: MtObject*/ { + string 'mString' ; // Offset:0x4, Var, CRC32:0xA0221B98, Flags:0x0 +}; + +// ParallelsFileData vftable:0x1C15DF4, Size:0x170, CRC32:0x3DFCFE06 +class ParallelsFileData /*: MtObject*/ { +}; + +// SCE_AH_LIST vftable:0x1C9EF44, Size:0x1C, CRC32:0x70878AD1 +class SCE_AH_LIST /*: MtObject*/ { + class 'mArray' ; // Offset:0x4, Var, CRC32:0x5CB87476, Flags:0x0 + string 'mFileName' ; // Offset:0x18, Var, CRC32:0xB4B776C6, Flags:0x10000 +}; + +// aBase vftable:0x1AE28E4, Size:0x34, CRC32:0x5C4DD85C +class aBase /*: cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aCharacterEditGame vftable:0x1AE3020, Size:0x2B20, CRC32:0x108ECE21 +class aCharacterEditGame /*: aStage, cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aGame vftable:0x1AE3AE4, Size:0x34, CRC32:0x3FD217B1 +class aGame /*: cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aInit vftable:0x1AE44C8, Size:0x58, CRC32:0x5A8DC249 +class aInit /*: cAreaExt, cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aLobby vftable:0x1AE4B30, Size:0x960, CRC32:0x46920F4D +class aLobby /*: aStage, cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aLogo vftable:0x1AE504C, Size:0x38, CRC32:0x7877BC2E +class aLogo /*: cAreaExt, cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aMenu vftable:0x1AE56C0, Size:0xB0, CRC32:0x61FC1CAE +class aMenu /*: cAreaExt, cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aStage vftable:0x1AE6CB0, Size:0x920, CRC32:0x480AC9D3 +class aStage /*: cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aTitle vftable:0x1AE7704, Size:0x1A0, CRC32:0x214022D1 +class aTitle /*: cAreaExt, cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// aViewer vftable:0x1CA3374, Size:0x30, CRC32:0x7A606F10 +class aViewer /*: cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// cAIAStar vftable:0x20CB05C, Size:0xE4, CRC32:0x23ACF968 +class cAIAStar /*: cAIGraph, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 + f32 'mSecurityCost' ; // Offset:0x78, Var, CRC32:0x5EAC3E5E, Flags:0x0 +}; + +// cAIConditionTree vftable:0x20D640C, Size:0x50, CRC32:0x3011C92D +class cAIConditionTree /*: cAIObject, MtObject*/ { +}; + +// cAIConditionTree::ConstEnumWorkNode vftable:0x20D6360, Size:0x14, CRC32:0x565DE033 +class cAIConditionTree::ConstEnumWorkNode /*: cAIConditionTreeNode, cAIObject, MtObject*/ { +}; + +// cAIConditionTree::ConstWorkNode vftable:0x20D6318, Size:0x10, CRC32:0x51A80B30 +class cAIConditionTree::ConstWorkNode /*: cAIConditionTreeNode, cAIObject, MtObject*/ { +}; + +// cAIConditionTree::OperationWorkNode vftable:0x20D62D0, Size:0x14, CRC32:0x6EEDC18B +class cAIConditionTree::OperationWorkNode /*: cAIConditionTreeNode, cAIObject, MtObject*/ { +}; + +// cAIConditionTree::TreeInfo vftable:0x20D63F0, Size:0x14, CRC32:0x1BF4EAB6 +class cAIConditionTree::TreeInfo /*: cAIObject, MtObject*/ { +}; + +// cAIConditionTree::VariableWorkNode vftable:0x20D63A8, Size:0x68, CRC32:0x4CD105C1 +class cAIConditionTree::VariableWorkNode /*: cAIConditionTreeNode, cAIObject, MtObject*/ { +}; + +// cAIConditionTreeNode vftable:0x20D6288, Size:0x10, CRC32:0x3D2F51F7 +class cAIConditionTreeNode /*: cAIObject, MtObject*/ { +}; + +// cAICopiableParameter vftable:0x1B9E8C8, Size:0x4, CRC32:0x1209ECA +class cAICopiableParameter /*: cAIResource, MtObject*/ { +}; + +// cAIDEnum vftable:0x20D6268, Size:0xC, CRC32:0x2C29825D +class cAIDEnum /*: cAIObject, MtObject*/ { + string 'mElementName' ; // Offset:0x4, Var, CRC32:0x3B7E31E7, Flags:0x20000000 + u32 'mId' ; // Offset:0x8, Var, CRC32:0x2BD52F93, Flags:0x0 +}; + +// cAIFSM vftable:0x20C5DB4, Size:0x5C, CRC32:0x2E3E872E +class cAIFSM /*: cAIObject, MtObject*/ { + u32 'mStatus' ; // Offset:0x18, Var, CRC32:0x459CCC2D, Flags:0x0 + s32 'mIFree'[8] ; // Offset:0x1C, Array, CRC32:0x63ECC90A, Flags:0x200000 + f32 'mFFree'[8] ; // Offset:0x3C, Array, CRC32:0xE1BC5EDB, Flags:0x200000 + classref 'mCoreList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A76C0, Setter:0x15A8180, GetCount:0x15A7700, Reallocate:0x15A81B0 CRC32:0xBCB0A86D, Flags:0xA00000 +}; + +// cAIFSM::Core vftable:0x20C5D98, Size:0xD0, CRC32:0x59F986BD +class cAIFSM::Core /*: MtObject*/ { + custom 'mpResource' ; // Offset:0x8, Var, CRC32:0xE80A92B5, Flags:0x0 + u32 'mAttribute' ; // Offset:0x88, Var, CRC32:0xA6EE61BF, Flags:0x0 + s32 'mIFree'[8] ; // Offset:0x8C, Array, CRC32:0x63ECC90A, Flags:0x200000 + f32 'mFFree'[8] ; // Offset:0xAC, Array, CRC32:0xE1BC5EDB, Flags:0x200000 + classref 'mClusterWorkList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A76A0, Setter:0x15A8160, GetCount:0x15A76B0, Reallocate:0x15A8170 CRC32:0x4225498E, Flags:0xA00000 + u32 'mStatus' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15A7830, Setter:0x15A83F0, CRC32:0x459CCC2D, Flags:0x800000 +}; + +// cAIFSM::Core::ClearTransitionFromAllOnceParam vftable:0x20C5D80, Size:0xC, CRC32:0x6293217B +class cAIFSM::Core::ClearTransitionFromAllOnceParam /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mStateID' ; // Offset:0x8, Var, CRC32:0xDA43839, Flags:0x10000 +}; + +// cAIFSM::Core::ClusterDriveInfo vftable:0x20C5D5C, Size:0x2C, CRC32:0x57A76BC8 +class cAIFSM::Core::ClusterDriveInfo /*: cAIObject, MtObject*/ { +}; + +// cAIFSM::Core::ClusterWork vftable:0x20C5D40, Size:0x14, CRC32:0x16DC8964 +class cAIFSM::Core::ClusterWork /*: cAIObject, MtObject*/ { + u32 'mTransitionOnceStateList'[0] ; // Offset:0x7FFFFFFFFFFFFFFF, Array, CRC32:0x3C1C35FC, Flags:0x210000 + u32 'mTransitionOnceStateNum' ; // Offset:0xC, Var, CRC32:0x2D9900, Flags:0x10000 +}; + +// cAIFSMCluster vftable:0x20C60E0, Size:0x18, CRC32:0x18868106 +class cAIFSMCluster /*: cAIResource, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mOwnerNodeUniqueId' ; // Offset:0x8, Var, CRC32:0xC85D6C37, Flags:0x0 + u32 'mInitialStateId' ; // Offset:0xC, Var, CRC32:0x70B1E0E4, Flags:0x0 + classref 'mpNodeList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15AA750, Setter:0x15AAB00, GetCount:0xB58F20, Reallocate:0x15AAB20 CRC32:0x8E2F0A04, Flags:0xA00000 +}; + +// cAIFSMData vftable:0x20C5D24, Size:0x54, CRC32:0x78B9C3DB +class cAIFSMData /*: cAIObject, MtObject*/ { + s32 'mIFree'[8] ; // Offset:0x4, Array, CRC32:0x63ECC90A, Flags:0x200000 + f32 'mFFree'[8] ; // Offset:0x24, Array, CRC32:0xE1BC5EDB, Flags:0x200000 + classref 'mpCore'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A76E0, Setter:0x15A8190, GetCount:0x15A7710, Reallocate:0x15A81C0 CRC32:0xE97E577A, Flags:0xA00000 +}; + +// cAIFSMData::Cluster vftable:0x20C5CD0, Size:0x10, CRC32:0x365184B8 +class cAIFSMData::Cluster /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mNextId' ; // Offset:0x8, Var, CRC32:0x7A658777, Flags:0x0 + u32 'mStatus' ; // Offset:0xC, Var, CRC32:0x459CCC2D, Flags:0x0 +}; + +// cAIFSMData::ClusterLog vftable:0x20C5CEC, Size:0x10, CRC32:0x40FD6484 +class cAIFSMData::ClusterLog /*: MtObject*/ { + u32 'mClusterId' ; // Offset:0x4, Var, CRC32:0x576ABE91, Flags:0x0 + u32 'mTransitionOnceStateList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A7840, Setter:0x15A8410, GetCount:0x15A7860, Reallocate:0x15A8430 CRC32:0x3C1C35FC, Flags:0xA00000 +}; + +// cAIFSMData::Core vftable:0x20C5D08, Size:0x60, CRC32:0x296A2C1E +class cAIFSMData::Core /*: MtObject*/ { + u64 'mResourceId' ; // Offset:0x8, Var, CRC32:0x2F1A823B, Flags:0x0 + s32 'mIFree'[8] ; // Offset:0x10, Array, CRC32:0x63ECC90A, Flags:0x200000 + f32 'mFFree'[8] ; // Offset:0x30, Array, CRC32:0xE1BC5EDB, Flags:0x200000 + classref 'mpClusterLog'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A7660, Setter:0x15A80A0, GetCount:0x15A7680, Reallocate:0x15A80C0 CRC32:0x727BB51E, Flags:0xA00000 + classref 'mpCluster'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A7640, Setter:0x15A8080, GetCount:0x15A7690, Reallocate:0x15A8110 CRC32:0xAF9E9344, Flags:0xA00000 +}; + +// cAIFSMLink vftable:0x20C6070, Size:0x10, CRC32:0x63E6A949 +class cAIFSMLink /*: cAIResource, MtObject*/ { + u32 'mDestinationNodeId' ; // Offset:0x4, Var, CRC32:0xBE43ABD0, Flags:0x0 + bool 'mExistCondition' ; // Offset:0x8, Var, CRC32:0x4746A445, Flags:0x0 + u32 'mConditionId' ; // Offset:0xC, Var, CRC32:0xCD4683BD, Flags:0x0 +}; + +// cAIFSMNode vftable:0x20C60BC, Size:0x3C, CRC32:0x5035D8FD +class cAIFSMNode /*: cAIResource, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mUniqueId' ; // Offset:0x8, Var, CRC32:0xE045D83D, Flags:0x0 + u32 'mOwnerId' ; // Offset:0xC, Var, CRC32:0x63BC8E3B, Flags:0x0 + classref 'mpSubCluster' ; // Offset:0x18, Var, CRC32:0x13895E4, Flags:0x0 + u32 'mSetting' ; // Offset:0x24, Var, CRC32:0x1C96CB86, Flags:0x0 + u32 'mUserAttribute' ; // Offset:0x28, Var, CRC32:0x1FAFB805, Flags:0x0 + u32 'mUIPos' ; // Offset:0x2C, Var, CRC32:0xAB6D6C8A, Flags:0x0 + u8 'mColorType' ; // Offset:0x30, Var, CRC32:0xEDB69A26, Flags:0x0 + bool 'mExistConditionTrainsitionFromAll' ; // Offset:0x34, Var, CRC32:0x86146CDA, Flags:0x0 + u32 'mConditionTrainsitionFromAllId' ; // Offset:0x38, Var, CRC32:0x5B1330CC, Flags:0x0 + classref 'mpProcessList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15AA7A0, Setter:0x15AAB30, GetCount:0xB58F30, Reallocate:0x15AAB50 CRC32:0xE556ED0D, Flags:0xA00000 + classref 'mpLinkList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15AA6F0, Setter:0x15AAAD0, GetCount:0x15A77F0, Reallocate:0x15AAAF0 CRC32:0xB171A544, Flags:0xA00000 +}; + +// cAIFSMNodeProcess vftable:0x20C6090, Size:0x28, CRC32:0x609DB540 +class cAIFSMNodeProcess /*: cAIUserProcessReference, cAIResource, MtObject*/ { + string 'mContainerName' ; // Offset:0x4, Var, CRC32:0xE9A9D527, Flags:0x0 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x0 + classref 'mpParameter' ; // Offset:0xC, Var, CRC32:0xB71E17A9, Flags:0x0 +}; + +// cAIFSMProcessContainer vftable:0x20C5DF0, Size:0x18, CRC32:0xD624460 +class cAIFSMProcessContainer /*: cAIUserProcessContainer, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + classref 'ContainerList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A89A0, Setter:0x15A8CD0, GetCount:0x15A8A60, Reallocate:0x15A8CE0 CRC32:0x16AA930E, Flags:0xA00000 +}; + +// cAIFieldPathTrace vftable:0x20C9C10, Size:0x1F0, CRC32:0xCF54B49 +class cAIFieldPathTrace /*: cAIWayPathTrace, cAIPathTrace, cAIAStar, cAIGraph, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 + f32 'mSecurityCost' ; // Offset:0x78, Var, CRC32:0x5EAC3E5E, Flags:0x0 + classref 'mpStartNode' ; // Offset:0x104, Var, CRC32:0xF9C4C79E, Flags:0x20000 + classref 'mpEndNode' ; // Offset:0x108, Var, CRC32:0x54FC612C, Flags:0x20000 + vector3 'mStartPos' ; // Offset:0x110, Var, CRC32:0x9466AC7A, Flags:0x10000 + vector3 'mEndPos' ; // Offset:0x120, Var, CRC32:0x2F4465D, Flags:0x10000 + bool 'mDynamicPathEnable' ; // Offset:0x162, Var, CRC32:0xCDB055C, Flags:0x0 + bool 'mEnableCurve' ; // Offset:0x190, Var, CRC32:0xC765DAEF, Flags:0x0 + bool 'mEnableAxisY' ; // Offset:0x191, Var, CRC32:0xDA49501, Flags:0x0 + f32 'mWeight' ; // Offset:0x194, Var, CRC32:0x3951FC70, Flags:0x0 + u32 'mNumberOfCurvePoint' ; // Offset:0x198, Var, CRC32:0xFE12E749, Flags:0x0 + f32 'mSlope' ; // Offset:0x19C, Var, CRC32:0xA578DF44, Flags:0x0 +}; + +// cAIFieldPathTrace::FieldTracePoint vftable:0x20C9BFC, Size:0x30, CRC32:0x2033A15C +class cAIFieldPathTrace::FieldTracePoint /*: cAIPathTrace::TracePoint, MtObject*/ { +}; + +// cAIGraph vftable:0x20CB028, Size:0x78, CRC32:0x347F62 +class cAIGraph /*: cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 +}; + +// cAIGraph::Area vftable:0x20CB014, Size:0x1C, CRC32:0x59657F1F +class cAIGraph::Area /*: cAIGraph::Node, MtObject*/ { + u16 'mID' ; // Offset:0x10, Var, CRC32:0x10BB0F5B, Flags:0x10000 + u8 'mNumberOfLink' ; // Offset:0x12, Var, CRC32:0x5A503BA, Flags:0x10000 +}; + +// cAIGraph::Node vftable:0x20CAFF8, Size:0x14, CRC32:0xB8EAA32 +class cAIGraph::Node /*: MtObject*/ { + u16 'mID' ; // Offset:0x10, Var, CRC32:0x10BB0F5B, Flags:0x10000 + u8 'mNumberOfLink' ; // Offset:0x12, Var, CRC32:0x5A503BA, Flags:0x10000 +}; + +// cAIGrid vftable:0x1AE9A7C, Size:0x40, CRC32:0x667C3C1D +class cAIGrid /*: cAIObject, MtObject*/ { +}; + +// cAINavMultiPathTrace vftable:0x20C9AD8, Size:0x280, CRC32:0x3CECA0E9 +class cAINavMultiPathTrace /*: cAINavPathTrace, cAIPathTrace, cAIAStar, cAIGraph, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 + f32 'mSecurityCost' ; // Offset:0x78, Var, CRC32:0x5EAC3E5E, Flags:0x0 + classref 'mpStartNode' ; // Offset:0x104, Var, CRC32:0xF9C4C79E, Flags:0x20000 + classref 'mpEndNode' ; // Offset:0x108, Var, CRC32:0x54FC612C, Flags:0x20000 + vector3 'mStartPos' ; // Offset:0x110, Var, CRC32:0x9466AC7A, Flags:0x10000 + vector3 'mEndPos' ; // Offset:0x120, Var, CRC32:0x2F4465D, Flags:0x10000 + bool 'mDynamicPathEnable' ; // Offset:0x162, Var, CRC32:0xCDB055C, Flags:0x0 + bool 'mEnableCurve' ; // Offset:0x190, Var, CRC32:0xC765DAEF, Flags:0x0 + bool 'mEnableAxisY' ; // Offset:0x191, Var, CRC32:0xDA49501, Flags:0x0 + f32 'mWeight' ; // Offset:0x194, Var, CRC32:0x3951FC70, Flags:0x0 + u32 'mNumberOfCurvePoint' ; // Offset:0x198, Var, CRC32:0xFE12E749, Flags:0x0 + f32 'mSlope' ; // Offset:0x19C, Var, CRC32:0xA578DF44, Flags:0x0 + f32 'mHeight' ; // Offset:0x1B0, Var, CRC32:0xCBD14C3E, Flags:0x0 + bool 'mPreStraightExamination' ; // Offset:0x1C6, Var, CRC32:0x2D84F50A, Flags:0x0 + bool 'mEnableWidthRev' ; // Offset:0x1C8, Var, CRC32:0x2FCF3D7D, Flags:0x0 + f32 'mWidthRev' ; // Offset:0x1CC, Var, CRC32:0x5A661BD1, Flags:0x0 +}; + +// cAINavMultiPathTrace::MultiTracePoint vftable:0x20C9AC4, Size:0x30, CRC32:0x461B0846 +class cAINavMultiPathTrace::MultiTracePoint /*: cAIPathTrace::TracePoint, MtObject*/ { +}; + +// cAINavPathTrace vftable:0x20C9A60, Size:0x1D0, CRC32:0xAB5136B +class cAINavPathTrace /*: cAIPathTrace, cAIAStar, cAIGraph, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 + f32 'mSecurityCost' ; // Offset:0x78, Var, CRC32:0x5EAC3E5E, Flags:0x0 + classref 'mpStartNode' ; // Offset:0x104, Var, CRC32:0xF9C4C79E, Flags:0x20000 + classref 'mpEndNode' ; // Offset:0x108, Var, CRC32:0x54FC612C, Flags:0x20000 + vector3 'mStartPos' ; // Offset:0x110, Var, CRC32:0x9466AC7A, Flags:0x10000 + vector3 'mEndPos' ; // Offset:0x120, Var, CRC32:0x2F4465D, Flags:0x10000 + bool 'mDynamicPathEnable' ; // Offset:0x162, Var, CRC32:0xCDB055C, Flags:0x0 + bool 'mEnableCurve' ; // Offset:0x190, Var, CRC32:0xC765DAEF, Flags:0x0 + bool 'mEnableAxisY' ; // Offset:0x191, Var, CRC32:0xDA49501, Flags:0x0 + f32 'mWeight' ; // Offset:0x194, Var, CRC32:0x3951FC70, Flags:0x0 + u32 'mNumberOfCurvePoint' ; // Offset:0x198, Var, CRC32:0xFE12E749, Flags:0x0 + f32 'mSlope' ; // Offset:0x19C, Var, CRC32:0xA578DF44, Flags:0x0 + f32 'mHeight' ; // Offset:0x1B0, Var, CRC32:0xCBD14C3E, Flags:0x0 + bool 'mPreStraightExamination' ; // Offset:0x1C6, Var, CRC32:0x2D84F50A, Flags:0x0 + bool 'mEnableWidthRev' ; // Offset:0x1C8, Var, CRC32:0x2FCF3D7D, Flags:0x0 + f32 'mWidthRev' ; // Offset:0x1CC, Var, CRC32:0x5A661BD1, Flags:0x0 +}; + +// cAIObject vftable:0x20C2038, Size:0x4, CRC32:0x567FAB90 +class cAIObject /*: MtObject*/ { +}; + +// cAIPacket vftable:0x20CAF9C, Size:0x38, CRC32:0x4293A408 +class cAIPacket /*: cAIObject, MtObject*/ { + undefined '' ; // Offset:0x0, Var, CRC32:0xFFFFFFFF, Flags:0x0 + classref 'mpNextPacket' ; // Offset:0x4, Var, CRC32:0xB7CF8B81, Flags:0x20000 + classref 'mpPrevPacket' ; // Offset:0x8, Var, CRC32:0x362820B1, Flags:0x20000 + string 'mName' ; // Offset:0xC, Var, CRC32:0x872AB53A, Flags:0x0 +}; + +// cAIPacketList vftable:0x20CAFB8, Size:0x88, CRC32:0x717D2F2C +class cAIPacketList /*: cAIObject, MtObject*/ { + u32 'mNumberOfPacket' ; // Offset:0x4, Var, CRC32:0x7ECF6916, Flags:0x0 + classref 'mpList'[32] ; // Offset:0x8, Array, CRC32:0xC63B2A2D, Flags:0x200000 +}; + +// cAIPacketQueue vftable:0x20CAFD4, Size:0x10, CRC32:0xCFED18C +class cAIPacketQueue /*: cAIObject, MtObject*/ { +}; + +// cAIPathTrace::TracePoint vftable:0x20C99EC, Size:0x20, CRC32:0x5F810788 +class cAIPathTrace::TracePoint /*: MtObject*/ { +}; + +// cAIPawnActNoSwitch vftable:0x1C49F08, Size:0x10, CRC32:0x3DD4D46F +class cAIPawnActNoSwitch /*: MtObject*/ { +}; + +// cAIPawnAutoMotionNode vftable:0x1C4A498, Size:0x24, CRC32:0x12A9254C +class cAIPawnAutoMotionNode /*: cAIResource, MtObject*/ { +}; + +// cAIPawnAutoWordNode vftable:0x1C4A510, Size:0x58, CRC32:0x18AED9E3 +class cAIPawnAutoWordNode /*: cAIResource, MtObject*/ { +}; + +// cAIPawnCulPrioThinkCategory vftable:0x1C4AB00, Size:0x10, CRC32:0x3EC4ECEE +class cAIPawnCulPrioThinkCategory /*: cAIResource, MtObject*/ { +}; + +// cAIPawnEmNode vftable:0x1C4AC28, Size:0x50, CRC32:0x705FDFC2 +class cAIPawnEmNode /*: cAIResource, MtObject*/ { +}; + +// cAIPawnOrderParam vftable:0x1C4B1C4, Size:0x38, CRC32:0x55D66695 +class cAIPawnOrderParam /*: cAIResource, MtObject*/ { +}; + +// cAIPawnSkillParamNode vftable:0x1C4B788, Size:0x6C, CRC32:0x2DFE76C2 +class cAIPawnSkillParamNode /*: cAIResource, MtObject*/ { +}; + +// cAIPawnSpecialityCondition vftable:0x1C4B8A4, Size:0x1C, CRC32:0x1E9D0195 +class cAIPawnSpecialityCondition /*: cAIResource, MtObject*/ { +}; + +// cAIPawnSpecialityInfo vftable:0x1C4B8DC, Size:0x88, CRC32:0x41F06FB4 +class cAIPawnSpecialityInfo /*: cAIResource, MtObject*/ { +}; + +// cAIPawnSpecialityParam vftable:0x1B3E8D8, Size:0x1C, CRC32:0x4FF15998 +class cAIPawnSpecialityParam /*: cAIResource, MtObject*/ { +}; + +// cAIQuadTree vftable:0x20CB0B8, Size:0x90, CRC32:0x608948B0 +class cAIQuadTree /*: cAITreeBase, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 +}; + +// cAIResource vftable:0x1B3E870, Size:0x4, CRC32:0x7EC22EC1 +class cAIResource /*: MtObject*/ { +}; + +// cAIRouteInfo vftable:0x1AE9AF4, Size:0x18, CRC32:0x4E2EBFD9 +class cAIRouteInfo /*: cAIObject, MtObject*/ { +}; + +// cAIRouteInfoParts vftable:0x1AE9AC4, Size:0x60, CRC32:0x48FDAD29 +class cAIRouteInfoParts /*: cAIObject, MtObject*/ { +}; + +// cAISensorNode vftable:0x1BE41C4, Size:0x70, CRC32:0x67FEC4C0 +class cAISensorNode /*: cAIObject, MtObject*/ { +}; + +// cAISensorNodeRes vftable:0x1C4BA2C, Size:0x50, CRC32:0x5A821ECC +class cAISensorNodeRes /*: cAIResource, MtObject*/ { +}; + +// cAIService vftable:0x20D492C, Size:0x30, CRC32:0x6AD29A48 +class cAIService /*: cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvDynamicPathFinding vftable:0x20D50A8, Size:0x160, CRC32:0x56016C56 +class cAISvDynamicPathFinding /*: cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + class 'mGroup' ; // Offset:0x30, Var, CRC32:0x9074DE04, Flags:0x0 + custom 'mpDynamicPath' ; // Offset:0x64, Var, CRC32:0xE8193982, Flags:0x0 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvDynamicPathFinding::GroupManagement vftable:0x20D5094, Size:0x34, CRC32:0xD2D9306 +class cAISvDynamicPathFinding::GroupManagement /*: MtObject*/ { + f32 'mDeltaTime' ; // Offset:0x8, Var, CRC32:0xB50C3B41, Flags:0x0 + f32 'mRange' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x182A7D0, Setter:0x182AB70, CRC32:0x6E33C088, Flags:0x800000 +}; + +// cAISvDynamicPathFinding::GroupManagement::Group vftable:0x20D5080, Size:0x40, CRC32:0x1D91968F +class cAISvDynamicPathFinding::GroupManagement::Group /*: MtObject*/ { +}; + +// cAISvDynamicPathFinding::TraceManagement vftable:0x20D505C, Size:0xC, CRC32:0x1E504A15 +class cAISvDynamicPathFinding::TraceManagement /*: MtObject*/ { +}; + +// cAISvDynamicPathFinding::TraceManagement::Trace vftable:0x20D5048, Size:0x8, CRC32:0xCBAA66B +class cAISvDynamicPathFinding::TraceManagement::Trace /*: MtObject*/ { +}; + +// cAISvDynamicPathFinding::UnitManagement vftable:0x20D5024, Size:0xC, CRC32:0xD449D4A +class cAISvDynamicPathFinding::UnitManagement /*: MtObject*/ { +}; + +// cAISvDynamicPathFinding::UnitManagement::Unit vftable:0x20D5010, Size:0x80, CRC32:0x8466E0F +class cAISvDynamicPathFinding::UnitManagement::Unit /*: MtObject*/ { +}; + +// cAISvFSM vftable:0x20D6518, Size:0x38, CRC32:0x52992A34 +class cAISvFSM /*: cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + classref 'mFSMList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x18456B0, Setter:0x1845840, GetCount:0x18456E0, Reallocate:0x1845850 CRC32:0x192FBB24, Flags:0x4A00000 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvFSM::FSMInfo vftable:0x20D64FC, Size:0x14, CRC32:0x568283E5 +class cAISvFSM::FSMInfo /*: MtObject*/ { + classref 'mpFSM' ; // Offset:0x4, Var, CRC32:0xDEACD94A, Flags:0x0 + u32 'mInfoID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1845700, Setter:0x1845860, CRC32:0x8B6BCA2B, Flags:0x800000 +}; + +// cAISvNavPathFinding vftable:0x20C2198, Size:0xB0, CRC32:0x4E1794B2 +class cAISvNavPathFinding /*: cAISvPathFinding, cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + classref 'mpGraph' ; // Offset:0x40, Var, CRC32:0x8D76DDA0, Flags:0x20000 + bool 'mEnableWorldOffset' ; // Offset:0x4E, Var, CRC32:0x3684A721, Flags:0x0 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvNavPathFinding::NavArea vftable:0x20C2180, Size:0x20, CRC32:0x1C3D0093 +class cAISvNavPathFinding::NavArea /*: MtObject*/ { +}; + +// cAISvNavPathFinding::navCell vftable:0x20C2164, Size:0x10, CRC32:0x4F938385 +class cAISvNavPathFinding::navCell /*: MtObject*/ { +}; + +// cAISvNavPathManager vftable:0x20D92B8, Size:0xF0, CRC32:0x132AA23D +class cAISvNavPathManager /*: cAISvPathManager, cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvOpenField vftable:0x20D4F94, Size:0x220, CRC32:0x133F6A10 +class cAISvOpenField /*: cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + u32 'Division' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x18273F0, Setter:0x1828210, CRC32:0x169EDABD, Flags:0x800000 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvPathFinding::Node vftable:0x20C20FC, Size:0x50, CRC32:0x1D668C92 +class cAISvPathFinding::Node /*: MtObject*/ { +}; + +// cAISvPathManager vftable:0x20D9278, Size:0xF0, CRC32:0x203A02B6 +class cAISvPathManager /*: cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvPathManager::PartsInfo vftable:0x20D9244, Size:0x80, CRC32:0x66577CB8 +class cAISvPathManager::PartsInfo /*: MtObject*/ { + bool 'mKill' ; // Offset:0x4, Var, CRC32:0xDE209D55, Flags:0x10000 + bool 'mMovement' ; // Offset:0x5, Var, CRC32:0xDC53A56A, Flags:0x10000 + bool 'mMove' ; // Offset:0x6, Var, CRC32:0x3637FC44, Flags:0x10000 + u8 'mServiceID' ; // Offset:0x7, Var, CRC32:0xEE93D124, Flags:0x10000 + u16 'mNumberOfNode' ; // Offset:0x8, Var, CRC32:0xB676720E, Flags:0x10000 + u16 'mNumberOfConnect' ; // Offset:0xA, Var, CRC32:0x533982B, Flags:0x10000 + u32 'mMatrixID' ; // Offset:0xC, Var, CRC32:0x74E41113, Flags:0x10000 + aabb 'mAABB' ; // Offset:0x20, Var, CRC32:0x50126E8A, Flags:0x10000 +}; + +// cAISvPathManager::ServiceInfo vftable:0x20D9260, Size:0xC, CRC32:0x22F30F80 +class cAISvPathManager::ServiceInfo /*: MtObject*/ { + classref 'mpPath' ; // Offset:0x4, Var, CRC32:0x89A7593A, Flags:0x0 +}; + +// cAISvUserProcess vftable:0x20C5C0C, Size:0x40, CRC32:0x58CFB9DF +class cAISvUserProcess /*: cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + classref 'ContainerList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A50D0, Setter:0x15A53C0, GetCount:0x15A50F0, Reallocate:0x15A53D0 CRC32:0x16AA930E, Flags:0xA00000 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvUserProcess::UserObjectInfo vftable:0x20C5BF0, Size:0x1C, CRC32:0x58C75F69 +class cAISvUserProcess::UserObjectInfo /*: MtObject*/ { +}; + +// cAISvWayPathFinding vftable:0x20C21E8, Size:0x90, CRC32:0x7467C8EF +class cAISvWayPathFinding /*: cAISvPathFinding, cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + classref 'mpGraph' ; // Offset:0x40, Var, CRC32:0x8D76DDA0, Flags:0x20000 + bool 'mEnableWorldOffset' ; // Offset:0x4E, Var, CRC32:0x3684A721, Flags:0x0 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvWayPointGraph vftable:0x20C2250, Size:0xB0, CRC32:0x4392AE94 +class cAISvWayPointGraph /*: cAISvPathFinding, cAIService, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x10000 + classref 'mpGraph' ; // Offset:0x40, Var, CRC32:0x8D76DDA0, Flags:0x20000 + bool 'mEnableWorldOffset' ; // Offset:0x4E, Var, CRC32:0x3684A721, Flags:0x0 + cstring 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180E790, Setter:0x180E840, CRC32:0xB1B34B45, Flags:0x810000 +}; + +// cAISvWayPointGraph::LowNode vftable:0x20C223C, Size:0x60, CRC32:0x5D75EE40 +class cAISvWayPointGraph::LowNode /*: cAISvPathFinding::Node, MtObject*/ { +}; + +// cAITargetInfo vftable:0x1AE9FF0, Size:0x18, CRC32:0x661DD8 +class cAITargetInfo /*: MtObject*/ { +}; + +// cAITask vftable:0x20D4794, Size:0x4C, CRC32:0x1A223E0F +class cAITask /*: cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 +}; + +// cAITaskJobPrim vftable:0x20C99B4, Size:0x18, CRC32:0x40ABA692 +class cAITaskJobPrim /*: cAIObject, MtObject*/ { +}; + +// cAITaskJobPrimList vftable:0x20D4778, Size:0xC, CRC32:0x342DA475 +class cAITaskJobPrimList /*: cAIObject, MtObject*/ { +}; + +// cAITreeBase vftable:0x20CB098, Size:0x5C, CRC32:0x3CB5B341 +class cAITreeBase /*: cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 +}; + +// cAITreeBase::Node vftable:0x20CB084, Size:0xC, CRC32:0x3FF20E5A +class cAITreeBase::Node /*: MtObject*/ { +}; + +// cAIUserProcess vftable:0x20C5C78, Size:0x18, CRC32:0x2BF30A0A +class cAIUserProcess /*: cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 +}; + +// cAIUserProcessCallback vftable:0x20C5C94, Size:0x1C, CRC32:0x750AFF3D +class cAIUserProcessCallback /*: cAIUserProcess, cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 +}; + +// cAIUserProcessContainer vftable:0x20C5C64, Size:0x18, CRC32:0x1F4939F1 +class cAIUserProcessContainer /*: cAIObject, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + classref 'ContainerList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15A89A0, Setter:0x15A8CD0, GetCount:0x15A8A60, Reallocate:0x15A8CE0 CRC32:0x16AA930E, Flags:0xA00000 +}; + +// cAIUserProcessReference vftable:0x20C5FC4, Size:0xC, CRC32:0x76489CF9 +class cAIUserProcessReference /*: cAIResource, MtObject*/ { + string 'mContainerName' ; // Offset:0x4, Var, CRC32:0xE9A9D527, Flags:0x0 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x0 +}; + +// cAIWayGraphTrace vftable:0x20C9B98, Size:0x200, CRC32:0x5D465FC8 +class cAIWayGraphTrace /*: cAIPathTrace, cAIAStar, cAIGraph, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 + f32 'mSecurityCost' ; // Offset:0x78, Var, CRC32:0x5EAC3E5E, Flags:0x0 + classref 'mpStartNode' ; // Offset:0x104, Var, CRC32:0xF9C4C79E, Flags:0x20000 + classref 'mpEndNode' ; // Offset:0x108, Var, CRC32:0x54FC612C, Flags:0x20000 + vector3 'mStartPos' ; // Offset:0x110, Var, CRC32:0x9466AC7A, Flags:0x10000 + vector3 'mEndPos' ; // Offset:0x120, Var, CRC32:0x2F4465D, Flags:0x10000 + bool 'mDynamicPathEnable' ; // Offset:0x162, Var, CRC32:0xCDB055C, Flags:0x0 + bool 'mEnableCurve' ; // Offset:0x190, Var, CRC32:0xC765DAEF, Flags:0x0 + bool 'mEnableAxisY' ; // Offset:0x191, Var, CRC32:0xDA49501, Flags:0x0 + f32 'mWeight' ; // Offset:0x194, Var, CRC32:0x3951FC70, Flags:0x0 + u32 'mNumberOfCurvePoint' ; // Offset:0x198, Var, CRC32:0xFE12E749, Flags:0x0 + f32 'mSlope' ; // Offset:0x19C, Var, CRC32:0xA578DF44, Flags:0x0 +}; + +// cAIWayPathTrace vftable:0x20C9B38, Size:0x1C0, CRC32:0x6A0F9F8B +class cAIWayPathTrace /*: cAIPathTrace, cAIAStar, cAIGraph, cAITask, cAIObject, MtObject*/ { + u32 'mTaskStatus' ; // Offset:0x18, Var, CRC32:0x92DF691C, Flags:0x10000 + bool 'mEnablePerformanceManage' ; // Offset:0x1D, Var, CRC32:0x2EDB10D7, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x20, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x24, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mTaskAllowTime' ; // Offset:0x28, Var, CRC32:0x7F6922A9, Flags:0x10000 + s32 'mLODLevel' ; // Offset:0x44, Var, CRC32:0x716B03E0, Flags:0x0 + classref 'mpPerformanceInfo' ; // Offset:0x48, Var, CRC32:0xDD344E9F, Flags:0x10000 + f32 'mSecurityCost' ; // Offset:0x78, Var, CRC32:0x5EAC3E5E, Flags:0x0 + classref 'mpStartNode' ; // Offset:0x104, Var, CRC32:0xF9C4C79E, Flags:0x20000 + classref 'mpEndNode' ; // Offset:0x108, Var, CRC32:0x54FC612C, Flags:0x20000 + vector3 'mStartPos' ; // Offset:0x110, Var, CRC32:0x9466AC7A, Flags:0x10000 + vector3 'mEndPos' ; // Offset:0x120, Var, CRC32:0x2F4465D, Flags:0x10000 + bool 'mDynamicPathEnable' ; // Offset:0x162, Var, CRC32:0xCDB055C, Flags:0x0 + bool 'mEnableCurve' ; // Offset:0x190, Var, CRC32:0xC765DAEF, Flags:0x0 + bool 'mEnableAxisY' ; // Offset:0x191, Var, CRC32:0xDA49501, Flags:0x0 + f32 'mWeight' ; // Offset:0x194, Var, CRC32:0x3951FC70, Flags:0x0 + u32 'mNumberOfCurvePoint' ; // Offset:0x198, Var, CRC32:0xFE12E749, Flags:0x0 + f32 'mSlope' ; // Offset:0x19C, Var, CRC32:0xA578DF44, Flags:0x0 +}; + +// cAbilityData vftable:0x1C485BC, Size:0x2C, CRC32:0x386C501F +class cAbilityData /*: MtObject*/ { + class 'mParamArray' ; // Offset:0x4, Var, CRC32:0x2C057D15, Flags:0x0 + class 'mDisableAbilityArray' ; // Offset:0x18, Var, CRC32:0x4406050C, Flags:0x0 +}; + +// cAbilityParam vftable:0x1C4855C, Size:0x20, CRC32:0x2FDE31B0 +class cAbilityParam /*: MtObject*/ { + s32 'mParamType' ; // Offset:0x4, Var, CRC32:0x822A7010, Flags:0x0 + s32 'mCorrectType' ; // Offset:0x8, Var, CRC32:0x3BA57669, Flags:0x0 + class 'mParamDataArray' ; // Offset:0xC, Var, CRC32:0xFD1F36A5, Flags:0x0 +}; + +// cAbilityParam::cParamData vftable:0x1C48534, Size:0xC, CRC32:0x14FA812D +class cAbilityParam::cParamData /*: MtObject*/ { + s32 'mLv' ; // Offset:0x4, Var, CRC32:0xA51BAA9E, Flags:0x0 + s32 'mParam' ; // Offset:0x8, Var, CRC32:0x594EE648, Flags:0x0 +}; + +// cAchievementData vftable:0x1C486D4, Size:0x14, CRC32:0x2D13AE10 +class cAchievementData /*: cUIResource, MtObject*/ { +}; + +// cAchievementHeaderData vftable:0x1C487B8, Size:0x8, CRC32:0x68E501C3 +class cAchievementHeaderData /*: cUIResource, MtObject*/ { +}; + +// cAcquirement::cCustomSkillData vftable:0x1AE84E8, Size:0x74, CRC32:0x4A24C150 +class cAcquirement::cCustomSkillData /*: cAcquirement::cSkillDataBase, cUIObject, MtObject*/ { +}; + +// cAcquirement::cNormalSkillData vftable:0x1AE8510, Size:0x74, CRC32:0x733C1B7B +class cAcquirement::cNormalSkillData /*: cAcquirement::cSkillDataBase, cUIObject, MtObject*/ { +}; + +// cAcquirement::cSkillDataBase vftable:0x1AE84C0, Size:0x68, CRC32:0x64B4807F +class cAcquirement::cSkillDataBase /*: cUIObject, MtObject*/ { +}; + +// cActNetParamRes vftable:0x1B39294, Size:0x8, CRC32:0x40BE8ADE +class cActNetParamRes /*: MtObject*/ { +}; + +// cActParamRes vftable:0x1B39280, Size:0x2C, CRC32:0x36124029 +class cActParamRes /*: MtObject*/ { +}; + +// cAction vftable:0x1AE8BA8, Size:0x14, CRC32:0x296F5EFE +class cAction /*: MtObject*/ { +}; + +// cActionParamList vftable:0x1B392A8, Size:0x44, CRC32:0x31955666 +class cActionParamList /*: MtObject*/ { +}; + +// cActivateDragonSkill vftable:0x1C493D0, Size:0xC, CRC32:0x78ABCACC +class cActivateDragonSkill /*: MtObject*/ { +}; + +// cActiveQuestManager vftable:0x1AE954C, Size:0x10, CRC32:0x70435865 +class cActiveQuestManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cActiveQuestManager::cActiveQuestData vftable:0x1AE956C, Size:0x14, CRC32:0x2491079 +class cActiveQuestManager::cActiveQuestData /*: MtObject*/ { +}; + +// cActorLight vftable:0x1C95F34, Size:0x50, CRC32:0x362FE497 +class cActorLight /*: MtObject*/ { + string 'mName' ; // Offset:0x8, Var, CRC32:0x872AB53A, Flags:0x0 + vector3 'mColor' ; // Offset:0x10, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mBalance' ; // Offset:0x20, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x24, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x28, Var, CRC32:0xE4A7981C, Flags:0x0 + vector3 'mPos' ; // Offset:0x30, Var, CRC32:0x50227663, Flags:0x0 + f32 'mStart' ; // Offset:0x40, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x44, Var, CRC32:0xD007A37E, Flags:0x0 + s32 'mStageNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xBA5360, Setter:0xBA6590, CRC32:0xACF5AFCF, Flags:0x800000 +}; + +// cAdjLimitParam vftable:0x1C4F048, Size:0x328, CRC32:0x35E07AE5 +class cAdjLimitParam /*: MtObject*/ { +}; + +// cAdjustParam vftable:0x1C49964, Size:0x8, CRC32:0x57FB5072 +class cAdjustParam /*: MtObject*/ { + f32 'mParam' ; // Offset:0x4, Var, CRC32:0x594EE648, Flags:0x0 +}; + +// cAnimalData vftable:0x1C4BAC8, Size:0x30, CRC32:0x2EBDDBC5 +class cAnimalData /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mAngle' ; // Offset:0x20, Var, CRC32:0xFD35DFC8, Flags:0x0 +}; + +// cArcLoader2 vftable:0x1AEA038, Size:0x3C, CRC32:0x5DDA41AB +class cArcLoader2 /*: MtObject*/ { +}; + +// cAreaExt vftable:0x1AE4490, Size:0x30, CRC32:0x74B83462 +class cAreaExt /*: cArea, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mInit' ; // Offset:0x20, Var, CRC32:0x1F7D2F48, Flags:0x10000 + s32 'mAreaPt' ; // Offset:0x24, Var, CRC32:0x67DA2995, Flags:0x10000 + custom 'mpShaderArchive' ; // Offset:0x2C, Var, CRC32:0xD0973D71, Flags:0x20000 +}; + +// cAreaHit vftable:0x1AEA530, Size:0x80, CRC32:0x2FB98421 +class cAreaHit /*: MtObject*/ { +}; + +// cAreaMasterRankData vftable:0x1C4C158, Size:0x10, CRC32:0x2B6EB614 +class cAreaMasterRankData /*: cUIResource, MtObject*/ { +}; + +// cAreaMasterSpotData vftable:0x1C4C074, Size:0x2C, CRC32:0xF81F206 +class cAreaMasterSpotData /*: cUIResource, MtObject*/ { +}; + +// cAreaMasterSpotDetailData vftable:0x1C4C2A0, Size:0x30, CRC32:0x59717B50 +class cAreaMasterSpotDetailData /*: cUIResource, MtObject*/ { +}; + +// cAreaReleaseManager vftable:0x1AEAF88, Size:0x58, CRC32:0x2E30FCFE +class cAreaReleaseManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cAreaReleaseManager::cAreaReleaseInfo vftable:0x1AEAF60, Size:0x8, CRC32:0x43209AAA +class cAreaReleaseManager::cAreaReleaseInfo /*: MtObject*/ { +}; + +// cArmedEnemyInfo vftable:0x1C4C8E8, Size:0x14, CRC32:0x30BEB790 +class cArmedEnemyInfo /*: MtObject*/ { +}; + +// cArmedEnemyLevelData vftable:0x1C4C904, Size:0x14, CRC32:0x5B59D32D +class cArmedEnemyLevelData /*: MtObject*/ { +}; + +// cAtDfRateRaid vftable:0x1C4CA04, Size:0xC, CRC32:0x33F59D66 +class cAtDfRateRaid /*: MtObject*/ { + f32 'U' ; // Offset:0x4, Var, CRC32:0x820B7D5C, Flags:0x0 + f32 'Uh' ; // Offset:0x8, Var, CRC32:0x442CE046, Flags:0x0 +}; + +// cAttackParam vftable:0x1C4CFC0, Size:0x120, CRC32:0x79F85B28 +class cAttackParam /*: MtObject*/ { +}; + +// cBVHCollision vftable:0x20D3904, Size:0x70, CRC32:0x3DB9C302 +class cBVHCollision /*: MtObject*/ { +}; + +// cBVHCollision::cWorkBuildOnlineFast vftable:0x20D38F0, Size:0xE8, CRC32:0x724DA3EA +class cBVHCollision::cWorkBuildOnlineFast /*: MtObject*/ { +}; + +// cBakeJoint vftable:0x1C4E358, Size:0x8, CRC32:0x11E81B6 +class cBakeJoint /*: MtObject*/ { +}; + +// cBakeModel vftable:0x1AF2360, Size:0xA00, CRC32:0x4B7E8F68 +class cBakeModel /*: MtObject*/ { +}; + +// cBattleContentManager vftable:0x1AEB534, Size:0x5C, CRC32:0x67719980 +class cBattleContentManager /*: MtObject*/ { +}; + +// cBitCtrl vftable:0x1AF250C, Size:0x20, CRC32:0x37D0FA5B +class cBitCtrl /*: MtObject*/ { + u64 'mCurrentBitData' ; // Offset:0x8, Var, CRC32:0x35EDD7F7, Flags:0x0 + custom 'mpBitTableRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x44BA60, Setter:0x44BB40, CRC32:0xC492531F, Flags:0x800000 +}; + +// cBitTable vftable:0x1C4E450, Size:0x18, CRC32:0x68F7821E +class cBitTable /*: MtObject*/ { +}; + +// cBlazeEnemyInfo vftable:0x1C4E9F8, Size:0x4, CRC32:0x55F82E93 +class cBlazeEnemyInfo /*: MtObject*/ { +}; + +// cBlendState vftable:0x20D9A2C, Size:0x8C, CRC32:0x9C1C5CE +class cBlendState /*: MtObject*/ { +}; + +// cBlowSaveEmLvParam vftable:0x1C4F400, Size:0xC, CRC32:0x1F689B38 +class cBlowSaveEmLvParam /*: MtObject*/ { + u32 'Lv' ; // Offset:0x4, Var, CRC32:0x5B8C3900, Flags:0x0 + f32 'Zl' ; // Offset:0x8, Var, CRC32:0x6C2666AF, Flags:0x0 +}; + +// cBlowShrinkDmInfo vftable:0x1AF2A10, Size:0x114, CRC32:0x757EF1EB +class cBlowShrinkDmInfo /*: MtObject*/ { +}; + +// cBlowShrinkInfo vftable:0x1AF2A4C, Size:0x34, CRC32:0x110EDF5D +class cBlowShrinkInfo /*: cDurableInfoBase, MtObject*/ { +}; + +// cBowActParam vftable:0x1C3DC9C, Size:0x198, CRC32:0xD2FA9EB +class cBowActParam /*: MtObject*/ { + s32 'cameraNoA' ; // Offset:0x4, Var, CRC32:0x4B33C0B4, Flags:0x0 + s32 'cameraNoB' ; // Offset:0x8, Var, CRC32:0xD23A910E, Flags:0x0 + s32 'cameraShotA' ; // Offset:0xC, Var, CRC32:0x66312FAB, Flags:0x0 + s32 'cameraShotB' ; // Offset:0x10, Var, CRC32:0xFF387E11, Flags:0x0 + s32 'cameraNoCharge' ; // Offset:0x14, Var, CRC32:0x81AB54BD, Flags:0x0 + f32 'camShotEndFrame' ; // Offset:0x18, Var, CRC32:0x94B967F1, Flags:0x0 + s32 'shootType' ; // Offset:0x1C, Var, CRC32:0x56704FC8, Flags:0x0 + s32 'shootDirType' ; // Offset:0x20, Var, CRC32:0xA7C00857, Flags:0x0 + f32 'shootDelayTime' ; // Offset:0x24, Var, CRC32:0x419C193, Flags:0x0 + f32 'criticalDisNear' ; // Offset:0x28, Var, CRC32:0xD5A6005E, Flags:0x0 + f32 'criticalDisFar' ; // Offset:0x2C, Var, CRC32:0x28806F32, Flags:0x0 + f32 'chargeFrames'[5] ; // Offset:0x30, Array, CRC32:0x9A219347, Flags:0x200000 + f32 'chargeJustFrames'[5] ; // Offset:0x44, Array, CRC32:0x791D42C1, Flags:0x200000 + s8 'chargeArrowUseNum'[5] ; // Offset:0x58, Array, CRC32:0x81252E60, Flags:0x200000 + s8 'defaultOceArrowUseNum' ; // Offset:0x5D, Var, CRC32:0x4D7DA417, Flags:0x0 + u32 'maxChargeLv' ; // Offset:0x60, Var, CRC32:0x28D02102, Flags:0x0 + u32 'usableLv' ; // Offset:0x64, Var, CRC32:0x59F11876, Flags:0x0 + u32 'customId' ; // Offset:0x68, Var, CRC32:0xB323AF09, Flags:0x0 + s32 'staminaId' ; // Offset:0x6C, Var, CRC32:0xCC3B5E8, Flags:0x0 + s32 'staminaWaitId' ; // Offset:0x70, Var, CRC32:0xB6B15819, Flags:0x0 + bool 'isStaminaRecoverDisable' ; // Offset:0x74, Var, CRC32:0x8990C141, Flags:0x0 + bool 'isFastReload' ; // Offset:0x75, Var, CRC32:0xA083B170, Flags:0x0 + bool 'isFastExplosionReload' ; // Offset:0x76, Var, CRC32:0xBC458CD9, Flags:0x0 + bool 'isRestArrowAllUse' ; // Offset:0x77, Var, CRC32:0x7D5EB8B0, Flags:0x0 + bool 'isOcdAdjust' ; // Offset:0x78, Var, CRC32:0x7F44F1C5, Flags:0x0 + f32 'changeSpeed' ; // Offset:0x7C, Var, CRC32:0xFEA17AD, Flags:0x0 + f32 'shotWait' ; // Offset:0x80, Var, CRC32:0x933BC20, Flags:0x0 + f32 'chargeBgnFrameShot' ; // Offset:0x84, Var, CRC32:0x80F2F99, Flags:0x0 + f32 'chargeBgnFrameChange' ; // Offset:0x88, Var, CRC32:0xEE8E3FBC, Flags:0x0 + f32 'checkLength' ; // Offset:0x8C, Var, CRC32:0xE94CBB25, Flags:0x0 + s32 'lockOnType' ; // Offset:0x90, Var, CRC32:0x5605D4DB, Flags:0x0 + u32 'lockOnNum' ; // Offset:0x94, Var, CRC32:0x6812FD23, Flags:0x0 + u32 'lockOnFlag' ; // Offset:0x98, Var, CRC32:0xB2F6868, Flags:0x0 + bool 'isLockOnContinue' ; // Offset:0x9C, Var, CRC32:0xFA0ED0EE, Flags:0x0 + bool 'isSlaveNoCreateShl' ; // Offset:0x9D, Var, CRC32:0xDD8455FA, Flags:0x0 + bool 'isNetWorkShl' ; // Offset:0x9E, Var, CRC32:0x1FB3C247, Flags:0x0 + bool 'isJustShot' ; // Offset:0x9F, Var, CRC32:0x5531A773, Flags:0x0 + bool 'isClacMatrix' ; // Offset:0xA0, Var, CRC32:0x718986EF, Flags:0x0 + bool 'isArrowNumScale' ; // Offset:0xA1, Var, CRC32:0xEDECBBD6, Flags:0x0 + f32 'fallCircleRadius' ; // Offset:0xA4, Var, CRC32:0x98DE8A63, Flags:0x0 + f32 'mgcChargeSpeed' ; // Offset:0xA8, Var, CRC32:0xF35E9B9, Flags:0x0 + f32 'mgcBonusRate' ; // Offset:0xAC, Var, CRC32:0xE8C98FE6, Flags:0x0 + f32 'mgcCharge1' ; // Offset:0xB0, Var, CRC32:0xAEE6C538, Flags:0x0 + f32 'mgcCharge2' ; // Offset:0xB4, Var, CRC32:0x37EF9482, Flags:0x0 + f32 'mgcChargeNearRate' ; // Offset:0xB8, Var, CRC32:0x6257F84E, Flags:0x0 + f32 'mgcChargeFarRate' ; // Offset:0xBC, Var, CRC32:0xDEC1420B, Flags:0x0 + f32 'mgcChargeSingleRate' ; // Offset:0xC0, Var, CRC32:0x3A15937D, Flags:0x0 + f32 'mgcChargeJustFrame' ; // Offset:0xC4, Var, CRC32:0xAE6982C5, Flags:0x0 + f32 'mgcChargeRateHumanEnemy' ; // Offset:0xC8, Var, CRC32:0x578E3473, Flags:0x0 + f32 'addHealHate' ; // Offset:0xCC, Var, CRC32:0x1037700, Flags:0x0 + bool 'mgcNoUseDamageAdjust' ; // Offset:0xD0, Var, CRC32:0xE5767B0A, Flags:0x0 + bool 'isCoreSearch' ; // Offset:0xD1, Var, CRC32:0x952323B0, Flags:0x0 + u32 'coreSearchRadius' ; // Offset:0xD4, Var, CRC32:0xEC9F4C8A, Flags:0x0 + u32 'coreSearchNodeNo' ; // Offset:0xD8, Var, CRC32:0x6127A18, Flags:0x0 + class 'shootCtrlList' ; // Offset:0xDC, Var, CRC32:0xF7C79391, Flags:0x0 + f32 'accurateWait' ; // Offset:0xF0, Var, CRC32:0x804245B6, Flags:0x0 + f32 'accurateWalk' ; // Offset:0xF4, Var, CRC32:0x703DBC06, Flags:0x0 + f32 'accurateRun' ; // Offset:0xF8, Var, CRC32:0x9123FDFC, Flags:0x0 + f32 'accurateJump' ; // Offset:0xFC, Var, CRC32:0x5A1FC045, Flags:0x0 + f32 'accurateFall' ; // Offset:0x100, Var, CRC32:0x6FC195F, Flags:0x0 + s32 'asjParamType' ; // Offset:0x104, Var, CRC32:0x2C9ED1E5, Flags:0x0 + u32 'asjOption' ; // Offset:0x108, Var, CRC32:0xB31F5F4B, Flags:0x0 + u32 'abilityFlag' ; // Offset:0x10C, Var, CRC32:0x8D690E4A, Flags:0x0 + bool 'isMoveSpeedUp' ; // Offset:0x110, Var, CRC32:0x90999F6C, Flags:0x0 + bool 'isShotRetNml' ; // Offset:0x111, Var, CRC32:0xE8FFFD7A, Flags:0x0 + bool 'isWalk' ; // Offset:0x112, Var, CRC32:0xD35390A6, Flags:0x0 + bool 'isRun' ; // Offset:0x113, Var, CRC32:0x430F299E, Flags:0x0 + bool 'isMovingJump' ; // Offset:0x114, Var, CRC32:0xF5B7BBFC, Flags:0x0 + bool 'isVJump' ; // Offset:0x115, Var, CRC32:0x609D1A87, Flags:0x0 + bool 'isMovingShot' ; // Offset:0x116, Var, CRC32:0xF9033551, Flags:0x0 + bool 'isAirShot' ; // Offset:0x117, Var, CRC32:0xAF0D21B4, Flags:0x0 + bool 'isShootingJump' ; // Offset:0x118, Var, CRC32:0x282D0D, Flags:0x0 + bool 'isChangeMot' ; // Offset:0x119, Var, CRC32:0xB3140530, Flags:0x0 + bool 'isDispAimSight' ; // Offset:0x11A, Var, CRC32:0x3FEA6C1B, Flags:0x0 + bool 'isUpperRotXFix' ; // Offset:0x11B, Var, CRC32:0x8E36B2AB, Flags:0x0 + bool 'isArrowCamera' ; // Offset:0x11C, Var, CRC32:0xBC605434, Flags:0x0 + bool 'isAITactics' ; // Offset:0x11D, Var, CRC32:0xB383D5F7, Flags:0x0 + bool 'isCmcPosUse' ; // Offset:0x11E, Var, CRC32:0x89EBB045, Flags:0x0 + bool 'isEndStamina0Wait' ; // Offset:0x11F, Var, CRC32:0xBEB6CE4B, Flags:0x0 + bool 'isParabolaLine' ; // Offset:0x120, Var, CRC32:0x7B42FB6F, Flags:0x0 + bool 'isFallCircle' ; // Offset:0x121, Var, CRC32:0x2726EB72, Flags:0x0 + bool 'isNoAir' ; // Offset:0x122, Var, CRC32:0xEE170AC, Flags:0x0 + u8 'motBgn_Up' ; // Offset:0x123, Var, CRC32:0xE764FA27, Flags:0x0 + u8 'motBgn_Low' ; // Offset:0x124, Var, CRC32:0xB521A36F, Flags:0x0 + u8 'motEnd_Up' ; // Offset:0x125, Var, CRC32:0x98CC488A, Flags:0x0 + u8 'motEnd_Low' ; // Offset:0x126, Var, CRC32:0x1D39D488, Flags:0x0 + u8 'motTurnL' ; // Offset:0x127, Var, CRC32:0x7E6D282E, Flags:0x0 + u8 'motTurnR' ; // Offset:0x128, Var, CRC32:0x8462154D, Flags:0x0 + u8 'motJumpBgn'[2] ; // Offset:0x129, Array, CRC32:0xD10D84E2, Flags:0x200000 + u8 'motJumpNow'[2] ; // Offset:0x12B, Array, CRC32:0x74A55F4E, Flags:0x200000 + u8 'motJumpEnd'[2] ; // Offset:0x12D, Array, CRC32:0xE555C030, Flags:0x200000 + u8 'motFall' ; // Offset:0x12F, Var, CRC32:0x724590A, Flags:0x0 + u8 'motWait_Low' ; // Offset:0x130, Var, CRC32:0x15FA05BC, Flags:0x0 + u8 'motWait_Up' ; // Offset:0x131, Var, CRC32:0x362051C7, Flags:0x0 + u8 'motWaitShot_Up' ; // Offset:0x132, Var, CRC32:0x555ADB3C, Flags:0x0 + u8 'motWaitShot_Low' ; // Offset:0x133, Var, CRC32:0x3FF654A2, Flags:0x0 + u8 'motChange_UpWait' ; // Offset:0x135, Var, CRC32:0x9ACA0A5C, Flags:0x0 + u8 'motChange_Up'[4] ; // Offset:0x136, Array, CRC32:0x22B4A311, Flags:0x200000 + u8 'motChange_Low' ; // Offset:0x13A, Var, CRC32:0x7A5EE6AF, Flags:0x0 + u8 'motFinishShot_Up' ; // Offset:0x13B, Var, CRC32:0x725517CB, Flags:0x0 + u8 'motFinishShot_Low' ; // Offset:0x13C, Var, CRC32:0x1C083CD1, Flags:0x0 + s8 'epvIndex' ; // Offset:0x13D, Var, CRC32:0xB4550FA6, Flags:0x0 + s8 'epvNoCharge' ; // Offset:0x13E, Var, CRC32:0x62E7A7DC, Flags:0x0 + s8 'epvNoChargeComp' ; // Offset:0x13F, Var, CRC32:0x484A3783, Flags:0x0 + s8 'epvNoChargeStart' ; // Offset:0x140, Var, CRC32:0xFF45F172, Flags:0x0 + s8 'epvIndexSkill' ; // Offset:0x141, Var, CRC32:0x1404C1E9, Flags:0x0 + s8 'epvNoShot' ; // Offset:0x142, Var, CRC32:0x28AB2822, Flags:0x0 + s8 'epvNoChargeShotCs'[5] ; // Offset:0x143, Array, CRC32:0xA6BDA451, Flags:0x200000 + s8 'epvNoChargeCompCs'[5] ; // Offset:0x148, Array, CRC32:0xBA4B1A8D, Flags:0x200000 + s8 'epvNoFilter' ; // Offset:0x14D, Var, CRC32:0x48485CF5, Flags:0x0 + s8 'epvNoScope' ; // Offset:0x14E, Var, CRC32:0x5BFD3D1E, Flags:0x0 + s8 'epvNoJustShot' ; // Offset:0x14F, Var, CRC32:0x7FBB5042, Flags:0x0 + s32 'cmnCSFilter' ; // Offset:0x150, Var, CRC32:0x9173A670, Flags:0x0 + u32 'efOption' ; // Offset:0x154, Var, CRC32:0x65853B3, Flags:0x0 + s32 'seType' ; // Offset:0x158, Var, CRC32:0x9FF1FE05, Flags:0x0 + s16 'seNoShot' ; // Offset:0x15C, Var, CRC32:0x65CDA6BE, Flags:0x0 + s16 'seNoChargeBgn' ; // Offset:0x15E, Var, CRC32:0xB8EEF491, Flags:0x0 + s16 'seNoChargeCmp'[5] ; // Offset:0x160, Array, CRC32:0xB9CC4B4F, Flags:0x200000 + s16 'seNoChargeEnd' ; // Offset:0x16A, Var, CRC32:0x8CB6B043, Flags:0x0 + s16 'seNoSkillBgn' ; // Offset:0x16C, Var, CRC32:0x56ADA146, Flags:0x0 + s16 'seNoSkillEnd' ; // Offset:0x16E, Var, CRC32:0x62F5E594, Flags:0x0 + s16 'seNoLockOn' ; // Offset:0x170, Var, CRC32:0x8514C818, Flags:0x0 + s16 'seNoScopeBgn' ; // Offset:0x172, Var, CRC32:0x6B033935, Flags:0x0 + s16 'seNoScopeEnd' ; // Offset:0x174, Var, CRC32:0x5F5B7DE7, Flags:0x0 + u32 'seOption' ; // Offset:0x178, Var, CRC32:0x8D647182, Flags:0x0 + s32 'castType' ; // Offset:0x17C, Var, CRC32:0x6534DEF4, Flags:0x0 + u8 'motWalk_Low'[4] ; // Offset:0x180, Array, CRC32:0xA787945C, Flags:0x200000 + u8 'motRun_Low'[4] ; // Offset:0x184, Array, CRC32:0x9CE19C31, Flags:0x200000 + u8 'motWalk_Up'[4] ; // Offset:0x188, Array, CRC32:0xF6BA997E, Flags:0x200000 + u8 'motRun_Up'[4] ; // Offset:0x18C, Array, CRC32:0xFE923C5E, Flags:0x200000 + u8 'motWalkShot'[4] ; // Offset:0x190, Array, CRC32:0x4B1C9462, Flags:0x200000 + u8 'motRunShot'[4] ; // Offset:0x194, Array, CRC32:0x707A9C0F, Flags:0x200000 +}; + +// cBowAttackKick vftable:0x1BB3848, Size:0x28, CRC32:0x283B0ED0 +class cBowAttackKick /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cBowAttackKickAir vftable:0x1BB38D8, Size:0x2C, CRC32:0x596DD63B +class cBowAttackKickAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cBowAttackKickAirSecond vftable:0x1BB3920, Size:0x2C, CRC32:0x236DE90A +class cBowAttackKickAirSecond /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cBowAttackKickBack vftable:0x1BB3890, Size:0x28, CRC32:0x24CDE164 +class cBowAttackKickBack /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cBrowserApplicationTask vftable:0x1AE7DDC, Size:0x18, CRC32:0x27842D4E +class cBrowserApplicationTask /*: MtObject*/ { +}; + +// cBrowserKeepString vftable:0x1AE7D70, Size:0x28, CRC32:0x609D6926 +class cBrowserKeepString /*: MtObject*/ { +}; + +// cBrowserWindows vftable:0x1AE7D8C, Size:0x180, CRC32:0x580692FC +class cBrowserWindows /*: MtObject*/ { +}; + +// cCalcDamageAtdmAdj vftable:0x1C4ECA8, Size:0xC, CRC32:0x3A1B62D1 +class cCalcDamageAtdmAdj /*: MtObject*/ { + f32 'Uh' ; // Offset:0x4, Var, CRC32:0x7045547E, Flags:0x0 + f32 '_[W␳' ; // Offset:0x8, Var, CRC32:0xABAC3BBC, Flags:0x0 +}; + +// cCalcDamageAtdmAdjRate vftable:0x1C4ED90, Size:0xC, CRC32:0x641B9C81 +class cCalcDamageAtdmAdjRate /*: MtObject*/ { + f32 'Uh' ; // Offset:0x4, Var, CRC32:0xBDF5260C, Flags:0x0 + f32 'Uhւ̕␳' ; // Offset:0x8, Var, CRC32:0x6D464CB3, Flags:0x0 +}; + +// cCalcDamageLvAdj vftable:0x1C4EBC0, Size:0x20, CRC32:0x73148BB4 +class cCalcDamageLvAdj /*: MtObject*/ { + s16 'x' ; // Offset:0x4, Var, CRC32:0x90FDC2CC, Flags:0x0 + f32 '_[W␳' ; // Offset:0x8, Var, CRC32:0xABAC3BBC, Flags:0x0 + f32 '̂␳' ; // Offset:0xC, Var, CRC32:0xC44E0193, Flags:0x0 + f32 'Ԃѕ␳' ; // Offset:0x10, Var, CRC32:0x460B9254, Flags:0x0 + f32 'Ԉُ␳' ; // Offset:0x14, Var, CRC32:0x632C3B60, Flags:0x0 + f32 '_El␳' ; // Offset:0x18, Var, CRC32:0xED2BE7C0, Flags:0x0 + f32 'X^~i_[W␳' ; // Offset:0x1C, Var, CRC32:0xEBAF1FB3, Flags:0x0 +}; + +// cCalcEvaluation vftable:0x1B9E3C4, Size:0x4, CRC32:0x4E481D10 +class cCalcEvaluation /*: MtObject*/ { +}; + +// cCamExParamAnim vftable:0x1AF308C, Size:0x200, CRC32:0x309D447F +class cCamExParamAnim /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x1E0, Var, CRC32:0x293C7393, Flags:0x0 + class 'mCameraInfoList' ; // Offset:0x1E4, Var, CRC32:0xBB51E747, Flags:0x0 +}; + +// cCamExParamAnim2 vftable:0x1AF30C4, Size:0x200, CRC32:0x85DA069 +class cCamExParamAnim2 /*: cCamExParamAnim, cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x1E0, Var, CRC32:0x293C7393, Flags:0x0 + class 'mCameraInfoList' ; // Offset:0x1E4, Var, CRC32:0xBB51E747, Flags:0x0 +}; + +// cCamExParamAnimTar vftable:0x1AF3114, Size:0x260, CRC32:0x6C5E863F +class cCamExParamAnimTar /*: cCamExParamLockCore, cCamExParamAnim, cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x1E0, Var, CRC32:0x293C7393, Flags:0x0 + class 'mCameraInfoList' ; // Offset:0x1E4, Var, CRC32:0xBB51E747, Flags:0x0 + s32 'mTargetType' ; // Offset:0x200, Var, CRC32:0xD783D92, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x204, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetId' ; // Offset:0x208, Var, CRC32:0x11EBA6E8, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x20C, Var, CRC32:0x13C55FE4, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x210, Var, CRC32:0xB285A6BC, Flags:0x0 + f32 'mOffsetH' ; // Offset:0x220, Var, CRC32:0xAF6D8D2F, Flags:0x0 + f32 'mOffsetV' ; // Offset:0x224, Var, CRC32:0x5562B04C, Flags:0x0 + f32 'mMarginH' ; // Offset:0x228, Var, CRC32:0xD6DB5E8B, Flags:0x0 + f32 'mMarginV' ; // Offset:0x22C, Var, CRC32:0x2CD463E8, Flags:0x0 + f32 'mAngLimitX' ; // Offset:0x230, Var, CRC32:0x36E4AA81, Flags:0x0 + f32 'mMarginChangeAngV' ; // Offset:0x234, Var, CRC32:0x9CEA8F31, Flags:0x0 + f32 'mMarginHLimit' ; // Offset:0x238, Var, CRC32:0xC32F7123, Flags:0x0 + f32 'mMarginInterTime' ; // Offset:0x23C, Var, CRC32:0xFC03FAA0, Flags:0x0 + vector3 'mLockOnPosMargin' ; // Offset:0x240, Var, CRC32:0x357962D5, Flags:0x0 + f32 'mLockOnPosInterRate' ; // Offset:0x250, Var, CRC32:0xCDD7897A, Flags:0x0 +}; + +// cCamExParamFps vftable:0x1AEBE10, Size:0x200, CRC32:0x4D746A2 +class cCamExParamFps /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + f32 'mCtrlSpeed' ; // Offset:0x1E0, Var, CRC32:0xFB6D902D, Flags:0x0 + f32 'mLimitDegX' ; // Offset:0x1E4, Var, CRC32:0x13C08475, Flags:0x0 + f32 'mLimitDegY' ; // Offset:0x1E8, Var, CRC32:0x64C7B4E3, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x1F0, Var, CRC32:0xB285A6BC, Flags:0x0 +}; + +// cCamExParamLock vftable:0x1AF36C0, Size:0x250, CRC32:0x50B9BB2A +class cCamExParamLock /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + s32 'mTargetType' ; // Offset:0x1E0, Var, CRC32:0xD783D92, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x1E4, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetId' ; // Offset:0x1E8, Var, CRC32:0x11EBA6E8, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x1EC, Var, CRC32:0x13C55FE4, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x1F0, Var, CRC32:0xB285A6BC, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x200, Var, CRC32:0x293C7393, Flags:0x0 + f32 'mOffsetH' ; // Offset:0x204, Var, CRC32:0xAF6D8D2F, Flags:0x0 + f32 'mOffsetV' ; // Offset:0x208, Var, CRC32:0x5562B04C, Flags:0x0 + f32 'mMarginH' ; // Offset:0x20C, Var, CRC32:0xD6DB5E8B, Flags:0x0 + f32 'mMarginV' ; // Offset:0x210, Var, CRC32:0x2CD463E8, Flags:0x0 + f32 'mAngLimitX' ; // Offset:0x214, Var, CRC32:0x36E4AA81, Flags:0x0 + f32 'mMarginChangeAngV' ; // Offset:0x218, Var, CRC32:0x9CEA8F31, Flags:0x0 + f32 'mMarginHLimit' ; // Offset:0x21C, Var, CRC32:0xC32F7123, Flags:0x0 + f32 'mMarginInterTime' ; // Offset:0x220, Var, CRC32:0xFC03FAA0, Flags:0x0 + vector3 'mLockOnPosMargin' ; // Offset:0x230, Var, CRC32:0x357962D5, Flags:0x0 + f32 'mLockOnPosInterRate' ; // Offset:0x240, Var, CRC32:0xCDD7897A, Flags:0x0 + bool 'isTalkAdjust' ; // Offset:0x244, Var, CRC32:0x5E6E6F4D, Flags:0x0 +}; + +// cCamExParamMot vftable:0x1AF3C68, Size:0x1F0, CRC32:0x5BBC327E +class cCamExParamMot /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + u32 'mCutNo' ; // Offset:0x1E0, Var, CRC32:0x59EAEE21, Flags:0x0 + f32 'mStartFrame' ; // Offset:0x1E4, Var, CRC32:0xB54AF09A, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x1E8, Var, CRC32:0x293C7393, Flags:0x0 +}; + +// cCamExParamMotTar vftable:0x1AF3CCC, Size:0x250, CRC32:0x5890224D +class cCamExParamMotTar /*: cCamExParamLockCore, cCamExParamMot, cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + u32 'mCutNo' ; // Offset:0x1E0, Var, CRC32:0x59EAEE21, Flags:0x0 + f32 'mStartFrame' ; // Offset:0x1E4, Var, CRC32:0xB54AF09A, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x1E8, Var, CRC32:0x293C7393, Flags:0x0 + s32 'mTargetType' ; // Offset:0x1F0, Var, CRC32:0xD783D92, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x1F4, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetId' ; // Offset:0x1F8, Var, CRC32:0x11EBA6E8, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x1FC, Var, CRC32:0x13C55FE4, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x200, Var, CRC32:0xB285A6BC, Flags:0x0 + f32 'mOffsetH' ; // Offset:0x210, Var, CRC32:0xAF6D8D2F, Flags:0x0 + f32 'mOffsetV' ; // Offset:0x214, Var, CRC32:0x5562B04C, Flags:0x0 + f32 'mMarginH' ; // Offset:0x218, Var, CRC32:0xD6DB5E8B, Flags:0x0 + f32 'mMarginV' ; // Offset:0x21C, Var, CRC32:0x2CD463E8, Flags:0x0 + f32 'mAngLimitX' ; // Offset:0x220, Var, CRC32:0x36E4AA81, Flags:0x0 + f32 'mMarginChangeAngV' ; // Offset:0x224, Var, CRC32:0x9CEA8F31, Flags:0x0 + f32 'mMarginHLimit' ; // Offset:0x228, Var, CRC32:0xC32F7123, Flags:0x0 + f32 'mMarginInterTime' ; // Offset:0x22C, Var, CRC32:0xFC03FAA0, Flags:0x0 + vector3 'mLockOnPosMargin' ; // Offset:0x230, Var, CRC32:0x357962D5, Flags:0x0 + f32 'mLockOnPosInterRate' ; // Offset:0x240, Var, CRC32:0xCDD7897A, Flags:0x0 +}; + +// cCamExParamNewLock vftable:0x1AEC454, Size:0x240, CRC32:0x49EC279E +class cCamExParamNewLock /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + s32 'mTargetType' ; // Offset:0x1E0, Var, CRC32:0xD783D92, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x1E4, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetId' ; // Offset:0x1E8, Var, CRC32:0x11EBA6E8, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x1EC, Var, CRC32:0x13C55FE4, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x1F0, Var, CRC32:0xB285A6BC, Flags:0x0 + f32 'mOffsetH' ; // Offset:0x200, Var, CRC32:0xAF6D8D2F, Flags:0x0 + f32 'mOffsetV' ; // Offset:0x204, Var, CRC32:0x5562B04C, Flags:0x0 + f32 'mDegLimitX' ; // Offset:0x208, Var, CRC32:0x2119F398, Flags:0x0 + f32 'mDegLimit2X' ; // Offset:0x20C, Var, CRC32:0x457586E, Flags:0x0 + f32 'mMarginChangeAngV' ; // Offset:0x210, Var, CRC32:0x9CEA8F31, Flags:0x0 + vector3 'mLockOnPosMargin' ; // Offset:0x220, Var, CRC32:0x357962D5, Flags:0x0 + f32 'mLockOnPosInterRate' ; // Offset:0x230, Var, CRC32:0xCDD7897A, Flags:0x0 +}; + +// cCamExParamNml vftable:0x1AF428C, Size:0x250, CRC32:0x78A076F3 +class cCamExParamNml /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + bool 'mIsResetAngle' ; // Offset:0x1E0, Var, CRC32:0xB4CB0FA6, Flags:0x0 + bool 'mIsTargetFlipX' ; // Offset:0x1E2, Var, CRC32:0x6C61AB4C, Flags:0x0 + bool 'mIsTargetOwner' ; // Offset:0x1E3, Var, CRC32:0xF2820E4, Flags:0x0 + bool 'mDisableLargeCorrect' ; // Offset:0x1E4, Var, CRC32:0x42DB80A8, Flags:0x0 + f32 'mMoveVecRate' ; // Offset:0x1E8, Var, CRC32:0x8C614B01, Flags:0x0 + f32 'mMoveVecInterRate' ; // Offset:0x1EC, Var, CRC32:0x856BB268, Flags:0x0 + f32 'mMoveVecCtrlStopFrame' ; // Offset:0x1F0, Var, CRC32:0x69B76AF0, Flags:0x0 + f32 'mMoveVecRateV' ; // Offset:0x1F4, Var, CRC32:0xF583A51C, Flags:0x0 + f32 'mMoveVecInterRateV' ; // Offset:0x1F8, Var, CRC32:0xC1E47619, Flags:0x0 + f32 'mMoveVecCtrlStopFrameV' ; // Offset:0x1FC, Var, CRC32:0x3FDCB1B7, Flags:0x0 + f32 'mMoveVecVOffset' ; // Offset:0x200, Var, CRC32:0xF0D37A2C, Flags:0x0 + f32 'mMoveVecVOffsetTwn' ; // Offset:0x204, Var, CRC32:0x5A9C8864, Flags:0x0 + f32 'mMoveVecVOffsetDgn' ; // Offset:0x208, Var, CRC32:0xC783945, Flags:0x0 + f32 'mMoveVecVScaleUp' ; // Offset:0x20C, Var, CRC32:0xA45B2796, Flags:0x0 + f32 'mMoveVecVScaleDown' ; // Offset:0x210, Var, CRC32:0xB7BA4B75, Flags:0x0 + f32 'mCtrlSpeedRateX' ; // Offset:0x214, Var, CRC32:0xDCDDE071, Flags:0x0 + f32 'mTargetMarginRateH' ; // Offset:0x218, Var, CRC32:0xA886E901, Flags:0x0 + f32 'mTargetMarginRateV' ; // Offset:0x21C, Var, CRC32:0x5289D462, Flags:0x0 + f32 'mTargetOffsetH' ; // Offset:0x220, Var, CRC32:0xBA62B3A3, Flags:0x0 + f32 'mTargetOffsetV' ; // Offset:0x224, Var, CRC32:0x406D8EC0, Flags:0x0 + f32 'mTargetInterRateX' ; // Offset:0x228, Var, CRC32:0x9896DDEA, Flags:0x0 + f32 'mTargetInterRateY' ; // Offset:0x22C, Var, CRC32:0xEF91ED7C, Flags:0x0 + f32 'mRotateXOffsetUp' ; // Offset:0x230, Var, CRC32:0x16D1EE00, Flags:0x0 + f32 'mRotateXOffsetUpY' ; // Offset:0x234, Var, CRC32:0x12A138BE, Flags:0x0 + f32 'mRotateXOffsetDown' ; // Offset:0x238, Var, CRC32:0x7219AE77, Flags:0x0 + f32 'mRotateXOffsetDownY' ; // Offset:0x23C, Var, CRC32:0xDCA41461, Flags:0x0 +}; + +// cCamExParamNml2 vftable:0x1AF44A4, Size:0x250, CRC32:0x6C1B5250 +class cCamExParamNml2 /*: cCamExParamNml, cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + bool 'mIsResetAngle' ; // Offset:0x1E0, Var, CRC32:0xB4CB0FA6, Flags:0x0 + bool 'mIsResetAngleDetail' ; // Offset:0x1E1, Var, CRC32:0xB66681EF, Flags:0x0 + bool 'mIsTargetFlipX' ; // Offset:0x1E2, Var, CRC32:0x6C61AB4C, Flags:0x0 + bool 'mIsTargetOwner' ; // Offset:0x1E3, Var, CRC32:0xF2820E4, Flags:0x0 + bool 'mDisableLargeCorrect' ; // Offset:0x1E4, Var, CRC32:0x42DB80A8, Flags:0x0 + u8 'mResetDetailEnableAxis' ; // Offset:0x1E5, Var, CRC32:0xF535B124, Flags:0x0 + f32 'mMoveVecRate' ; // Offset:0x1E8, Var, CRC32:0x8C614B01, Flags:0x0 + f32 'mMoveVecInterRate' ; // Offset:0x1EC, Var, CRC32:0x856BB268, Flags:0x0 + f32 'mMoveVecCtrlStopFrame' ; // Offset:0x1F0, Var, CRC32:0x69B76AF0, Flags:0x0 + f32 'mMoveVecRateV' ; // Offset:0x1F4, Var, CRC32:0xF583A51C, Flags:0x0 + f32 'mMoveVecInterRateV' ; // Offset:0x1F8, Var, CRC32:0xC1E47619, Flags:0x0 + f32 'mMoveVecCtrlStopFrameV' ; // Offset:0x1FC, Var, CRC32:0x3FDCB1B7, Flags:0x0 + f32 'mMoveVecVOffset' ; // Offset:0x200, Var, CRC32:0xF0D37A2C, Flags:0x0 + f32 'mMoveVecVOffsetTwn' ; // Offset:0x204, Var, CRC32:0x5A9C8864, Flags:0x0 + f32 'mMoveVecVOffsetDgn' ; // Offset:0x208, Var, CRC32:0xC783945, Flags:0x0 + f32 'mMoveVecVScaleUp' ; // Offset:0x20C, Var, CRC32:0xA45B2796, Flags:0x0 + f32 'mMoveVecVScaleDown' ; // Offset:0x210, Var, CRC32:0xB7BA4B75, Flags:0x0 + f32 'mCtrlSpeedRateX' ; // Offset:0x214, Var, CRC32:0xDCDDE071, Flags:0x0 + f32 'mTargetMarginRateH' ; // Offset:0x218, Var, CRC32:0xA886E901, Flags:0x0 + f32 'mTargetMarginRateV' ; // Offset:0x21C, Var, CRC32:0x5289D462, Flags:0x0 + f32 'mTargetOffsetH' ; // Offset:0x220, Var, CRC32:0xBA62B3A3, Flags:0x0 + f32 'mTargetOffsetV' ; // Offset:0x224, Var, CRC32:0x406D8EC0, Flags:0x0 + f32 'mTargetInterRateX' ; // Offset:0x228, Var, CRC32:0x9896DDEA, Flags:0x0 + f32 'mTargetInterRateY' ; // Offset:0x22C, Var, CRC32:0xEF91ED7C, Flags:0x0 + f32 'mRotateXOffsetUp' ; // Offset:0x230, Var, CRC32:0x16D1EE00, Flags:0x0 + f32 'mRotateXOffsetUpY' ; // Offset:0x234, Var, CRC32:0x12A138BE, Flags:0x0 + f32 'mRotateXOffsetDown' ; // Offset:0x238, Var, CRC32:0x7219AE77, Flags:0x0 + f32 'mRotateXOffsetDownY' ; // Offset:0x23C, Var, CRC32:0xDCA41461, Flags:0x0 + f32 'mResetDetailAngX' ; // Offset:0x240, Var, CRC32:0x2DB067B0, Flags:0x0 + f32 'mResetDetailAngY' ; // Offset:0x244, Var, CRC32:0x5AB75726, Flags:0x0 +}; + +// cCamExParamPan vftable:0x1AECA44, Size:0x200, CRC32:0x2CA3D6A9 +class cCamExParamPan /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + vector3 'mBasisPos' ; // Offset:0x1E0, Var, CRC32:0xD568131C, Flags:0x0 + f32 'mCtrlSpeed' ; // Offset:0x1F0, Var, CRC32:0xFB6D902D, Flags:0x0 + f32 'mLimitDegX' ; // Offset:0x1F4, Var, CRC32:0x13C08475, Flags:0x0 + f32 'mLimitDegY' ; // Offset:0x1F8, Var, CRC32:0x64C7B4E3, Flags:0x0 + bool 'mBasePosFix' ; // Offset:0x1FC, Var, CRC32:0xD5AE1DEC, Flags:0x0 + bool 'mHokanFlag' ; // Offset:0x1FD, Var, CRC32:0x68749D35, Flags:0x0 +}; + +// cCamExParamPhoto vftable:0x1AF4A80, Size:0x1E0, CRC32:0x7AE1B964 +class cCamExParamPhoto /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 +}; + +// cCamExParamSdr vftable:0x1CB3C90, Size:0x200, CRC32:0x4793C0FA +class cCamExParamSdr /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + class 'mSdrParamArray' ; // Offset:0x1E0, Var, CRC32:0xF047689, Flags:0x0 +}; + +// cCamExParamSdr::cSdrParam vftable:0x1CB3C74, Size:0x10, CRC32:0x52CAACC7 +class cCamExParamSdr::cSdrParam /*: MtObject*/ { + u32 'mChFlag' ; // Offset:0x4, Var, CRC32:0xF8FED252, Flags:0x0 + u32 'mIndex' ; // Offset:0x8, Var, CRC32:0x7DC7FDC0, Flags:0x0 + f32 'mFrame' ; // Offset:0xC, Var, CRC32:0x484CA60C, Flags:0x0 +}; + +// cCamExParamTarget vftable:0x1CB3CC8, Size:0x230, CRC32:0x4D30AB5B +class cCamExParamTarget /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + vector3 'mCameraOffset' ; // Offset:0x1E0, Var, CRC32:0x71CEDB77, Flags:0x0 + s32 'mTargetType' ; // Offset:0x1F0, Var, CRC32:0xD783D92, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x1F4, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetId' ; // Offset:0x1F8, Var, CRC32:0x11EBA6E8, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x1FC, Var, CRC32:0x13C55FE4, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x200, Var, CRC32:0xB285A6BC, Flags:0x0 + vector3 'mTargetMargin' ; // Offset:0x210, Var, CRC32:0xD8EEA6B5, Flags:0x0 + f32 'mMoveDirLookScale' ; // Offset:0x220, Var, CRC32:0x48FD54A6, Flags:0x0 + f32 'mMoveDirLookRate' ; // Offset:0x224, Var, CRC32:0xBA330079, Flags:0x0 + u32 'mOptionFlag' ; // Offset:0x228, Var, CRC32:0x293C7393, Flags:0x0 +}; + +// cCamExParamTemplate vftable:0x1AF5118, Size:0x200, CRC32:0x5D2AEB34 +class cCamExParamTemplate /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + class 'mTemplateParamArray' ; // Offset:0x1E0, Var, CRC32:0x7751C0A, Flags:0x0 +}; + +// cCamExParamTps vftable:0x1AF5680, Size:0x200, CRC32:0x1B7531BC +class cCamExParamTps /*: cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + bool 'mIsResetAngle' ; // Offset:0x1E0, Var, CRC32:0xB4CB0FA6, Flags:0x0 + f32 'ctrlSpeed' ; // Offset:0x1EC, Var, CRC32:0x5806E196, Flags:0x0 + bool 'isUseLimit' ; // Offset:0x1F0, Var, CRC32:0x18A3DEA7, Flags:0x0 + f32 'limitDeg' ; // Offset:0x1F4, Var, CRC32:0x7B6DEC22, Flags:0x0 + bool 'isFollowAngle' ; // Offset:0x1F8, Var, CRC32:0x6580EDBF, Flags:0x0 + bool 'isNoHeightCorrect' ; // Offset:0x1F9, Var, CRC32:0x36915D48, Flags:0x0 + bool 'bTalkCameraMode' ; // Offset:0x1FA, Var, CRC32:0x290A4510, Flags:0x0 +}; + +// cCamExParamTps2 vftable:0x1AF5700, Size:0x200, CRC32:0xA1BDB16 +class cCamExParamTps2 /*: cCamExParamTps, cCamExParam, MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x20000000 + u16 'mRelVer' ; // Offset:0xC, Var, CRC32:0x2726C92E, Flags:0x20000000 + s32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mConditionFlag' ; // Offset:0x14, Var, CRC32:0xDC9A20DA, Flags:0x0 + f32 'mConditionPlDist' ; // Offset:0x18, Var, CRC32:0x5B3EDD57, Flags:0x0 + f32 'mConditionCamDist' ; // Offset:0x1C, Var, CRC32:0x88ED50D5, Flags:0x0 + s32 'mQuakeNo' ; // Offset:0x20, Var, CRC32:0xBAE0D2FB, Flags:0x0 + bool 'mIsWaitCameraEnd' ; // Offset:0x24, Var, CRC32:0x9483BE48, Flags:0x0 + f32 'mEnableFrame' ; // Offset:0x28, Var, CRC32:0x2504BB95, Flags:0x0 + f32 'mCantReqFrame' ; // Offset:0x2C, Var, CRC32:0xB17A24F6, Flags:0x0 + s32 'mRequestGroup' ; // Offset:0x30, Var, CRC32:0x543322EA, Flags:0x0 + u32 'mCantReqGroupBit' ; // Offset:0x34, Var, CRC32:0xA1CF5032, Flags:0x0 + f32 'mCangReqFrameGroup' ; // Offset:0x38, Var, CRC32:0x3C6C6A80, Flags:0x0 + s32 'mCameraTarget' ; // Offset:0x3C, Var, CRC32:0x6EAB3E5B, Flags:0x0 + u32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x44, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mTargetJoint' ; // Offset:0x48, Var, CRC32:0x13C55FE4, Flags:0x0 + f32 'mDistance' ; // Offset:0x4C, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mHeight' ; // Offset:0x50, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mOffsetX' ; // Offset:0x54, Var, CRC32:0xB2DA9D4B, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x58, Var, CRC32:0x5CD4FC67, Flags:0x0 + f32 'mFov' ; // Offset:0x5C, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mRoll' ; // Offset:0x60, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCtrlOption' ; // Offset:0x64, Var, CRC32:0x9971AF0F, Flags:0x0 + f32 'mAngLimitXMin' ; // Offset:0x68, Var, CRC32:0x750F81A1, Flags:0x0 + f32 'mAngLimitXMax' ; // Offset:0x6C, Var, CRC32:0x4902BEF8, Flags:0x0 + hermitecurve 'mCtrlCurve' ; // Offset:0x70, Var, CRC32:0xA3D2336C, Flags:0x0 + f32 'mInterCamRate' ; // Offset:0xB0, Var, CRC32:0x986C0B1A, Flags:0x0 + vector3 'mMargin' ; // Offset:0xC0, Var, CRC32:0xDFD63E8, Flags:0x0 + f32 'mMarginAdjPow' ; // Offset:0xD0, Var, CRC32:0xE4C46B3F, Flags:0x0 + s32 'mStartInterType' ; // Offset:0xD4, Var, CRC32:0x24D424B4, Flags:0x0 + s32 'mStartFrameType' ; // Offset:0xD8, Var, CRC32:0xDB0CB597, Flags:0x0 + f32 'mStartInterFrame' ; // Offset:0xDC, Var, CRC32:0xE9EC36CA, Flags:0x0 + hermitecurve 'mStartInterCurve' ; // Offset:0xE0, Var, CRC32:0xB8D57B0, Flags:0x0 + s32 'mEndInterType' ; // Offset:0x120, Var, CRC32:0xB2CE2329, Flags:0x0 + s32 'mEndFrameType' ; // Offset:0x124, Var, CRC32:0x4D16B20A, Flags:0x0 + hermitecurve 'mEndInterCurve' ; // Offset:0x128, Var, CRC32:0x85A5A24E, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x168, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mDofFilterFlag' ; // Offset:0x16C, Var, CRC32:0xFD5E9A5F, Flags:0x0 + f32 'mDOFFilterNearBlurLimit' ; // Offset:0x170, Var, CRC32:0xB5BB957A, Flags:0x0 + f32 'mDOFFilterFarBlurLimit' ; // Offset:0x174, Var, CRC32:0xB50675A7, Flags:0x0 + f32 'mDOFFilterNear' ; // Offset:0x178, Var, CRC32:0xC44B39FB, Flags:0x0 + f32 'mDOFFilterFar' ; // Offset:0x17C, Var, CRC32:0xC4B296E9, Flags:0x0 + f32 'mDOFFilterFocal' ; // Offset:0x180, Var, CRC32:0x53097387, Flags:0x0 + vector3 'mDOFFilterGradateColor' ; // Offset:0x190, Var, CRC32:0x1EA4D60F, Flags:0x0 + s32 'mScrAdjustType' ; // Offset:0x1A8, Var, CRC32:0x5B61969D, Flags:0x0 + u32 'mScrAdjustFlag' ; // Offset:0x1AC, Var, CRC32:0x64B2A2E, Flags:0x0 + f32 'mScrAdjustHeight' ; // Offset:0x1B0, Var, CRC32:0xD85EB9D5, Flags:0x0 + bool 'mIsKeepAngle' ; // Offset:0x1B4, Var, CRC32:0x93AE8D11, Flags:0x0 + s32 'mKeepAngleType' ; // Offset:0x1B8, Var, CRC32:0x49C93409, Flags:0x0 + vector3 'mKeepTargetPos' ; // Offset:0x1C0, Var, CRC32:0x87BF0BAF, Flags:0x0 + u32 'mSysFlag' ; // Offset:0x1D0, Var, CRC32:0x1D33B78, Flags:0x0 + u32 'mCommonSpecialCameraFlag' ; // Offset:0x1D4, Var, CRC32:0xEE589E3D, Flags:0x0 + bool 'mIsResetAngle' ; // Offset:0x1E0, Var, CRC32:0xB4CB0FA6, Flags:0x0 + bool 'mIsResetAngleDetail' ; // Offset:0x1E1, Var, CRC32:0xB66681EF, Flags:0x0 + bool 'mEnableLargeCorrect' ; // Offset:0x1E2, Var, CRC32:0xB2C43466, Flags:0x0 + u8 'mResetDetailEnableAxis' ; // Offset:0x1E3, Var, CRC32:0xF535B124, Flags:0x0 + f32 'mResetDetailAngX' ; // Offset:0x1E4, Var, CRC32:0x2DB067B0, Flags:0x0 + f32 'mResetDetailAngY' ; // Offset:0x1E8, Var, CRC32:0x5AB75726, Flags:0x0 + f32 'ctrlSpeed' ; // Offset:0x1EC, Var, CRC32:0x5806E196, Flags:0x0 + bool 'isUseLimit' ; // Offset:0x1F0, Var, CRC32:0x18A3DEA7, Flags:0x0 + f32 'limitDeg' ; // Offset:0x1F4, Var, CRC32:0x7B6DEC22, Flags:0x0 + bool 'isFollowAngle' ; // Offset:0x1F8, Var, CRC32:0x6580EDBF, Flags:0x0 + bool 'isNoHeightCorrect' ; // Offset:0x1F9, Var, CRC32:0x36915D48, Flags:0x0 +}; + +// cCamImpAnim vftable:0x1AF300C, Size:0x1FB0, CRC32:0x52C3FA9C +class cCamImpAnim /*: cCamImpBase, MtObject*/ { + u32 'mSeqNum' ; // Offset:0x1ED0, Var, CRC32:0x9BF678A5, Flags:0x0 + f32 'mTimer' ; // Offset:0x1ED4, Var, CRC32:0x976444DB, Flags:0x0 +}; + +// cCamImpAnimTar vftable:0x1AF304C, Size:0x2020, CRC32:0x316F1761 +class cCamImpAnimTar /*: cCamImpAnim, cCamImpBase, MtObject*/ { + u32 'mSeqNum' ; // Offset:0x1ED0, Var, CRC32:0x9BF678A5, Flags:0x0 + f32 'mTimer' ; // Offset:0x1ED4, Var, CRC32:0x976444DB, Flags:0x0 +}; + +// cCamImpFps vftable:0x1AEBDD0, Size:0xF0, CRC32:0x7747AFE +class cCamImpFps /*: cCamImpBase, MtObject*/ { +}; + +// cCamImpLock vftable:0x1AF3680, Size:0x140, CRC32:0x32E705C9 +class cCamImpLock /*: cCamImpBase, MtObject*/ { +}; + +// cCamImpMot vftable:0x1AF3BE8, Size:0x250, CRC32:0x581F0E22 +class cCamImpMot /*: cCamImpBase, MtObject*/ { + bool 'mIsInterporate' ; // Offset:0xE, Var, CRC32:0xBEDF52D8, Flags:0x0 + classref 'mpParam' ; // Offset:0x10, Var, CRC32:0x20C9A4F5, Flags:0x0 +}; + +// cCamImpMotTar vftable:0x1AF3C28, Size:0x2C0, CRC32:0x11A7EB7 +class cCamImpMotTar /*: cCamImpMot, cCamImpBase, MtObject*/ { + bool 'mIsInterporate' ; // Offset:0xE, Var, CRC32:0xBEDF52D8, Flags:0x0 + classref 'mpParam' ; // Offset:0x10, Var, CRC32:0x20C9A4F5, Flags:0x0 +}; + +// cCamImpNewLock vftable:0x1AEC414, Size:0x120, CRC32:0x14DDB6C0 +class cCamImpNewLock /*: cCamImpBase, MtObject*/ { +}; + +// cCamImpNml vftable:0x1AF424C, Size:0x1D0, CRC32:0x7B034AAF +class cCamImpNml /*: cCamImpBase, MtObject*/ { + bool 'mIsInterporate' ; // Offset:0xE, Var, CRC32:0xBEDF52D8, Flags:0x0 + classref 'mpParam' ; // Offset:0x10, Var, CRC32:0x20C9A4F5, Flags:0x0 +}; + +// cCamImpPan vftable:0x1AECA04, Size:0xD0, CRC32:0x2F00EAF5 +class cCamImpPan /*: cCamImpBase, MtObject*/ { +}; + +// cCamImpPhoto vftable:0x1AF4A40, Size:0x130, CRC32:0x43805418 +class cCamImpPhoto /*: cCamImpBase, MtObject*/ { + bool 'mIsInterporate' ; // Offset:0xE, Var, CRC32:0xBEDF52D8, Flags:0x0 + classref 'mpParam' ; // Offset:0x10, Var, CRC32:0x20C9A4F5, Flags:0x0 +}; + +// cCamImpSdr vftable:0x1CB3BEC, Size:0xB4, CRC32:0x4430FCA6 +class cCamImpSdr /*: cCamImpBase, MtObject*/ { +}; + +// cCamImpTarget vftable:0x1CB3C2C, Size:0x1A0, CRC32:0x14BAF7A1 +class cCamImpTarget /*: cCamImpBase, MtObject*/ { + bool 'mIsInterporate' ; // Offset:0xE, Var, CRC32:0xBEDF52D8, Flags:0x0 + classref 'mpParam' ; // Offset:0x10, Var, CRC32:0x20C9A4F5, Flags:0x0 +}; + +// cCamImpTemplate vftable:0x1AF50D8, Size:0xB4, CRC32:0x51A4A656 +class cCamImpTemplate /*: cCamImpBase, MtObject*/ { +}; + +// cCamImpTps vftable:0x1AF5640, Size:0x150, CRC32:0x18D60DE0 +class cCamImpTps /*: cCamImpBase, MtObject*/ { +}; + +// cCamInterAll vftable:0x1AF5838, Size:0x130, CRC32:0x165D2E97 +class cCamInterAll /*: MtObject*/ { + bool 'mIsEnd' ; // Offset:0x4, Var, CRC32:0x11CEDBD1, Flags:0x10000 + f32 'mInterFrameNow' ; // Offset:0x8, Var, CRC32:0x258F096E, Flags:0x10000 + f32 'mInterFrame' ; // Offset:0xC, Var, CRC32:0xFC535746, Flags:0x0 + class 'mInterC' ; // Offset:0x10, Var, CRC32:0xDE3AAA72, Flags:0x0 + class 'mInterT' ; // Offset:0x50, Var, CRC32:0x5DE92FB5, Flags:0x0 + class 'mInterU' ; // Offset:0x90, Var, CRC32:0x2AEE1F23, Flags:0x0 + class 'mInterF' ; // Offset:0xD0, Var, CRC32:0xAE505EFD, Flags:0x0 +}; + +// cCamInterporate vftable:0x1AEC394, Size:0x40, CRC32:0x65541D22 +class cCamInterporate /*: MtObject*/ { + vector3 'mNow' ; // Offset:0x10, Var, CRC32:0x41F73C00, Flags:0x10000 + vector3 'mVelocity' ; // Offset:0x20, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0x30, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x34, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporate vftable:0x1AF2F38, Size:0x14, CRC32:0x2F5915A1 +class cCamInterporate /*: MtObject*/ { + f32 'mNow' ; // Offset:0x4, Var, CRC32:0x41F73C00, Flags:0x10000 + f32 'mVelocity' ; // Offset:0x8, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0xC, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x10, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateAng vftable:0x1AF2F60, Size:0x14, CRC32:0x45884326 +class cCamInterporateAng /*: cCamInterporate, MtObject*/ { + f32 'mNow' ; // Offset:0x4, Var, CRC32:0x41F73C00, Flags:0x10000 + f32 'mVelocity' ; // Offset:0x8, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0xC, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x10, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateAng3Time vftable:0x1AF5808, Size:0x70, CRC32:0x2D6BF63E +class cCamInterporateAng3Time /*: cCamInterporateTime, cCamInterporate, MtObject*/ { + vector3 'mNow' ; // Offset:0x10, Var, CRC32:0x41F73C00, Flags:0x10000 + vector3 'mVelocity' ; // Offset:0x20, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0x30, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x34, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateRange vftable:0x1AEC3BC, Size:0x40, CRC32:0x4B9D78BA +class cCamInterporateRange /*: cCamInterporate, MtObject*/ { + vector3 'mNow' ; // Offset:0x10, Var, CRC32:0x41F73C00, Flags:0x10000 + vector3 'mVelocity' ; // Offset:0x20, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0x30, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x34, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateRangeAng vftable:0x1AF2F88, Size:0x14, CRC32:0x786132AF +class cCamInterporateRangeAng /*: cCamInterporateAng, cCamInterporate, MtObject*/ { + f32 'mNow' ; // Offset:0x4, Var, CRC32:0x41F73C00, Flags:0x10000 + f32 'mVelocity' ; // Offset:0x8, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0xC, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x10, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateRangeF32 vftable:0x1AF57A0, Size:0x14, CRC32:0x693AA248 +class cCamInterporateRangeF32 /*: cCamInterporate, MtObject*/ { + f32 'mNow' ; // Offset:0x4, Var, CRC32:0x41F73C00, Flags:0x10000 + f32 'mVelocity' ; // Offset:0x8, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0xC, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x10, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateTime vftable:0x1AF57D8, Size:0x70, CRC32:0x6C43BE6B +class cCamInterporateTime /*: cCamInterporate, MtObject*/ { + vector3 'mNow' ; // Offset:0x10, Var, CRC32:0x41F73C00, Flags:0x10000 + vector3 'mVelocity' ; // Offset:0x20, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0x30, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x34, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateTime vftable:0x1AF58E0, Size:0x2C, CRC32:0x70613586 +class cCamInterporateTime /*: cCamInterporate, MtObject*/ { + f32 'mNow' ; // Offset:0x4, Var, CRC32:0x41F73C00, Flags:0x10000 + f32 'mVelocity' ; // Offset:0x8, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0xC, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x10, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamInterporateVec3 vftable:0x1AF421C, Size:0x40, CRC32:0x486F296B +class cCamInterporateVec3 /*: cCamInterporate, MtObject*/ { + vector3 'mNow' ; // Offset:0x10, Var, CRC32:0x41F73C00, Flags:0x10000 + vector3 'mVelocity' ; // Offset:0x20, Var, CRC32:0x9656E634, Flags:0x10000 + f32 'mSpring' ; // Offset:0x30, Var, CRC32:0x55A2BD58, Flags:0x0 + f32 'mDamping' ; // Offset:0x34, Var, CRC32:0xC7EC4974, Flags:0x10000 +}; + +// cCamellia vftable:0x1C08A60, Size:0x118, CRC32:0x2DC4CB09 +class cCamellia /*: MtObject*/ { +}; + +// cCameraInfo vftable:0x1CB2E7C, Size:0x40, CRC32:0x59FCF204 +class cCameraInfo /*: MtObject*/ { + vector3 'mCameraPos' ; // Offset:0x10, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x20, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mRoll' ; // Offset:0x30, Var, CRC32:0xF7BCF9F2, Flags:0x0 + f32 'mFov' ; // Offset:0x34, Var, CRC32:0x38E35D2E, Flags:0x0 +}; + +// cCameraQuake vftable:0x1CB2DD8, Size:0x930, CRC32:0xC477260 +class cCameraQuake /*: MtObject*/ { + s32 'mTask[0].mState' ; // Offset:0x10, Var, CRC32:0x7581C10F, Flags:0x0 + u32 'mTask[0].mNo' ; // Offset:0x14, Var, CRC32:0xD604F9C5, Flags:0x0 + f32 'mTask[0].mTime' ; // Offset:0x18, Var, CRC32:0xA44EF4C3, Flags:0x0 + f32 'mTask[0].mHeadTime' ; // Offset:0x1C, Var, CRC32:0x2180D022, Flags:0x0 + f32 'mTask[0].mMainTime' ; // Offset:0x20, Var, CRC32:0x3BCC6099, Flags:0x0 + f32 'mTask[0].mTailTime' ; // Offset:0x24, Var, CRC32:0x22F819F9, Flags:0x0 + vector3 'mTask[0].mMagnitude' ; // Offset:0x30, Var, CRC32:0x14E339F6, Flags:0x0 + vector3 'mTask[0].mPos' ; // Offset:0x40, Var, CRC32:0x346C9C3A, Flags:0x0 + f32 'mTask[0].mRadius' ; // Offset:0x50, Var, CRC32:0x5378A5C1, Flags:0x0 + f32 'mTask[0].mSpread' ; // Offset:0x54, Var, CRC32:0x14B16BE3, Flags:0x0 + f32 'mTask[0].mDamping' ; // Offset:0x58, Var, CRC32:0xF1B99BE0, Flags:0x0 + f32 'mTask[0].mPeriod' ; // Offset:0x5C, Var, CRC32:0xADBCD555, Flags:0x0 + f32 'mTask[0].mCamera1QuakeTime' ; // Offset:0x60, Var, CRC32:0x5C0D2D57, Flags:0x0 + f32 'mTask[0].mTarget1QuakeTime' ; // Offset:0x64, Var, CRC32:0xB088BA97, Flags:0x0 + f32 'mTask[0].mRoll1QuakeTime' ; // Offset:0x68, Var, CRC32:0x99C46D42, Flags:0x0 + f32 'mTask[0].mRndDrop' ; // Offset:0x6C, Var, CRC32:0xFC037551, Flags:0x0 + s32 'mTask[0].mHeadCurve' ; // Offset:0x70, Var, CRC32:0x56035289, Flags:0x0 + s32 'mTask[0].mTailCurve' ; // Offset:0x74, Var, CRC32:0x4701211C, Flags:0x0 + f32 'mTask[0].mRoll' ; // Offset:0x78, Var, CRC32:0xE56F5E48, Flags:0x0 + f32 'mTask[0].mBalance' ; // Offset:0x7C, Var, CRC32:0x1943BE74, Flags:0x0 + bool 'mTask[0].mbAsync' ; // Offset:0x80, Var, CRC32:0xF3AA9AC0, Flags:0x0 + s32 'mTask[1].mState' ; // Offset:0x90, Var, CRC32:0x62FAD54C, Flags:0x0 + u32 'mTask[1].mNo' ; // Offset:0x94, Var, CRC32:0x1D582A60, Flags:0x0 + f32 'mTask[1].mTime' ; // Offset:0x98, Var, CRC32:0x68E4F45D, Flags:0x0 + f32 'mTask[1].mHeadTime' ; // Offset:0x9C, Var, CRC32:0xBA259C4D, Flags:0x0 + f32 'mTask[1].mMainTime' ; // Offset:0xA0, Var, CRC32:0xA0692CF6, Flags:0x0 + f32 'mTask[1].mTailTime' ; // Offset:0xA4, Var, CRC32:0xB95D5596, Flags:0x0 + vector3 'mTask[1].mMagnitude' ; // Offset:0xB0, Var, CRC32:0xC975E073, Flags:0x0 + vector3 'mTask[1].mPos' ; // Offset:0xC0, Var, CRC32:0x921B978E, Flags:0x0 + f32 'mTask[1].mRadius' ; // Offset:0xD0, Var, CRC32:0xBCBACEFF, Flags:0x0 + f32 'mTask[1].mSpread' ; // Offset:0xD4, Var, CRC32:0xFB7300DD, Flags:0x0 + f32 'mTask[1].mDamping' ; // Offset:0xD8, Var, CRC32:0x30374420, Flags:0x0 + f32 'mTask[1].mPeriod' ; // Offset:0xDC, Var, CRC32:0x427EBE6B, Flags:0x0 + f32 'mTask[1].mCamera1QuakeTime' ; // Offset:0xE0, Var, CRC32:0x396A1611, Flags:0x0 + f32 'mTask[1].mTarget1QuakeTime' ; // Offset:0xE4, Var, CRC32:0xD5EF81D1, Flags:0x0 + f32 'mTask[1].mRoll1QuakeTime' ; // Offset:0xE8, Var, CRC32:0x7696DBA3, Flags:0x0 + f32 'mTask[1].mRndDrop' ; // Offset:0xEC, Var, CRC32:0x3D8DAA91, Flags:0x0 + s32 'mTask[1].mHeadCurve' ; // Offset:0xF0, Var, CRC32:0x8B958B0C, Flags:0x0 + s32 'mTask[1].mTailCurve' ; // Offset:0xF4, Var, CRC32:0x9A97F899, Flags:0x0 + f32 'mTask[1].mRoll' ; // Offset:0xF8, Var, CRC32:0x29C55ED6, Flags:0x0 + f32 'mTask[1].mBalance' ; // Offset:0xFC, Var, CRC32:0xD8CD61B4, Flags:0x0 + bool 'mTask[1].mbAsync' ; // Offset:0x100, Var, CRC32:0x1C68F1FE, Flags:0x0 + s32 'mTask[2].mState' ; // Offset:0x110, Var, CRC32:0x5B77E989, Flags:0x0 + u32 'mTask[2].mNo' ; // Offset:0x114, Var, CRC32:0x9BCC58CE, Flags:0x0 + f32 'mTask[2].mTime' ; // Offset:0x118, Var, CRC32:0xE66BF3BE, Flags:0x0 + f32 'mTask[2].mHeadTime' ; // Offset:0x11C, Var, CRC32:0xCDBB4EBD, Flags:0x0 + f32 'mTask[2].mMainTime' ; // Offset:0x120, Var, CRC32:0xD7F7FE06, Flags:0x0 + f32 'mTask[2].mTailTime' ; // Offset:0x124, Var, CRC32:0xCEC38766, Flags:0x0 + vector3 'mTask[2].mMagnitude' ; // Offset:0x130, Var, CRC32:0x74BF8CBD, Flags:0x0 + vector3 'mTask[2].mPos' ; // Offset:0x140, Var, CRC32:0xA3F38D13, Flags:0x0 + f32 'mTask[2].mRadius' ; // Offset:0x150, Var, CRC32:0x578D75FC, Flags:0x0 + f32 'mTask[2].mSpread' ; // Offset:0x154, Var, CRC32:0x1044BBDE, Flags:0x0 + f32 'mTask[2].mDamping' ; // Offset:0x158, Var, CRC32:0xA9D52221, Flags:0x0 + f32 'mTask[2].mPeriod' ; // Offset:0x15C, Var, CRC32:0xA9490568, Flags:0x0 + f32 'mTask[2].mCamera1QuakeTime' ; // Offset:0x160, Var, CRC32:0x96C35BDB, Flags:0x0 + f32 'mTask[2].mTarget1QuakeTime' ; // Offset:0x164, Var, CRC32:0x7A46CC1B, Flags:0x0 + f32 'mTask[2].mRoll1QuakeTime' ; // Offset:0x168, Var, CRC32:0x9C1006C1, Flags:0x0 + f32 'mTask[2].mRndDrop' ; // Offset:0x16C, Var, CRC32:0xA46FCC90, Flags:0x0 + s32 'mTask[2].mHeadCurve' ; // Offset:0x170, Var, CRC32:0x365FE7C2, Flags:0x0 + s32 'mTask[2].mTailCurve' ; // Offset:0x174, Var, CRC32:0x275D9457, Flags:0x0 + f32 'mTask[2].mRoll' ; // Offset:0x178, Var, CRC32:0xA74A5935, Flags:0x0 + f32 'mTask[2].mBalance' ; // Offset:0x17C, Var, CRC32:0x412F07B5, Flags:0x0 + bool 'mTask[2].mbAsync' ; // Offset:0x180, Var, CRC32:0xF75F4AFD, Flags:0x0 + s32 'mTask[3].mState' ; // Offset:0x190, Var, CRC32:0x4C0CFDCA, Flags:0x0 + s32 'mTask[4].mState' ; // Offset:0x210, Var, CRC32:0x286D9003, Flags:0x0 + s32 'mTask[5].mState' ; // Offset:0x290, Var, CRC32:0x3F168440, Flags:0x0 + s32 'mTask[6].mState' ; // Offset:0x310, Var, CRC32:0x69BB885, Flags:0x0 + s32 'mTask[7].mState' ; // Offset:0x390, Var, CRC32:0x11E0ACC6, Flags:0x0 + s32 'mTask[8].mState' ; // Offset:0x410, Var, CRC32:0xCE596317, Flags:0x0 + s32 'mTask[9].mState' ; // Offset:0x490, Var, CRC32:0xD9227754, Flags:0x0 + vector3 'mMagnitude' ; // Offset:0x820, Var, CRC32:0x6913F345, Flags:0x0 + f32 'mRollMag' ; // Offset:0x830, Var, CRC32:0x669BB294, Flags:0x0 + f32 'mBalance' ; // Offset:0x834, Var, CRC32:0x2F166CE0, Flags:0x0 + bool 'mbAsync' ; // Offset:0x838, Var, CRC32:0xA532F86A, Flags:0x0 + f32 'mCamera1QuakeTime' ; // Offset:0x83C, Var, CRC32:0x2C826DA4, Flags:0x0 + f32 'mTarget1QuakeTime' ; // Offset:0x840, Var, CRC32:0xC007FA64, Flags:0x0 + f32 'mRoll1QuakeTime' ; // Offset:0x844, Var, CRC32:0xF806658F, Flags:0x0 + f32 'mCameraTimer'[3] ; // Offset:0x848, Array, CRC32:0xA3139704, Flags:0x200000 + f32 'mTargetTimer'[3] ; // Offset:0x854, Array, CRC32:0xE4E0FDF9, Flags:0x200000 + f32 'mRollTimer' ; // Offset:0x860, Var, CRC32:0x33102C1D, Flags:0x0 + f32 'mCameraAmp'[3] ; // Offset:0x864, Array, CRC32:0x80EC948A, Flags:0x200000 + f32 'mTargetAmp'[3] ; // Offset:0x870, Array, CRC32:0x21141A21, Flags:0x200000 + f32 'mRollAmp' ; // Offset:0x87C, Var, CRC32:0x40E7813B, Flags:0x0 + f32 'mCameraCycle'[3] ; // Offset:0x880, Array, CRC32:0x7945988D, Flags:0x200000 + f32 'mTargetCycle'[3] ; // Offset:0x88C, Array, CRC32:0x3EB6F270, Flags:0x200000 + f32 'mRollCycle' ; // Offset:0x898, Var, CRC32:0xE9462394, Flags:0x0 + bool 'mbCameraInit'[3] ; // Offset:0x89C, Array, CRC32:0x3320E282, Flags:0x200000 + bool 'mbTargetInit'[3] ; // Offset:0x89F, Array, CRC32:0x7285606C, Flags:0x200000 + bool 'mbRollInit' ; // Offset:0x8A2, Var, CRC32:0x44F2B8E7, Flags:0x0 + f32 'mRndDrop' ; // Offset:0x8A4, Var, CRC32:0xCA56A7C5, Flags:0x0 + bool 'mbQuakeActive' ; // Offset:0x8A8, Var, CRC32:0x360AAF2D, Flags:0x0 + bool 'mbSleep' ; // Offset:0x8A9, Var, CRC32:0xC51EB940, Flags:0x0 +}; + +// cCameraSeqInfo vftable:0x1CB2E98, Size:0x70, CRC32:0x479B4B7C +class cCameraSeqInfo /*: cCameraInfo, MtObject*/ { + vector3 'mCameraPos' ; // Offset:0x10, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x20, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mRoll' ; // Offset:0x30, Var, CRC32:0xF7BCF9F2, Flags:0x0 + f32 'mFov' ; // Offset:0x34, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mTime' ; // Offset:0x40, Var, CRC32:0xB69D5379, Flags:0x0 + s32 'mType' ; // Offset:0x44, Var, CRC32:0x55D79C15, Flags:0x0 + u16 'mRate' ; // Offset:0x48, Var, CRC32:0x6E5F405, Flags:0x0 + s16 'mQuake' ; // Offset:0x4A, Var, CRC32:0x510172A1, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x4C, Var, CRC32:0x76F01E5E, Flags:0x0 + f32 'mFarBlurLimit' ; // Offset:0x50, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNear' ; // Offset:0x54, Var, CRC32:0xAF45D72D, Flags:0x0 + f32 'mFar' ; // Offset:0x58, Var, CRC32:0xA10DB4B9, Flags:0x0 + f32 'mFocal' ; // Offset:0x5C, Var, CRC32:0x3CD20A88, Flags:0x0 + bool 'mMotionBlur' ; // Offset:0x60, Var, CRC32:0x92A18AE7, Flags:0x0 + bool 'mInvalidAdjust' ; // Offset:0x61, Var, CRC32:0x31CD21BF, Flags:0x0 +}; + +// cCameraSeqInfo2 vftable:0x1CB2EB4, Size:0x70, CRC32:0x11A3F7DC +class cCameraSeqInfo2 /*: cCameraSeqInfo, cCameraInfo, MtObject*/ { + vector3 'mCameraPos' ; // Offset:0x10, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x20, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mRoll' ; // Offset:0x30, Var, CRC32:0xF7BCF9F2, Flags:0x0 + f32 'mFov' ; // Offset:0x34, Var, CRC32:0x38E35D2E, Flags:0x0 + f32 'mTime' ; // Offset:0x40, Var, CRC32:0xB69D5379, Flags:0x0 + s32 'mType' ; // Offset:0x44, Var, CRC32:0x55D79C15, Flags:0x0 + u16 'mRate' ; // Offset:0x48, Var, CRC32:0x6E5F405, Flags:0x0 + s16 'mQuake' ; // Offset:0x4A, Var, CRC32:0x510172A1, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x4C, Var, CRC32:0x76F01E5E, Flags:0x0 + f32 'mFarBlurLimit' ; // Offset:0x50, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNear' ; // Offset:0x54, Var, CRC32:0xAF45D72D, Flags:0x0 + f32 'mFar' ; // Offset:0x58, Var, CRC32:0xA10DB4B9, Flags:0x0 + f32 'mFocal' ; // Offset:0x5C, Var, CRC32:0x3CD20A88, Flags:0x0 + bool 'mMotionBlur' ; // Offset:0x60, Var, CRC32:0x92A18AE7, Flags:0x0 + bool 'mInvalidAdjust' ; // Offset:0x61, Var, CRC32:0x31CD21BF, Flags:0x0 + bool 'mInvAdjCam' ; // Offset:0x62, Var, CRC32:0xC1909134, Flags:0x0 + bool 'mInvAdjTar' ; // Offset:0x63, Var, CRC32:0x55F12934, Flags:0x0 +}; + +// cCatchInfo vftable:0x1BE74E0, Size:0x20, CRC32:0x28014328 +class cCatchInfo /*: MtObject*/ { +}; + +// cCatchInfoParam vftable:0x1C50634, Size:0x20, CRC32:0x3C156B50 +class cCatchInfoParam /*: MtObject*/ { + u32 'mCatchType' ; // Offset:0x4, Var, CRC32:0xF19F15E5, Flags:0x0 + u32 'mCatchActionTblNo' ; // Offset:0x8, Var, CRC32:0x6BE7CED3, Flags:0x0 + bool 'RXg' ; // Offset:0xC, Var, CRC32:0x6411F26E, Flags:0x0 + bool '͂܂ꑤ̃XN[𔲂Ȃ' ; // Offset:0xD, Var, CRC32:0x50F0CA3E, Flags:0x0 + bool 'RXgXP[vZOFF' ; // Offset:0xE, Var, CRC32:0x45E2FDD9, Flags:0x0 + bool 'X[uŋ`FbN' ; // Offset:0xF, Var, CRC32:0x9AFE95BC, Flags:0x0 + f32 'X[uł̃`FbN' ; // Offset:0x10, Var, CRC32:0xF19BD3D3, Flags:0x0 + u32 'mConstJointNo' ; // Offset:0x14, Var, CRC32:0xA5928C60, Flags:0x0 + f32 '͂݃[v' ; // Offset:0x18, Var, CRC32:0x3B094464, Flags:0x0 + s32 'oK`_' ; // Offset:0x1C, Var, CRC32:0x1850B8B3, Flags:0x0 +}; + +// cCaughtDamageRate vftable:0x1C50920, Size:0x8, CRC32:0x372AACA0 +class cCaughtDamageRate /*: MtObject*/ { + f32 'mDamageRate' ; // Offset:0x4, Var, CRC32:0xAFE7DDEE, Flags:0x0 +}; + +// cCaughtDamageRateReference vftable:0x1C5080C, Size:0x8, CRC32:0x21AFFEF6 +class cCaughtDamageRateReference /*: MtObject*/ { + u32 'mReferenceIndex' ; // Offset:0x4, Var, CRC32:0xE1970A56, Flags:0x0 +}; + +// cCaughtInfo vftable:0x1BE74FC, Size:0x20, CRC32:0x6B70F0BC +class cCaughtInfo /*: MtObject*/ { +}; + +// cCaughtInfoParam vftable:0x1C50A34, Size:0x30, CRC32:0x22B08D1E +class cCaughtInfoParam /*: MtObject*/ { + u32 'mCatchType' ; // Offset:0x4, Var, CRC32:0xF19F15E5, Flags:0x0 + u32 'mCaughtActionTblNo' ; // Offset:0x8, Var, CRC32:0x147D9FAF, Flags:0x0 + vector3 'mConstOffsetPos' ; // Offset:0x10, Var, CRC32:0x5B636D42, Flags:0x0 + vector3 'mConstOffsetAngle' ; // Offset:0x20, Var, CRC32:0xFBCF0886, Flags:0x0 +}; + +// cCharParam vftable:0x1AF5FC8, Size:0x8, CRC32:0xA86E33D +class cCharParam /*: MtObject*/ { +}; + +// cCharParamEnemy vftable:0x1AF64E0, Size:0x184, CRC32:0x7E509FE9 +class cCharParamEnemy /*: cCharParam, MtObject*/ { + f32 'bU' ; // Offset:0x8, Var, CRC32:0xCB2F4B7F, Flags:0x0 + f32 'b@U' ; // Offset:0xC, Var, CRC32:0x31799A5A, Flags:0x0 + f32 'U' ; // Offset:0x10, Var, CRC32:0xD7171C1E, Flags:0x0 + f32 '@U' ; // Offset:0x14, Var, CRC32:0x2D41CD3B, Flags:0x0 + f32 'bh' ; // Offset:0x18, Var, CRC32:0xB7D57282, Flags:0x0 + f32 'b@h' ; // Offset:0x1C, Var, CRC32:0x4D83A3A7, Flags:0x0 + f32 'h' ; // Offset:0x20, Var, CRC32:0xABED25E3, Flags:0x0 + f32 '@h' ; // Offset:0x24, Var, CRC32:0x51BBF4C6, Flags:0x0 + f32 'ؗ' ; // Offset:0x28, Var, CRC32:0xBCACD781, Flags:0x0 + f32 'd' ; // Offset:0x2C, Var, CRC32:0x61EED201, Flags:0x0 + f32 'K[hbU' ; // Offset:0x30, Var, CRC32:0x4FE97516, Flags:0x0 + f32 'K[hbh' ; // Offset:0x34, Var, CRC32:0x33134CEB, Flags:0x0 + f32 'K[hh' ; // Offset:0x38, Var, CRC32:0xFC242D2A, Flags:0x0 + u32 '̎' ; // Offset:0x3C, Var, CRC32:0xDDA41923, Flags:0x0 + u32 '̂̃TCY' ; // Offset:0x40, Var, CRC32:0xACD2F4B3, Flags:0x0 + u32 'vbVO[v' ; // Offset:0x44, Var, CRC32:0xD8E97479, Flags:0x0 + u32 'SCR葮' ; // Offset:0x48, Var, CRC32:0x4DC878A2, Flags:0x0 + u32 'SCRTCY' ; // Offset:0x4C, Var, CRC32:0x6931DA70, Flags:0x0 + f32 '{莞̗hԂl񕜔{' ; // Offset:0x50, Var, CRC32:0x55CE81F1, Flags:0x0 + class 'mJumpAttackSpeed'[4] ; // Offset:0x54, Array, CRC32:0x420C5DC, Flags:0x200000 + f32 '_[W󂯂鍂' ; // Offset:0xA4, Var, CRC32:0x5BE50EDD, Flags:0x0 + u32 'uh' ; // Offset:0xA8, Var, CRC32:0x8F8C412, Flags:0x0 + bool 'uhgp' ; // Offset:0xAC, Var, CRC32:0xAA896A5C, Flags:0x0 + u32 'uh' ; // Offset:0xB0, Var, CRC32:0x57345F9, Flags:0x0 + f32 '^[eg[p^C' ; // Offset:0xB4, Var, CRC32:0xDA8F3A91, Flags:0x0 + u8 'tՂ' ; // Offset:0xB8, Var, CRC32:0xA0AD0899, Flags:0x0 + class 'mGuardCounter'[10] ; // Offset:0xBC, Array, CRC32:0x55F8FB55, Flags:0x200000 + u32 'K[hANV`FbN' ; // Offset:0x10C, Var, CRC32:0xFEA494EA, Flags:0x0 + f32 'fXP[l' ; // Offset:0x110, Var, CRC32:0x27E447ED, Flags:0x0 + bool 'hԂANV' ; // Offset:0x118, Var, CRC32:0x57F535C1, Flags:0x0 + f32 'Gvle[ũXP[l' ; // Offset:0x11C, Var, CRC32:0x47567C07, Flags:0x0 + f32 '邢Ƃ̃N͈' ; // Offset:0x120, Var, CRC32:0xDB1F58F1, Flags:0x0 + bool 'ẪN͈͂ݒ' ; // Offset:0x124, Var, CRC32:0x745F6AC2, Flags:0x0 + f32 'ẪN͈' ; // Offset:0x128, Var, CRC32:0x2202A44A, Flags:0x0 + f32 'j̏ꍇ' ; // Offset:0x158, Var, CRC32:0xE9694495, Flags:0x0 + f32 '̏ꍇ' ; // Offset:0x15C, Var, CRC32:0x5C806A00, Flags:0x0 + bool '`X_ẺoȂ' ; // Offset:0x160, Var, CRC32:0x2A1ABAC8, Flags:0x0 + bool 'hԂQ[WɃ_Elgp' ; // Offset:0x161, Var, CRC32:0xF0E43471, Flags:0x0 + bool 'DȂR[Ȃ' ; // Offset:0x162, Var, CRC32:0x2AEDC41, Flags:0x0 + bool 'G`ggH' ; // Offset:0x163, Var, CRC32:0x6652B976, Flags:0x0 + u32 'G`g^Cv' ; // Offset:0x164, Var, CRC32:0x91BBAE36, Flags:0x0 + u32 '_[W̓ݒ^Cv' ; // Offset:0x168, Var, CRC32:0x790132F0, Flags:0x0 + u32 '_[W{[iXtO' ; // Offset:0x16C, Var, CRC32:0xC4EC735F, Flags:0x0 + f32 '̂莞ɔl銄' ; // Offset:0x170, Var, CRC32:0x4D71766A, Flags:0x0 + f32 'V[PXL̂䂳Ԃ␳{' ; // Offset:0x174, Var, CRC32:0xC6F43352, Flags:0x0 + f32 'GUI̕\̈{' ; // Offset:0x178, Var, CRC32:0x591B3731, Flags:0x0 + u32 'ėp_[W{[iX^Cv' ; // Offset:0x17C, Var, CRC32:0xB14B1B62, Flags:0x0 + f32 'ʔĵ䂳Ԃ~ϒl' ; // Offset:0x180, Var, CRC32:0x2C2B571A, Flags:0x0 +}; + +// cCharParamEnemy::cGuardCounter vftable:0x1AF64CC, Size:0x8, CRC32:0xB3ACA4 +class cCharParamEnemy::cGuardCounter /*: MtObject*/ { + u8 'K[h(ȉ)' ; // Offset:0x4, Var, CRC32:0xBB792B78, Flags:0x0 + u8 'm(ȉŔ)' ; // Offset:0x5, Var, CRC32:0x67F7887, Flags:0x0 +}; + +// cCharParamEnemy::cJumpAttackSpeed vftable:0x1AF64B0, Size:0x14, CRC32:0x24D28F65 +class cCharParamEnemy::cJumpAttackSpeed /*: MtObject*/ { + bool 'LtO' ; // Offset:0x4, Var, CRC32:0x27129E0B, Flags:0x0 + f32 'Ox' ; // Offset:0x8, Var, CRC32:0x68D775C7, Flags:0x0 + f32 'x' ; // Offset:0xC, Var, CRC32:0x3803927B, Flags:0x0 + f32 'd' ; // Offset:0x10, Var, CRC32:0xFF8A47A2, Flags:0x0 +}; + +// cCharParamEnemyFly vftable:0x1AF6E48, Size:0x1A8, CRC32:0x2F073031 +class cCharParamEnemyFly /*: cCharParamEnemy, cCharParam, MtObject*/ { + f32 'bU' ; // Offset:0x8, Var, CRC32:0xCB2F4B7F, Flags:0x0 + f32 'b@U' ; // Offset:0xC, Var, CRC32:0x31799A5A, Flags:0x0 + f32 'U' ; // Offset:0x10, Var, CRC32:0xD7171C1E, Flags:0x0 + f32 '@U' ; // Offset:0x14, Var, CRC32:0x2D41CD3B, Flags:0x0 + f32 'bh' ; // Offset:0x18, Var, CRC32:0xB7D57282, Flags:0x0 + f32 'b@h' ; // Offset:0x1C, Var, CRC32:0x4D83A3A7, Flags:0x0 + f32 'h' ; // Offset:0x20, Var, CRC32:0xABED25E3, Flags:0x0 + f32 '@h' ; // Offset:0x24, Var, CRC32:0x51BBF4C6, Flags:0x0 + f32 'ؗ' ; // Offset:0x28, Var, CRC32:0xBCACD781, Flags:0x0 + f32 'd' ; // Offset:0x2C, Var, CRC32:0x61EED201, Flags:0x0 + f32 'K[hbU' ; // Offset:0x30, Var, CRC32:0x4FE97516, Flags:0x0 + f32 'K[hbh' ; // Offset:0x34, Var, CRC32:0x33134CEB, Flags:0x0 + f32 'K[hh' ; // Offset:0x38, Var, CRC32:0xFC242D2A, Flags:0x0 + u32 '̎' ; // Offset:0x3C, Var, CRC32:0xDDA41923, Flags:0x0 + u32 '̂̃TCY' ; // Offset:0x40, Var, CRC32:0xACD2F4B3, Flags:0x0 + u32 'vbVO[v' ; // Offset:0x44, Var, CRC32:0xD8E97479, Flags:0x0 + u32 'SCR葮' ; // Offset:0x48, Var, CRC32:0x4DC878A2, Flags:0x0 + u32 'SCRTCY' ; // Offset:0x4C, Var, CRC32:0x6931DA70, Flags:0x0 + f32 '{莞̗hԂl񕜔{' ; // Offset:0x50, Var, CRC32:0x55CE81F1, Flags:0x0 + class 'mJumpAttackSpeed'[4] ; // Offset:0x54, Array, CRC32:0x420C5DC, Flags:0x200000 + f32 '_[W󂯂鍂' ; // Offset:0xA4, Var, CRC32:0x5BE50EDD, Flags:0x0 + u32 'uh' ; // Offset:0xA8, Var, CRC32:0x8F8C412, Flags:0x0 + bool 'uhgp' ; // Offset:0xAC, Var, CRC32:0xAA896A5C, Flags:0x0 + u32 'uh' ; // Offset:0xB0, Var, CRC32:0x57345F9, Flags:0x0 + f32 '^[eg[p^C' ; // Offset:0xB4, Var, CRC32:0xDA8F3A91, Flags:0x0 + u8 'tՂ' ; // Offset:0xB8, Var, CRC32:0xA0AD0899, Flags:0x0 + class 'mGuardCounter'[10] ; // Offset:0xBC, Array, CRC32:0x55F8FB55, Flags:0x200000 + u32 'K[hANV`FbN' ; // Offset:0x10C, Var, CRC32:0xFEA494EA, Flags:0x0 + f32 'fXP[l' ; // Offset:0x110, Var, CRC32:0x27E447ED, Flags:0x0 + bool 'hԂANV' ; // Offset:0x118, Var, CRC32:0x57F535C1, Flags:0x0 + f32 'Gvle[ũXP[l' ; // Offset:0x11C, Var, CRC32:0x47567C07, Flags:0x0 + f32 '邢Ƃ̃N͈' ; // Offset:0x120, Var, CRC32:0xDB1F58F1, Flags:0x0 + bool 'ẪN͈͂ݒ' ; // Offset:0x124, Var, CRC32:0x745F6AC2, Flags:0x0 + f32 'ẪN͈' ; // Offset:0x128, Var, CRC32:0x2202A44A, Flags:0x0 + f32 'j̏ꍇ' ; // Offset:0x158, Var, CRC32:0xE9694495, Flags:0x0 + f32 '̏ꍇ' ; // Offset:0x15C, Var, CRC32:0x5C806A00, Flags:0x0 + bool '`X_ẺoȂ' ; // Offset:0x160, Var, CRC32:0x2A1ABAC8, Flags:0x0 + bool 'hԂQ[WɃ_Elgp' ; // Offset:0x161, Var, CRC32:0xF0E43471, Flags:0x0 + bool 'DȂR[Ȃ' ; // Offset:0x162, Var, CRC32:0x2AEDC41, Flags:0x0 + bool 'G`ggH' ; // Offset:0x163, Var, CRC32:0x6652B976, Flags:0x0 + u32 'G`g^Cv' ; // Offset:0x164, Var, CRC32:0x91BBAE36, Flags:0x0 + u32 '_[W̓ݒ^Cv' ; // Offset:0x168, Var, CRC32:0x790132F0, Flags:0x0 + u32 '_[W{[iXtO' ; // Offset:0x16C, Var, CRC32:0xC4EC735F, Flags:0x0 + f32 '̂莞ɔl銄' ; // Offset:0x170, Var, CRC32:0x4D71766A, Flags:0x0 + f32 'V[PXL̂䂳Ԃ␳{' ; // Offset:0x174, Var, CRC32:0xC6F43352, Flags:0x0 + f32 'GUI̕\̈{' ; // Offset:0x178, Var, CRC32:0x591B3731, Flags:0x0 + u32 'ėp_[W{[iX^Cv' ; // Offset:0x17C, Var, CRC32:0xB14B1B62, Flags:0x0 + f32 'ʔĵ䂳Ԃ~ϒl' ; // Offset:0x180, Var, CRC32:0x2C2B571A, Flags:0x0 + f32 'zoOx' ; // Offset:0x184, Var, CRC32:0xEBFEF4FA, Flags:0x0 + f32 'zoOx'[4] ; // Offset:0x188, Array, CRC32:0xC3E27737, Flags:0x200000 + s32 'zoOxiK' ; // Offset:0x198, Var, CRC32:0x196E12D, Flags:0x0 + f32 'sx' ; // Offset:0x19C, Var, CRC32:0xF862E66, Flags:0x0 + f32 'sx' ; // Offset:0x1A0, Var, CRC32:0x279AADAB, Flags:0x0 + s32 'zoOB蕝' ; // Offset:0x1A4, Var, CRC32:0xDDE8041D, Flags:0x0 +}; + +// cCharacterBattleContentBase vftable:0x1AEB4D4, Size:0x68, CRC32:0xE74C5DC +class cCharacterBattleContentBase /*: MtObject*/ { +}; + +// cCharacterData vftable:0x1AF5F14, Size:0x3570, CRC32:0x69F2BF84 +class cCharacterData /*: MtObject*/ { +}; + +// cCharacterEditCameraParam vftable:0x1C51548, Size:0xC0, CRC32:0x4A474E09 +class cCharacterEditCameraParam /*: MtObject*/ { +}; + +// cCharacterEditCameraParam::cCameraParam vftable:0x1C51534, Size:0x40, CRC32:0x2A2582EF +class cCharacterEditCameraParam::cCameraParam /*: MtObject*/ { + s32 'mAttachJoint' ; // Offset:0x4, Var, CRC32:0xAF52FA16, Flags:0x0 + vector3 'mGlobalOffset' ; // Offset:0x10, Var, CRC32:0x4A2B47F3, Flags:0x0 + vector3 'mCameraOffset' ; // Offset:0x20, Var, CRC32:0x71CEDB77, Flags:0x0 + vector3 'mTargetOffset' ; // Offset:0x30, Var, CRC32:0xB285A6BC, Flags:0x0 +}; + +// cCharacterEditColorDef vftable:0x1C51B58, Size:0x40, CRC32:0x27873437 +class cCharacterEditColorDef /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cCharacterEditModelPalette vftable:0x1C51C70, Size:0x30, CRC32:0x1F2C830C +class cCharacterEditModelPalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cCharacterEditMuscle vftable:0x1C51D80, Size:0x40, CRC32:0x4EADE310 +class cCharacterEditMuscle /*: MtObject*/ { + vector3 'mFatP' ; // Offset:0x10, Var, CRC32:0x8F2DF0EE, Flags:0x0 + vector3 'mFatM' ; // Offset:0x20, Var, CRC32:0xEC2B9C37, Flags:0x0 + vector3 'mMuscle' ; // Offset:0x30, Var, CRC32:0xCD8DB0DE, Flags:0x0 +}; + +// cCharacterEditPersonalityPalette vftable:0x1C51EA4, Size:0x14, CRC32:0xC6DBD5A +class cCharacterEditPersonalityPalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cCharacterEditPresetPalette vftable:0x1C51FC8, Size:0x28, CRC32:0x6BAAE7F2 +class cCharacterEditPresetPalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cCharacterEditTalkLvPalette vftable:0x1C520DC, Size:0x14, CRC32:0x73D67E74 +class cCharacterEditTalkLvPalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cCharacterEditTexturePalette vftable:0x1C521F4, Size:0x30, CRC32:0x182B13D0 +class cCharacterEditTexturePalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cCharacterEditVoicePalette vftable:0x1C52304, Size:0x1C, CRC32:0x7B0D23EF +class cCharacterEditVoicePalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cChargeEffectUID vftable:0x1C8FAAC, Size:0xC, CRC32:0x96F271 +class cChargeEffectUID /*: MtObject*/ { +}; + +// cChildRegionStatus vftable:0x1AF6EE8, Size:0x160, CRC32:0x201D6741 +class cChildRegionStatus /*: MtObject*/ { +}; + +// cChildRegionStatusParam vftable:0x1C742E0, Size:0x160, CRC32:0x5A829619 +class cChildRegionStatusParam /*: MtObject*/ { +}; + +// cChildRegionStatusParamList vftable:0x1C743C8, Size:0x14, CRC32:0x7E82956E +class cChildRegionStatusParamList /*: MtObject*/ { +}; + +// cCnsBoneScaleCtrl vftable:0x1CB6180, Size:0x50, CRC32:0xF2B85A5 +class cCnsBoneScaleCtrl /*: MtObject*/ { +}; + +// cCollGeom vftable:0x1C52940, Size:0x70, CRC32:0x1CB9F99D +class cCollGeom /*: MtObject*/ { + u8 'mShape' ; // Offset:0x4, Var, CRC32:0x20846519, Flags:0x0 + u8 'mOption' ; // Offset:0x5, Var, CRC32:0x641AA981, Flags:0x0 + u8 'mScaleOption' ; // Offset:0x6, Var, CRC32:0x1061B754, Flags:0x0 + u8 'mPriority' ; // Offset:0x7, Var, CRC32:0x4A28ECBA, Flags:0x0 + u8 'mLayer' ; // Offset:0x8, Var, CRC32:0x196FBBDB, Flags:0x0 + u8 'mLayer2' ; // Offset:0x9, Var, CRC32:0xD9CF3567, Flags:0x0 + u16 'mIndex' ; // Offset:0xA, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + s16 'mJnt0' ; // Offset:0xC, Var, CRC32:0x83156933, Flags:0x0 + s16 'mJnt1' ; // Offset:0xE, Var, CRC32:0xF41259A5, Flags:0x0 + u16 'mRegionNo' ; // Offset:0x10, Var, CRC32:0x697F2FB8, Flags:0x0 + s16 'mRangeCheckBaseJnt' ; // Offset:0x12, Var, CRC32:0xD1E1543D, Flags:0x0 + f32 'mRadius' ; // Offset:0x14, Var, CRC32:0x5E0C76B, Flags:0x8000000 + vector2 'mAngle0' ; // Offset:0x18, Var, CRC32:0xB39B4FF1, Flags:0x0 + vector2 'mAngle1' ; // Offset:0x20, Var, CRC32:0xC49C7F67, Flags:0x0 + vector3 'mOffset0' ; // Offset:0x30, Var, CRC32:0xF1B37421, Flags:0x0 + vector3 'mOffset1' ; // Offset:0x40, Var, CRC32:0x86B444B7, Flags:0x0 + vector3 'mExtent' ; // Offset:0x50, Var, CRC32:0x1892F079, Flags:0x8000000 + bool 'mIsUseData' ; // Offset:0x60, Var, CRC32:0xE98EF965, Flags:0x0 +}; + +// cCollIndex vftable:0x1C52ADC, Size:0x18, CRC32:0x7CC1F387 +class cCollIndex /*: MtObject*/ { + s16 'mNode' ; // Offset:0x4, Var, CRC32:0x5C762379, Flags:0x0 + s16 'mAttack' ; // Offset:0x6, Var, CRC32:0x795C840A, Flags:0x0 + s16 'mLinkID' ; // Offset:0x8, Var, CRC32:0xAB3B07BB, Flags:0x0 + bool 'mLinkTop' ; // Offset:0xA, Var, CRC32:0x6E93ED75, Flags:0x0 + s16 'mNode2' ; // Offset:0xC, Var, CRC32:0xE152EE3B, Flags:0x0 + s16 'mAttack2' ; // Offset:0xE, Var, CRC32:0x287BE41A, Flags:0x0 + s16 'mLinkID2' ; // Offset:0x10, Var, CRC32:0x94CF0083, Flags:0x0 + s16 'mNode3' ; // Offset:0x12, Var, CRC32:0x9655DEAD, Flags:0x0 + s16 'mAttack3' ; // Offset:0x14, Var, CRC32:0x5F7CD48C, Flags:0x0 + s16 'mLinkID3' ; // Offset:0x16, Var, CRC32:0xE3C83015, Flags:0x0 +}; + +// cCollNode vftable:0x1AE291C, Size:0x18, CRC32:0x1096238 +class cCollNode /*: MtObject*/ { + classref 'mpCollGeom' ; // Offset:0x4, Var, CRC32:0xA86E7431, Flags:0x0 + u16 'mNodeID' ; // Offset:0x8, Var, CRC32:0xC909E7E, Flags:0x0 + u16 'mIndex' ; // Offset:0xA, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + u32 'mColNodeFlag' ; // Offset:0xC, Var, CRC32:0x341AC4CF, Flags:0x0 + u32 'mHitCollisionFlag' ; // Offset:0x10, Var, CRC32:0x452E5485, Flags:0x0 + u32 'mAttr' ; // Offset:0x14, Var, CRC32:0xDD77E828, Flags:0x0 +}; + +// cColliderGeometryParam vftable:0x20DAD20, Size:0x8, CRC32:0x58E0BBE8 +class cColliderGeometryParam /*: nCollision::cAllocaterIntermediate, MtObject*/ { + u32 'Attribute' ; // Offset:0x4, Var, CRC32:0x877492A7, Flags:0x20000 + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x0 + u32 'Attribute' ; // Offset:0x4, Var, CRC32:0x877492A7, Flags:0x20000 + u16 'ver' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1976060, Setter:0x1976140, CRC32:0xF643BDFD, Flags:0x820000 +}; + +// cColliderNodeParam vftable:0x20DAD04, Size:0x20, CRC32:0x6772D35D +class cColliderNodeParam /*: nCollision::cAllocaterIntermediate, MtObject*/ { + u32 'ColliderType' ; // Offset:0x4, Var, CRC32:0x17A9710B, Flags:0x20000 + u32 'mColliderType' ; // Offset:0x4, Var, CRC32:0x2AD74BC6, Flags:0x0 + u32 'ColliderType' ; // Offset:0x4, Var, CRC32:0x17A9710B, Flags:0x20000 + bool 'ColliderActive' ; // Offset:0x8, Var, CRC32:0x7F78B657, Flags:0x20000 + bool 'mFlgUseActive' ; // Offset:0x8, Var, CRC32:0x311BA324, Flags:0x0 + bool 'ColliderPassive' ; // Offset:0x9, Var, CRC32:0xBFD8D173, Flags:0x20000 + bool 'mFlgUsePassive' ; // Offset:0x9, Var, CRC32:0x769A92E0, Flags:0x0 + bool 'ColliderPush' ; // Offset:0xA, Var, CRC32:0xC44D3046, Flags:0x20000 + bool 'mFlgUsePush' ; // Offset:0xA, Var, CRC32:0x8F201EDD, Flags:0x0 + u32 'Group ' ; // Offset:0xC, Var, CRC32:0xA426BE77, Flags:0x20000 + u32 'mGroup' ; // Offset:0xC, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'Attribute' ; // Offset:0x10, Var, CRC32:0x877492A7, Flags:0x20000 + u32 'mAttribute' ; // Offset:0x10, Var, CRC32:0xA6EE61BF, Flags:0x0 + u32 'Attribute' ; // Offset:0x10, Var, CRC32:0x877492A7, Flags:0x20000 + u32 'ActiveFunc' ; // Offset:0x14, Var, CRC32:0x71FE1D5A, Flags:0x20000 + u32 'mActiveUseFunctionID' ; // Offset:0x14, Var, CRC32:0x644CBCBE, Flags:0x0 + classref 'mpUserDataPtr' ; // Offset:0x18, Var, CRC32:0x14C846FC, Flags:0x20000 + bool 'mFlgAutoDeleteUserDataPtr' ; // Offset:0x1C, Var, CRC32:0xF7C5EEB9, Flags:0x20000 + u16 'ver' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1976070, Setter:0x1976150, CRC32:0xF643BDFD, Flags:0x820000 +}; + +// cCommonSkyFogData vftable:0x1CA65E8, Size:0x40, CRC32:0x4B17B0F2 +class cCommonSkyFogData /*: MtObject*/ { +}; + +// cCompleteQuest vftable:0x1BC5B24, Size:0x8, CRC32:0x4FC6EAC1 +class cCompleteQuest /*: MtObject*/ { +}; + +// cComponentManager vftable:0x1AF6F1C, Size:0xC, CRC32:0x7D58C23C +class cComponentManager /*: MtObject*/ { + class 'Components'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x46C8F0, Setter:0x46CAD0, GetCount:0x46C950, Reallocate:0x46CAE0 CRC32:0x5EEA09D2, Flags:0xA00000 +}; + +// cConstModelParam vftable:0x1AF6F58, Size:0x20, CRC32:0x52A66748 +class cConstModelParam /*: MtObject*/ { +}; + +// cContentsBuff vftable:0x1AF8888, Size:0xC, CRC32:0x3C10D0E7 +class cContentsBuff /*: MtObject*/ { +}; + +// cContextCharacter vftable:0x1AF74A8, Size:0xAB0, CRC32:0x50000000, CalcCRC:0x4654A170 +class cContextCharacter /*: cContext, MtObject*/ { + u32 'sNGXg' ; // Offset:0x1C, Var, CRC32:0xBEBCC726, Flags:0x10000 +}; + +// cContextInstChar vftable:0x1AF7A0C, Size:0xC30, CRC32:0x50060000, CalcCRC:0x593E560D +class cContextInstChar /*: cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 + u32 'sԍ' ; // Offset:0x7C, Var, CRC32:0xE9D2143D, Flags:0x10000 + f32 'ړx' ; // Offset:0x1CC, Var, CRC32:0x9079A5FA, Flags:0x10000 + f32 'ړ' ; // Offset:0x1D0, Var, CRC32:0x5167433F, Flags:0x10000 + u16 'ʃ[N' ; // Offset:0x1D4, Var, CRC32:0xA14433F3, Flags:0x10000 + u16 'PL,GpR[N' ; // Offset:0x1D6, Var, CRC32:0xB9C0A613, Flags:0x10000 + u64 'mTargetUid' ; // Offset:0x278, Var, CRC32:0x448D00F4, Flags:0x10000 + f64 'mTargetPos.x' ; // Offset:0x280, Var, CRC32:0xD1EBF54F, Flags:0x10000 + f32 'mTargetPos.y' ; // Offset:0x288, Var, CRC32:0xA6ECC5D9, Flags:0x10000 + f64 'mTargetPos.z' ; // Offset:0x290, Var, CRC32:0x3FE59463, Flags:0x10000 + bool 'mIsInjured' ; // Offset:0x2C4, Var, CRC32:0x1ACDC39, Flags:0x10000 + bool 'mIsLost' ; // Offset:0x2C5, Var, CRC32:0xDFE43897, Flags:0x10000 + bool 'mIsRescue' ; // Offset:0x2C6, Var, CRC32:0x1397AD7C, Flags:0x10000 + bool 'mIsReturnTerritory' ; // Offset:0x2C7, Var, CRC32:0x4AF3F540, Flags:0x10000 + u32 'Xe[g' ; // Offset:0x2C8, Var, CRC32:0x335EA26F, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x440, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x441, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x442, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x443, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x444, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x445, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x446, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x447, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x448, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x449, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x450, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x451, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x452, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x453, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x454, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x455, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x456, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x457, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x458, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x459, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x460, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x461, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x462, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x463, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x464, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x465, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x466, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x467, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x468, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x469, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x470, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x471, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x472, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x473, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x474, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x475, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x476, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x477, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x478, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x479, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47F, Var, CRC32:0xFA4BD168, Flags:0x10000 + f32 'G`g{' ; // Offset:0xB3C, Var, CRC32:0xAFC8D1A0, Flags:0x10000 + f32 'Ԉُl' ; // Offset:0xB40, Var, CRC32:0x7DD3028B, Flags:0x10000 + u32 '^[WŒԍ' ; // Offset:0xC10, Var, CRC32:0x15E1496, Flags:0x10000 + u32 '^[W_l' ; // Offset:0xC14, Var, CRC32:0x91D69B8F, Flags:0x10000 + s32 'LV' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x472320, Setter:0x4739C0, CRC32:0x60E219C8, Flags:0x810000 + bool 'mIsDead'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x472520, Setter:0x4738B0, GetCount:0x472410, Reallocate:0x4736C0 CRC32:0x7284F519, Flags:0xA10000 +}; + +// cContextInstEm vftable:0x1AF7A6C, Size:0xC60, CRC32:0x50090000, CalcCRC:0x1235FB2F +class cContextInstEm /*: cContextInstChar, cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 + u32 'sԍ' ; // Offset:0x7C, Var, CRC32:0xE9D2143D, Flags:0x10000 + f32 'ړx' ; // Offset:0x1CC, Var, CRC32:0x9079A5FA, Flags:0x10000 + f32 'ړ' ; // Offset:0x1D0, Var, CRC32:0x5167433F, Flags:0x10000 + u16 'ʃ[N' ; // Offset:0x1D4, Var, CRC32:0xA14433F3, Flags:0x10000 + u16 'PL,GpR[N' ; // Offset:0x1D6, Var, CRC32:0xB9C0A613, Flags:0x10000 + u64 'mTargetUid' ; // Offset:0x278, Var, CRC32:0x448D00F4, Flags:0x10000 + f64 'mTargetPos.x' ; // Offset:0x280, Var, CRC32:0xD1EBF54F, Flags:0x10000 + f32 'mTargetPos.y' ; // Offset:0x288, Var, CRC32:0xA6ECC5D9, Flags:0x10000 + f64 'mTargetPos.z' ; // Offset:0x290, Var, CRC32:0x3FE59463, Flags:0x10000 + bool 'mIsInjured' ; // Offset:0x2C4, Var, CRC32:0x1ACDC39, Flags:0x10000 + bool 'mIsLost' ; // Offset:0x2C5, Var, CRC32:0xDFE43897, Flags:0x10000 + bool 'mIsRescue' ; // Offset:0x2C6, Var, CRC32:0x1397AD7C, Flags:0x10000 + bool 'mIsReturnTerritory' ; // Offset:0x2C7, Var, CRC32:0x4AF3F540, Flags:0x10000 + u32 'Xe[g' ; // Offset:0x2C8, Var, CRC32:0x335EA26F, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x440, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x441, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x442, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x443, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x444, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x445, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x446, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x447, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x448, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x449, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x450, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x451, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x452, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x453, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x454, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x455, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x456, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x457, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x458, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x459, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x460, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x461, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x462, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x463, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x464, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x465, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x466, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x467, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x468, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x469, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x470, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x471, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x472, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x473, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x474, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x475, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x476, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x477, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x478, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x479, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47F, Var, CRC32:0xFA4BD168, Flags:0x10000 + f32 'G`g{' ; // Offset:0xB3C, Var, CRC32:0xAFC8D1A0, Flags:0x10000 + f32 'Ԉُl' ; // Offset:0xB40, Var, CRC32:0x7DD3028B, Flags:0x10000 + u32 '^[WŒԍ' ; // Offset:0xC10, Var, CRC32:0x15E1496, Flags:0x10000 + u32 '^[W_l' ; // Offset:0xC14, Var, CRC32:0x91D69B8F, Flags:0x10000 + s32 'LV' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x472320, Setter:0x4739C0, CRC32:0x60E219C8, Flags:0x810000 + bool 'mIsDead'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x472520, Setter:0x4738B0, GetCount:0x472410, Reallocate:0x4736C0 CRC32:0x7284F519, Flags:0xA10000 +}; + +// cContextInstHm vftable:0x1AF7A2C, Size:0x3A90, CRC32:0x50070000, CalcCRC:0x279B8562 +class cContextInstHm /*: cContextInstChar, cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + s32 'Xe[W' ; // Offset:0x34, Var, CRC32:0x4E0884E4, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 + u32 'sԍ' ; // Offset:0x7C, Var, CRC32:0xE9D2143D, Flags:0x10000 + f32 'ړx' ; // Offset:0x1CC, Var, CRC32:0x9079A5FA, Flags:0x10000 + f32 'ړ' ; // Offset:0x1D0, Var, CRC32:0x5167433F, Flags:0x10000 + u16 'ʃ[N' ; // Offset:0x1D4, Var, CRC32:0xA14433F3, Flags:0x10000 + u16 'PL,GpR[N' ; // Offset:0x1D6, Var, CRC32:0xB9C0A613, Flags:0x10000 + u64 'mTargetUid' ; // Offset:0x278, Var, CRC32:0x448D00F4, Flags:0x10000 + f64 'mTargetPos.x' ; // Offset:0x280, Var, CRC32:0xD1EBF54F, Flags:0x10000 + f32 'mTargetPos.y' ; // Offset:0x288, Var, CRC32:0xA6ECC5D9, Flags:0x10000 + f64 'mTargetPos.z' ; // Offset:0x290, Var, CRC32:0x3FE59463, Flags:0x10000 + bool 'mIsInjured' ; // Offset:0x2C4, Var, CRC32:0x1ACDC39, Flags:0x10000 + bool 'mIsLost' ; // Offset:0x2C5, Var, CRC32:0xDFE43897, Flags:0x10000 + bool 'mIsRescue' ; // Offset:0x2C6, Var, CRC32:0x1397AD7C, Flags:0x10000 + bool 'mIsReturnTerritory' ; // Offset:0x2C7, Var, CRC32:0x4AF3F540, Flags:0x10000 + u32 'Xe[g' ; // Offset:0x2C8, Var, CRC32:0x335EA26F, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x440, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x441, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x442, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x443, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x444, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x445, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x446, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x447, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x448, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x449, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x450, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x451, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x452, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x453, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x454, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x455, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x456, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x457, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x458, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x459, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x460, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x461, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x462, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x463, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x464, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x465, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x466, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x467, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x468, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x469, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x470, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x471, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x472, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x473, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x474, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x475, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x476, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x477, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x478, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x479, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47F, Var, CRC32:0xFA4BD168, Flags:0x10000 + f32 'G`g{' ; // Offset:0xB3C, Var, CRC32:0xAFC8D1A0, Flags:0x10000 + f32 'Ԉُl' ; // Offset:0xB40, Var, CRC32:0x7DD3028B, Flags:0x10000 + u32 '^[WŒԍ' ; // Offset:0xC10, Var, CRC32:0x15E1496, Flags:0x10000 + u32 '^[W_l' ; // Offset:0xC14, Var, CRC32:0x91D69B8F, Flags:0x10000 + u8 '' ; // Offset:0xC32, Var, CRC32:0xC1512637, Flags:0x10000 + u8 'J[^Cv' ; // Offset:0xC33, Var, CRC32:0xE5ECDBE5, Flags:0x10000 + u8 'Wu' ; // Offset:0xC34, Var, CRC32:0x777D711A, Flags:0x10000 + s32 'WIndex' ; // Offset:0x1264, Var, CRC32:0xDE881386, Flags:0x10000 + f32 'Xg' ; // Offset:0x1284, Var, CRC32:0x423C18AF, Flags:0x10000 + s32 'PlLoadWep' ; // Offset:0x1288, Var, CRC32:0xA7835513, Flags:0x10000 + s32 'PlLoadStatus' ; // Offset:0x128C, Var, CRC32:0x4B15C762, Flags:0x10000 + u8 'HumanType' ; // Offset:0x21E0, Var, CRC32:0x9A6FCA47, Flags:0x10000 + u8 'PawnType' ; // Offset:0x21E1, Var, CRC32:0xDFB7475F, Flags:0x10000 + u32 'CharId' ; // Offset:0x21E4, Var, CRC32:0xD1386747, Flags:0x10000 + u32 'PawnId' ; // Offset:0x21E8, Var, CRC32:0x39242754, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A00, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A10, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A20, Var, CRC32:0xA516C63A, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A30, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A34, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A38, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A3C, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A40, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A44, Var, CRC32:0x31474CD1, Flags:0x10000 + bool 'Ability099' ; // Offset:0x3A58, Var, CRC32:0xDC5ED89D, Flags:0x10000 + bool 'Guts' ; // Offset:0x3A59, Var, CRC32:0x81D76A8, Flags:0x0 + bool 'Ability370' ; // Offset:0x3A5A, Var, CRC32:0x3947F3EE, Flags:0x10000 + bool 'mIsDead'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x472520, Setter:0x4738B0, GetCount:0x472410, Reallocate:0x4736C0 CRC32:0x7284F519, Flags:0xA10000 + s32 'LV' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x472320, Setter:0x4739C0, CRC32:0x60E219C8, Flags:0x810000 +}; + +// cContextInstHmEm vftable:0x1AF7AAC, Size:0x3A90, CRC32:0x500C0000, CalcCRC:0x7414FFB4 +class cContextInstHmEm /*: cContextInstHm, cContextInstChar, cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + s32 'Xe[W' ; // Offset:0x34, Var, CRC32:0x4E0884E4, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 + u32 'sԍ' ; // Offset:0x7C, Var, CRC32:0xE9D2143D, Flags:0x10000 + f32 'ړx' ; // Offset:0x1CC, Var, CRC32:0x9079A5FA, Flags:0x10000 + f32 'ړ' ; // Offset:0x1D0, Var, CRC32:0x5167433F, Flags:0x10000 + u16 'ʃ[N' ; // Offset:0x1D4, Var, CRC32:0xA14433F3, Flags:0x10000 + u16 'PL,GpR[N' ; // Offset:0x1D6, Var, CRC32:0xB9C0A613, Flags:0x10000 + u64 'mTargetUid' ; // Offset:0x278, Var, CRC32:0x448D00F4, Flags:0x10000 + f64 'mTargetPos.x' ; // Offset:0x280, Var, CRC32:0xD1EBF54F, Flags:0x10000 + f32 'mTargetPos.y' ; // Offset:0x288, Var, CRC32:0xA6ECC5D9, Flags:0x10000 + f64 'mTargetPos.z' ; // Offset:0x290, Var, CRC32:0x3FE59463, Flags:0x10000 + bool 'mIsInjured' ; // Offset:0x2C4, Var, CRC32:0x1ACDC39, Flags:0x10000 + bool 'mIsLost' ; // Offset:0x2C5, Var, CRC32:0xDFE43897, Flags:0x10000 + bool 'mIsRescue' ; // Offset:0x2C6, Var, CRC32:0x1397AD7C, Flags:0x10000 + bool 'mIsReturnTerritory' ; // Offset:0x2C7, Var, CRC32:0x4AF3F540, Flags:0x10000 + u32 'Xe[g' ; // Offset:0x2C8, Var, CRC32:0x335EA26F, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x440, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x441, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x442, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x443, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x444, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x445, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x446, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x447, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x448, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x449, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x450, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x451, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x452, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x453, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x454, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x455, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x456, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x457, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x458, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x459, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x460, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x461, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x462, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x463, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x464, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x465, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x466, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x467, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x468, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x469, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x470, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x471, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x472, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x473, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x474, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x475, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x476, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x477, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x478, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x479, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47F, Var, CRC32:0xFA4BD168, Flags:0x10000 + f32 'G`g{' ; // Offset:0xB3C, Var, CRC32:0xAFC8D1A0, Flags:0x10000 + f32 'Ԉُl' ; // Offset:0xB40, Var, CRC32:0x7DD3028B, Flags:0x10000 + u32 '^[WŒԍ' ; // Offset:0xC10, Var, CRC32:0x15E1496, Flags:0x10000 + u32 '^[W_l' ; // Offset:0xC14, Var, CRC32:0x91D69B8F, Flags:0x10000 + u8 '' ; // Offset:0xC32, Var, CRC32:0xC1512637, Flags:0x10000 + u8 'J[^Cv' ; // Offset:0xC33, Var, CRC32:0xE5ECDBE5, Flags:0x10000 + u8 'Wu' ; // Offset:0xC34, Var, CRC32:0x777D711A, Flags:0x10000 + s32 'WIndex' ; // Offset:0x1264, Var, CRC32:0xDE881386, Flags:0x10000 + f32 'Xg' ; // Offset:0x1284, Var, CRC32:0x423C18AF, Flags:0x10000 + s32 'PlLoadWep' ; // Offset:0x1288, Var, CRC32:0xA7835513, Flags:0x10000 + s32 'PlLoadStatus' ; // Offset:0x128C, Var, CRC32:0x4B15C762, Flags:0x10000 + u8 'HumanType' ; // Offset:0x21E0, Var, CRC32:0x9A6FCA47, Flags:0x10000 + u8 'PawnType' ; // Offset:0x21E1, Var, CRC32:0xDFB7475F, Flags:0x10000 + u32 'CharId' ; // Offset:0x21E4, Var, CRC32:0xD1386747, Flags:0x10000 + u32 'PawnId' ; // Offset:0x21E8, Var, CRC32:0x39242754, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A00, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A10, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A20, Var, CRC32:0xA516C63A, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A30, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A34, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A38, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A3C, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A40, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A44, Var, CRC32:0x31474CD1, Flags:0x10000 + bool 'Ability099' ; // Offset:0x3A58, Var, CRC32:0xDC5ED89D, Flags:0x10000 + bool 'Guts' ; // Offset:0x3A59, Var, CRC32:0x81D76A8, Flags:0x0 + bool 'Ability370' ; // Offset:0x3A5A, Var, CRC32:0x3947F3EE, Flags:0x10000 + bool 'mIsDead'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x472520, Setter:0x4738B0, GetCount:0x472410, Reallocate:0x4736C0 CRC32:0x7284F519, Flags:0xA10000 + s32 'LV' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x472320, Setter:0x4739C0, CRC32:0x60E219C8, Flags:0x810000 +}; + +// cContextInstNpc vftable:0x1AF7A8C, Size:0x3A90, CRC32:0x500A0000, CalcCRC:0xCC1BBBD +class cContextInstNpc /*: cContextInstHm, cContextInstChar, cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + s32 'Xe[W' ; // Offset:0x34, Var, CRC32:0x4E0884E4, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 + u32 'sԍ' ; // Offset:0x7C, Var, CRC32:0xE9D2143D, Flags:0x10000 + f32 'ړx' ; // Offset:0x1CC, Var, CRC32:0x9079A5FA, Flags:0x10000 + f32 'ړ' ; // Offset:0x1D0, Var, CRC32:0x5167433F, Flags:0x10000 + u16 'ʃ[N' ; // Offset:0x1D4, Var, CRC32:0xA14433F3, Flags:0x10000 + u16 'PL,GpR[N' ; // Offset:0x1D6, Var, CRC32:0xB9C0A613, Flags:0x10000 + u64 'mTargetUid' ; // Offset:0x278, Var, CRC32:0x448D00F4, Flags:0x10000 + f64 'mTargetPos.x' ; // Offset:0x280, Var, CRC32:0xD1EBF54F, Flags:0x10000 + f32 'mTargetPos.y' ; // Offset:0x288, Var, CRC32:0xA6ECC5D9, Flags:0x10000 + f64 'mTargetPos.z' ; // Offset:0x290, Var, CRC32:0x3FE59463, Flags:0x10000 + bool 'mIsInjured' ; // Offset:0x2C4, Var, CRC32:0x1ACDC39, Flags:0x10000 + bool 'mIsLost' ; // Offset:0x2C5, Var, CRC32:0xDFE43897, Flags:0x10000 + bool 'mIsRescue' ; // Offset:0x2C6, Var, CRC32:0x1397AD7C, Flags:0x10000 + bool 'mIsReturnTerritory' ; // Offset:0x2C7, Var, CRC32:0x4AF3F540, Flags:0x10000 + u32 'Xe[g' ; // Offset:0x2C8, Var, CRC32:0x335EA26F, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x440, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x441, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x442, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x443, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x444, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x445, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x446, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x447, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x448, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x449, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x450, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x451, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x452, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x453, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x454, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x455, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x456, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x457, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x458, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x459, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x460, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x461, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x462, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x463, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x464, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x465, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x466, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x467, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x468, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x469, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x470, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x471, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x472, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x473, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x474, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x475, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x476, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x477, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x478, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x479, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47F, Var, CRC32:0xFA4BD168, Flags:0x10000 + f32 'G`g{' ; // Offset:0xB3C, Var, CRC32:0xAFC8D1A0, Flags:0x10000 + f32 'Ԉُl' ; // Offset:0xB40, Var, CRC32:0x7DD3028B, Flags:0x10000 + u32 '^[WŒԍ' ; // Offset:0xC10, Var, CRC32:0x15E1496, Flags:0x10000 + u32 '^[W_l' ; // Offset:0xC14, Var, CRC32:0x91D69B8F, Flags:0x10000 + u8 '' ; // Offset:0xC32, Var, CRC32:0xC1512637, Flags:0x10000 + u8 'J[^Cv' ; // Offset:0xC33, Var, CRC32:0xE5ECDBE5, Flags:0x10000 + u8 'Wu' ; // Offset:0xC34, Var, CRC32:0x777D711A, Flags:0x10000 + s32 'WIndex' ; // Offset:0x1264, Var, CRC32:0xDE881386, Flags:0x10000 + f32 'Xg' ; // Offset:0x1284, Var, CRC32:0x423C18AF, Flags:0x10000 + s32 'PlLoadWep' ; // Offset:0x1288, Var, CRC32:0xA7835513, Flags:0x10000 + s32 'PlLoadStatus' ; // Offset:0x128C, Var, CRC32:0x4B15C762, Flags:0x10000 + u8 'HumanType' ; // Offset:0x21E0, Var, CRC32:0x9A6FCA47, Flags:0x10000 + u8 'PawnType' ; // Offset:0x21E1, Var, CRC32:0xDFB7475F, Flags:0x10000 + u32 'CharId' ; // Offset:0x21E4, Var, CRC32:0xD1386747, Flags:0x10000 + u32 'PawnId' ; // Offset:0x21E8, Var, CRC32:0x39242754, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A00, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A10, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A20, Var, CRC32:0xA516C63A, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A30, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A34, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A38, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A3C, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A40, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A44, Var, CRC32:0x31474CD1, Flags:0x10000 + bool 'Ability099' ; // Offset:0x3A58, Var, CRC32:0xDC5ED89D, Flags:0x10000 + bool 'Guts' ; // Offset:0x3A59, Var, CRC32:0x81D76A8, Flags:0x0 + bool 'Ability370' ; // Offset:0x3A5A, Var, CRC32:0x3947F3EE, Flags:0x10000 + bool 'mIsDead'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x472520, Setter:0x4738B0, GetCount:0x472410, Reallocate:0x4736C0 CRC32:0x7284F519, Flags:0xA10000 + s32 'LV' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x472320, Setter:0x4739C0, CRC32:0x60E219C8, Flags:0x810000 +}; + +// cContextInstOm vftable:0x1AF7ACC, Size:0x78, CRC32:0x500B0000, CalcCRC:0x68DA13A5 +class cContextInstOm /*: cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 +}; + +// cContextInstPl vftable:0x1AF7A4C, Size:0x3AA0, CRC32:0x50080000, CalcCRC:0x52872DAD +class cContextInstPl /*: cContextInstHm, cContextInstChar, cContextInstance, cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + s32 'Xe[W' ; // Offset:0x34, Var, CRC32:0x4E0884E4, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 + u32 'sԍ' ; // Offset:0x7C, Var, CRC32:0xE9D2143D, Flags:0x10000 + f32 'ړx' ; // Offset:0x1CC, Var, CRC32:0x9079A5FA, Flags:0x10000 + f32 'ړ' ; // Offset:0x1D0, Var, CRC32:0x5167433F, Flags:0x10000 + u16 'ʃ[N' ; // Offset:0x1D4, Var, CRC32:0xA14433F3, Flags:0x10000 + u16 'PL,GpR[N' ; // Offset:0x1D6, Var, CRC32:0xB9C0A613, Flags:0x10000 + u64 'mTargetUid' ; // Offset:0x278, Var, CRC32:0x448D00F4, Flags:0x10000 + f64 'mTargetPos.x' ; // Offset:0x280, Var, CRC32:0xD1EBF54F, Flags:0x10000 + f32 'mTargetPos.y' ; // Offset:0x288, Var, CRC32:0xA6ECC5D9, Flags:0x10000 + f64 'mTargetPos.z' ; // Offset:0x290, Var, CRC32:0x3FE59463, Flags:0x10000 + bool 'mIsInjured' ; // Offset:0x2C4, Var, CRC32:0x1ACDC39, Flags:0x10000 + bool 'mIsLost' ; // Offset:0x2C5, Var, CRC32:0xDFE43897, Flags:0x10000 + bool 'mIsRescue' ; // Offset:0x2C6, Var, CRC32:0x1397AD7C, Flags:0x10000 + bool 'mIsReturnTerritory' ; // Offset:0x2C7, Var, CRC32:0x4AF3F540, Flags:0x10000 + u32 'Xe[g' ; // Offset:0x2C8, Var, CRC32:0x335EA26F, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x440, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x441, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x442, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x443, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x444, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x445, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x446, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x447, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x448, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x449, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x44E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x44F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x450, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x451, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x452, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x453, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x454, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x455, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x456, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x457, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x458, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x459, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x45E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x45F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x460, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x461, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x462, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x463, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x464, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x465, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x466, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x467, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x468, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x469, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x46E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x46F, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x470, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x471, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x472, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x473, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x474, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x475, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x476, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x477, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x478, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x479, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47A, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47B, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47C, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47D, Var, CRC32:0xFA4BD168, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mActiveLv'; // Offset:0x47E, Var, CRC32:0x6DF5E720, Flags:0x10000 + u8 'mOcdActiveData[nObjCondition::OCD_BANK_BAD][j].mImmuneLv'; // Offset:0x47F, Var, CRC32:0xFA4BD168, Flags:0x10000 + f32 'G`g{' ; // Offset:0xB3C, Var, CRC32:0xAFC8D1A0, Flags:0x10000 + f32 'Ԉُl' ; // Offset:0xB40, Var, CRC32:0x7DD3028B, Flags:0x10000 + u32 '^[WŒԍ' ; // Offset:0xC10, Var, CRC32:0x15E1496, Flags:0x10000 + u32 '^[W_l' ; // Offset:0xC14, Var, CRC32:0x91D69B8F, Flags:0x10000 + u8 '' ; // Offset:0xC32, Var, CRC32:0xC1512637, Flags:0x10000 + u8 'J[^Cv' ; // Offset:0xC33, Var, CRC32:0xE5ECDBE5, Flags:0x10000 + u8 'Wu' ; // Offset:0xC34, Var, CRC32:0x777D711A, Flags:0x10000 + s32 'WIndex' ; // Offset:0x1264, Var, CRC32:0xDE881386, Flags:0x10000 + f32 'Xg' ; // Offset:0x1284, Var, CRC32:0x423C18AF, Flags:0x10000 + s32 'PlLoadWep' ; // Offset:0x1288, Var, CRC32:0xA7835513, Flags:0x10000 + s32 'PlLoadStatus' ; // Offset:0x128C, Var, CRC32:0x4B15C762, Flags:0x10000 + u8 'HumanType' ; // Offset:0x21E0, Var, CRC32:0x9A6FCA47, Flags:0x10000 + u8 'PawnType' ; // Offset:0x21E1, Var, CRC32:0xDFB7475F, Flags:0x10000 + u32 'CharId' ; // Offset:0x21E4, Var, CRC32:0xD1386747, Flags:0x10000 + u32 'PawnId' ; // Offset:0x21E8, Var, CRC32:0x39242754, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A00, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A10, Var, CRC32:0xA516C63A, Flags:0x10000 + vector3 '}bṽt[}[J[ʒuW' ; // Offset:0x3A20, Var, CRC32:0xA516C63A, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A30, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A34, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[Xe[WNo.' ; // Offset:0x3A38, Var, CRC32:0x7AE12948, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A3C, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A40, Var, CRC32:0x31474CD1, Flags:0x10000 + s32 '}bṽt[}[J[O[vNo.' ; // Offset:0x3A44, Var, CRC32:0x31474CD1, Flags:0x10000 + bool 'Ability099' ; // Offset:0x3A58, Var, CRC32:0xDC5ED89D, Flags:0x10000 + bool 'Guts' ; // Offset:0x3A59, Var, CRC32:0x81D76A8, Flags:0x0 + bool 'Ability370' ; // Offset:0x3A5A, Var, CRC32:0x3947F3EE, Flags:0x10000 + u32 'mRoomNo' ; // Offset:0x3A90, Var, CRC32:0x426BE5A0, Flags:0x0 + u32 'mPlayerStatusFlag' ; // Offset:0x3A94, Var, CRC32:0xECC0507E, Flags:0x0 + bool 'mIsDead'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x472520, Setter:0x4738B0, GetCount:0x472410, Reallocate:0x4736C0 CRC32:0x7284F519, Flags:0xA10000 + s32 'LV' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x472320, Setter:0x4739C0, CRC32:0x60E219C8, Flags:0x810000 +}; + +// cContextInstance vftable:0x1AF79D8, Size:0x78, CRC32:0x50050000, CalcCRC:0x666DAA4F +class cContextInstance /*: cContext, MtObject*/ { + u8 'L' ; // Offset:0x10, Var, CRC32:0xFF40167E, Flags:0x10000 + f64 'PosX' ; // Offset:0x18, Var, CRC32:0x379F50AF, Flags:0x10000 + f32 'PosY' ; // Offset:0x20, Var, CRC32:0x40986039, Flags:0x10000 + f64 'PosZ' ; // Offset:0x28, Var, CRC32:0xD9913183, Flags:0x10000 + f32 'Dir' ; // Offset:0x30, Var, CRC32:0x7D19C30F, Flags:0x10000 + s32 'Stage' ; // Offset:0x34, Var, CRC32:0xFC424392, Flags:0x10000 + u64 'mUniqueId' ; // Offset:0x38, Var, CRC32:0xE045D83D, Flags:0x10000 + s32 'mMasterIndex' ; // Offset:0x44, Var, CRC32:0xE8EE7F3A, Flags:0x10000 + s32 'GJEgGA' ; // Offset:0x48, Var, CRC32:0x1AB598E5, Flags:0x10000 + bool 'mSetWaitFlag' ; // Offset:0x4D, Var, CRC32:0x48038C15, Flags:0x0 + u8 '͂݃^Cv' ; // Offset:0x58, Var, CRC32:0x7056E971, Flags:0x10000 + u8 '͂݃RXg֐' ; // Offset:0x59, Var, CRC32:0x1494572, Flags:0x10000 + u64 '͂ݑUID' ; // Offset:0x60, Var, CRC32:0x9C0D781F, Flags:0x10000 +}; + +// cContextInterface vftable:0x1AF83A0, Size:0xC, CRC32:0x61DAFD99 +class cContextInterface /*: MtObject*/ { +}; + +// cContextPlayerInfo vftable:0x1AF88D4, Size:0x1738, CRC32:0x50040000, CalcCRC:0x781782A5 +class cContextPlayerInfo /*: cContext, MtObject*/ { +}; + +// cContextPlayerInfo::cAbility vftable:0x1AF88C0, Size:0x10, CRC32:0x5B8952EB +class cContextPlayerInfo::cAbility /*: MtObject*/ { +}; + +// cControlParam vftable:0x1AED410, Size:0x30, CRC32:0x6AA66F59 +class cControlParam /*: MtObject*/ { +}; + +// cControlParamEnemy vftable:0x1AED42C, Size:0x3C, CRC32:0x535EF2EB +class cControlParamEnemy /*: MtObject*/ { +}; + +// cCorePointInfo vftable:0x1AED924, Size:0x38, CRC32:0x41D95D7 +class cCorePointInfo /*: MtObject*/ { +}; + +// cCorePointInfoArmed vftable:0x1AED984, Size:0x38, CRC32:0x77263CC6 +class cCorePointInfoArmed /*: cCorePointInfo, MtObject*/ { +}; + +// cCorePointInfoBlaze vftable:0x1AED9B4, Size:0x38, CRC32:0x3307A1D6 +class cCorePointInfoBlaze /*: cCorePointInfo, MtObject*/ { +}; + +// cCorePointInfoNormal vftable:0x1AED954, Size:0x40, CRC32:0x244C6F18 +class cCorePointInfoNormal /*: cCorePointInfo, MtObject*/ { +}; + +// cCorePointMsg vftable:0x1AF79BC, Size:0x18, CRC32:0x49D136BF +class cCorePointMsg /*: MtObject*/ { +}; + +// cCorePointReqestInfo vftable:0x1AED9DC, Size:0x20, CRC32:0x77A958C2 +class cCorePointReqestInfo /*: MtObject*/ { +}; + +// cCraftCapPassData vftable:0x1C532E8, Size:0x10, CRC32:0x4101FB79 +class cCraftCapPassData /*: MtObject*/ { + u32 'mRecipeId' ; // Offset:0x4, Var, CRC32:0x2E528AC9, Flags:0x0 + u16 'mStartLv' ; // Offset:0x8, Var, CRC32:0x808B0B67, Flags:0x0 + u16 'mLvCap' ; // Offset:0xA, Var, CRC32:0x773F1093, Flags:0x0 + u16 'mVer' ; // Offset:0xC, Var, CRC32:0xD947D2CD, Flags:0x0 + u8 'mRound' ; // Offset:0xE, Var, CRC32:0x385A70F5, Flags:0x0 + u8 'mType' ; // Offset:0xF, Var, CRC32:0x55D79C15, Flags:0x0 +}; + +// cCraftElementExpData vftable:0x1C53414, Size:0x18, CRC32:0x15540D84 +class cCraftElementExpData /*: MtObject*/ { + u64 'mExp' ; // Offset:0x8, Var, CRC32:0xD645C2D4, Flags:0x0 + u32 'mPrice' ; // Offset:0x10, Var, CRC32:0x377CB818, Flags:0x0 +}; + +// cCraftParam vftable:0x1B174CC, Size:0x48, CRC32:0x311BDB67 +class cCraftParam /*: MtObject*/ { +}; + +// cCraftPlusItem vftable:0x1AF9240, Size:0x8, CRC32:0x14E2E7D4 +class cCraftPlusItem /*: MtObject*/ { +}; + +// cCraftQualityData vftable:0x1C539B0, Size:0x10, CRC32:0x145DD19F +class cCraftQualityData /*: MtObject*/ { + u32 'KACeID' ; // Offset:0x4, Var, CRC32:0x70067406, Flags:0x0 + u32 'i{[iX' ; // Offset:0x8, Var, CRC32:0x50DE96A4, Flags:0x0 + u16 'N' ; // Offset:0xC, Var, CRC32:0xB50E203A, Flags:0x0 + u8 'x' ; // Offset:0xE, Var, CRC32:0x6DC5D4A4, Flags:0x0 +}; + +// cCraftRecipe vftable:0x1AF9864, Size:0xBC, CRC32:0x4FAD7062 +class cCraftRecipe /*: MtObject*/ { +}; + +// cCraftRecipe::cCraftRecipeList vftable:0x1AF983C, Size:0x34, CRC32:0x5E00A104 +class cCraftRecipe::cCraftRecipeList /*: MtObject*/ { +}; + +// cCraftSkill vftable:0x1AF98D8, Size:0x10, CRC32:0x4BDC4399 +class cCraftSkill /*: MtObject*/ { + custom 'mpCostResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48DDA0, Setter:0x48DEE0, CRC32:0xBBB2E75B, Flags:0x800000 + custom 'mpSpdResourceSp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48DE30, Setter:0x48DF40, CRC32:0x86A17EF2, Flags:0x800000 + custom 'mpSpdResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48DE20, Setter:0x48DF10, CRC32:0xAB412595, Flags:0x800000 +}; + +// cCraftSkillCostData vftable:0x1C5590C, Size:0x18, CRC32:0x49988683 +class cCraftSkillCostData /*: MtObject*/ { + u32 'XLv' ; // Offset:0x4, Var, CRC32:0xDD9DC89, Flags:0x0 + f32 '팸(Pl)' ; // Offset:0x8, Var, CRC32:0x56506B4, Flags:0x0 + f32 '팸(Ql)' ; // Offset:0xC, Var, CRC32:0xBDD961D1, Flags:0x0 + f32 '팸(Rl)' ; // Offset:0x10, Var, CRC32:0xAF6CCE3F, Flags:0x0 + f32 '팸(Sl)' ; // Offset:0x14, Var, CRC32:0x17D0A95A, Flags:0x0 +}; + +// cCraftSkillSpdData vftable:0x1C55A50, Size:0xC, CRC32:0x47FD1C55 +class cCraftSkillSpdData /*: MtObject*/ { + u32 '[_[Z' ; // Offset:0x4, Var, CRC32:0xC85F06E3, Flags:0x0 + u32 '⏕Z' ; // Offset:0x8, Var, CRC32:0x2587C734, Flags:0x0 +}; + +// cCraftUpGradeExpData vftable:0x1C53AE0, Size:0x10, CRC32:0x388B40F2 +class cCraftUpGradeExpData /*: MtObject*/ { + u64 'mExpMax' ; // Offset:0x8, Var, CRC32:0x2F802092, Flags:0x0 +}; + +// cCrestParam vftable:0x1B174B0, Size:0x10, CRC32:0xB766F4 +class cCrestParam /*: MtObject*/ { +}; + +// cCursor vftable:0x1AF9DB8, Size:0x1C, CRC32:0x2BDCB8E2 +class cCursor /*: MtObject*/ { + bool 'mIsStop' ; // Offset:0x4, Var, CRC32:0x26F7AA8B, Flags:0x0 + bool 'mIsLoop' ; // Offset:0x5, Var, CRC32:0x3EFEA1D3, Flags:0x0 + bool 'mIsTrg' ; // Offset:0x6, Var, CRC32:0x73541E71, Flags:0x0 + bool 'mIsArrowOnly' ; // Offset:0x7, Var, CRC32:0xD38CF0E, Flags:0x0 + s32 'mMaxX' ; // Offset:0xC, Var, CRC32:0xFA42B0D1, Flags:0x0 + s32 'mMinX' ; // Offset:0x10, Var, CRC32:0xE8C954BE, Flags:0x0 + s32 'mMaxY' ; // Offset:0x14, Var, CRC32:0x8D458047, Flags:0x0 + s32 'mMinY' ; // Offset:0x18, Var, CRC32:0x9FCE6428, Flags:0x0 +}; + +// cCustomShlLimit vftable:0x1C6D9F0, Size:0x14, CRC32:0x15308CBB +class cCustomShlLimit /*: MtObject*/ { +}; + +// cCustomWeatherParam vftable:0x1CA6604, Size:0xB0, CRC32:0x15D385B +class cCustomWeatherParam /*: MtObject*/ { + u32 'CustomFlag'[1] ; // Offset:0x4, Array, CRC32:0x21B65A30, Flags:0x200000 + u32 'mCustomKeepFlag' ; // Offset:0xA0, Var, CRC32:0xC0E0C556, Flags:0x0 + vector3 'FogColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BC80, Setter:0xC1E570, CRC32:0x7C9578E2, Flags:0x800000 + f32 'FogExponentDensity' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BCC0, Setter:0xC1E5B0, CRC32:0x861C3148, Flags:0x800000 + f32 'FogEnd' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BCB0, Setter:0xC1E5A0, CRC32:0xED5F3448, Flags:0x800000 + f32 'FogStart' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BCD0, Setter:0xC1E5C0, CRC32:0x85BA6584, Flags:0x800000 + vector3 'GrassWindDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BD00, Setter:0xC1E5F0, CRC32:0x95234FC1, Flags:0x800000 + f32 'GrassFadeEndDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BCF0, Setter:0xC1E5E0, CRC32:0x8FE535E5, Flags:0x800000 + f32 'GrassFadeBeginDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BCE0, Setter:0xC1E5D0, CRC32:0x6606C91, Flags:0x800000 + vector3 'GrassWindDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BD00, Setter:0xC1E5F0, CRC32:0x95234FC1, Flags:0x800000 + vector3 'HemiLightRevColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BD50, Setter:0xC1E640, CRC32:0xA4FAF1C5, Flags:0x800000 + vector3 'HemiLightColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BD30, Setter:0xC1E620, CRC32:0x352B673F, Flags:0x800000 + vector3 'SunDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BED0, Setter:0xC1E6E0, CRC32:0x534B2E68, Flags:0x800000 + vector3 'ShadowDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BE60, Setter:0xC1E670, CRC32:0x7FAEBAAA, Flags:0x800000 + f32 'ShadowGroup1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BEA0, Setter:0xC1E6B0, CRC32:0xE4A7981C, Flags:0x800000 + f32 'ShadowGroup0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BE90, Setter:0xC1E6A0, CRC32:0x93A0A88A, Flags:0x800000 + f32 'ShadowDistanceScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BE80, Setter:0xC1E690, CRC32:0xE601FDA2, Flags:0x800000 + f32 'ShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BEB0, Setter:0xC1E6C0, CRC32:0xC8C4B5C8, Flags:0x800000 + f32 'ShadowDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BE50, Setter:0xC1E660, CRC32:0x2AD90E22, Flags:0x800000 + f32 'ShadowViewDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BEC0, Setter:0xC1E6D0, CRC32:0xEA09B56A, Flags:0x800000 + u32 'WeatherTime Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BF30, Setter:0xC1E770, CRC32:0xD22C9640, Flags:0x800000 + u32 'WeatherTime Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BF00, Setter:0xC1E710, CRC32:0xA34824F9, Flags:0x800000 + u32 'WeatherTime Full' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BEF0, Setter:0xC1E700, CRC32:0x3329E117, Flags:0x800000 + u32 'WeatherID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1BF70, Setter:0xC1E7C0, CRC32:0x887997F1, Flags:0x800000 +}; + +// cCycle01QuestManager vftable:0x1AFA2F0, Size:0xA4, CRC32:0x478A62F5 +class cCycle01QuestManager /*: cCycleQuestManagerBase, cQuestManagerBase, MtObject*/ { +}; + +// cCycle04QuestManager vftable:0x1AFAD38, Size:0xD0, CRC32:0x5AA5D1E6 +class cCycle04QuestManager /*: cCycleQuestManagerBase, cQuestManagerBase, MtObject*/ { +}; + +// cCycle04QuestManager::cClearTimeBonus vftable:0x1AFADBC, Size:0xC, CRC32:0x39E15343 +class cCycle04QuestManager::cClearTimeBonus /*: MtObject*/ { +}; + +// cCycle04QuestManager::cRegionBreakReward vftable:0x1AFADDC, Size:0x8, CRC32:0x1D764FAE +class cCycle04QuestManager::cRegionBreakReward /*: MtObject*/ { +}; + +// cCycleContentsSortieInfo vftable:0x1C53C40, Size:0x1C, CRC32:0x45E73D2 +class cCycleContentsSortieInfo /*: MtObject*/ { +}; + +// cCyclePartInfo vftable:0x1B01EE4, Size:0x48, CRC32:0xBE5A5C1 +class cCyclePartInfo /*: MtObject*/ { +}; + +// cCyclePartReqInfo vftable:0x1B01EC8, Size:0x2C, CRC32:0x67197762 +class cCyclePartReqInfo /*: MtObject*/ { +}; + +// cCycleQuestManagerBase::cDieEmInfo vftable:0x1AFB8BC, Size:0xC, CRC32:0x764682C0 +class cCycleQuestManagerBase::cDieEmInfo /*: MtObject*/ { +}; + +// cCycleQuestSubCategoryManager vftable:0x1AFBE00, Size:0x70, CRC32:0x4B033A79 +class cCycleQuestSubCategoryManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cCycleQuestSubCategoryManager::cCycleContentsTaskInfo vftable:0x1AFBE50, Size:0xC, CRC32:0x555D60FF +class cCycleQuestSubCategoryManager::cCycleContentsTaskInfo /*: MtObject*/ { +}; + +// cDDMaterialCtrl vftable:0x1AFEE98, Size:0xF40, CRC32:0x64EB968A +class cDDMaterialCtrl /*: MtObject*/ { + event 'ResetAllMode' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x814DBE4A, Flags:0xA0000 + classref 'MaterialData'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49BE00, Setter:0x4A3CF0, GetCount:0x49BE20, Reallocate:0x4A3D00 CRC32:0x115E7D56, Flags:0xA00000 + classref 'OutlineData'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49BEF0, Setter:0x4A3DA0, GetCount:0x49BF00, Reallocate:0x4A3DB0 CRC32:0xBA24D6AB, Flags:0xA00000 + classref 'EmissionShader'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49BB00, Setter:0x4A3BC0, GetCount:0x49BB10, Reallocate:0x4A3BD0 CRC32:0x6DB7199, Flags:0xA00000 + classref 'AilmentsShader'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49C0A0, Setter:0x4A4090, GetCount:0x49C0B0, Reallocate:0x4A40A0 CRC32:0xD2E440DC, Flags:0xA00000 + classref 'BaseShader'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49B080, Setter:0x49F6F0, GetCount:0x49B090, Reallocate:0x49F700 CRC32:0x7FEE1A7F, Flags:0xA00000 + u32 'mMaterialMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE30, Setter:0x4A3D10, CRC32:0x1619F353, Flags:0x800000 + u32 'mOutlineMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BF10, Setter:0x4A3E30, CRC32:0x26B27806, Flags:0x800000 + u32 'mEmissionMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BB30, Setter:0x4A3C00, CRC32:0x9BE51447, Flags:0x800000 + u32 'mShaderMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C0C0, Setter:0x4A40B0, CRC32:0x148F59C7, Flags:0x800000 + u32 'mBaseShaderMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B0A0, Setter:0x49F710, CRC32:0x8C4E5EE5, Flags:0x800000 +}; + +// cDDMaterialCtrl::cShaderData vftable:0x1AFDB70, Size:0x14, CRC32:0x6E4F3952 +class cDDMaterialCtrl::cShaderData /*: MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataAnimation vftable:0x1AFEC30, Size:0x2C, CRC32:0x31814C15 +class cDDMaterialCtrl::cShaderDataAnimation /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataAnimation::cAnimData vftable:0x1AFEC04, Size:0x114, CRC32:0x3CCD6A7E +class cDDMaterialCtrl::cShaderDataAnimation::cAnimData /*: MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataAnimationToDefault vftable:0x1AFECA0, Size:0x2C, CRC32:0x7068B55A +class cDDMaterialCtrl::cShaderDataAnimationToDefault /*: cDDMaterialCtrl::cShaderDataAnimation, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataBloodStain vftable:0x1AFE0B8, Size:0x2C, CRC32:0x17D7F4FB +class cDDMaterialCtrl::cShaderDataBloodStain /*: cDDMaterialCtrl::cShaderDataDamage, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mAlphaClipThreshold' ; // Offset:0x14, Var, CRC32:0xF63CDC3D, Flags:0x0 + f32 'mBlendAlphaThreshold' ; // Offset:0x18, Var, CRC32:0xCA3E7911, Flags:0x0 + f32 'mBlendAlphaBand' ; // Offset:0x1C, Var, CRC32:0xE344EABA, Flags:0x0 + f32 'mAlbedoBlendRate' ; // Offset:0x20, Var, CRC32:0x46A00624, Flags:0x0 + f32 'mEmissionFactor' ; // Offset:0x24, Var, CRC32:0xAC484E7E, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataConstantMaterialColor vftable:0x1AFEB50, Size:0x50, CRC32:0x49ED677C +class cDDMaterialCtrl::cShaderDataConstantMaterialColor /*: cDDMaterialCtrl::cShaderDataMaterialColor, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { + bool 'mTargetAll' ; // Offset:0x18, Var, CRC32:0x2C0E772F, Flags:0x0 + vector4 'mDiffuseColor' ; // Offset:0x20, Var, CRC32:0x5294F02D, Flags:0x0 + vector4 'mSpecularColor' ; // Offset:0x30, Var, CRC32:0xA9D46E0D, Flags:0x0 + f32 'mDiffuseColorRate' ; // Offset:0x40, Var, CRC32:0x294E34EE, Flags:0x0 + f32 'mSpecularColorRate' ; // Offset:0x44, Var, CRC32:0xA4E76ABB, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataDamage vftable:0x1AFDFB0, Size:0x28, CRC32:0x2ADA3633 +class cDDMaterialCtrl::cShaderDataDamage /*: cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mAlphaClipThreshold' ; // Offset:0x14, Var, CRC32:0xF63CDC3D, Flags:0x0 + f32 'mBlendAlphaThreshold' ; // Offset:0x18, Var, CRC32:0xCA3E7911, Flags:0x0 + f32 'mBlendAlphaBand' ; // Offset:0x1C, Var, CRC32:0xE344EABA, Flags:0x0 + f32 'mAlbedoBlendRate' ; // Offset:0x20, Var, CRC32:0x46A00624, Flags:0x0 + f32 'mEmissionFactor' ; // Offset:0x24, Var, CRC32:0xAC484E7E, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataDamageDrawOn vftable:0x1AFE008, Size:0x28, CRC32:0x48A8A81D +class cDDMaterialCtrl::cShaderDataDamageDrawOn /*: cDDMaterialCtrl::cShaderDataDamage, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mAlphaClipThreshold' ; // Offset:0x14, Var, CRC32:0xF63CDC3D, Flags:0x0 + f32 'mBlendAlphaThreshold' ; // Offset:0x18, Var, CRC32:0xCA3E7911, Flags:0x0 + f32 'mBlendAlphaBand' ; // Offset:0x1C, Var, CRC32:0xE344EABA, Flags:0x0 + f32 'mAlbedoBlendRate' ; // Offset:0x20, Var, CRC32:0x46A00624, Flags:0x0 + f32 'mEmissionFactor' ; // Offset:0x24, Var, CRC32:0xAC484E7E, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataDead vftable:0x1AFE060, Size:0x30, CRC32:0x16BEBC85 +class cDDMaterialCtrl::cShaderDataDead /*: cDDMaterialCtrl::cShaderDataDamage, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mAlphaClipThreshold' ; // Offset:0x14, Var, CRC32:0xF63CDC3D, Flags:0x0 + f32 'mBlendAlphaThreshold' ; // Offset:0x18, Var, CRC32:0xCA3E7911, Flags:0x0 + f32 'mBlendAlphaBand' ; // Offset:0x1C, Var, CRC32:0xE344EABA, Flags:0x0 + f32 'mAlbedoBlendRate' ; // Offset:0x20, Var, CRC32:0x46A00624, Flags:0x0 + f32 'mEmissionFactor' ; // Offset:0x24, Var, CRC32:0xAC484E7E, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataEmission vftable:0x1AFE1D0, Size:0x70, CRC32:0x2F6434F6 +class cDDMaterialCtrl::cShaderDataEmission /*: cDDMaterialCtrl::cShaderData, MtObject*/ { + vector3 'mEmissionColor' ; // Offset:0x20, Var, CRC32:0x1DE42664, Flags:0x0 + vector3 'mEmissionBlendColor' ; // Offset:0x30, Var, CRC32:0x6321031D, Flags:0x0 + f32 'mEmissionBlendFactor' ; // Offset:0x40, Var, CRC32:0x85EF42C3, Flags:0x0 + f32 'mEmissionIntensity' ; // Offset:0x44, Var, CRC32:0x84A88BCC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x48, Var, CRC32:0xBBF4F9FF, Flags:0x0 + vector3 'mDiffuseColor' ; // Offset:0x50, Var, CRC32:0x5294F02D, Flags:0x0 + vector3 'mDiffuseBlendColor' ; // Offset:0x60, Var, CRC32:0x16EDE4FA, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataEmissionEye vftable:0x1AFE220, Size:0x70, CRC32:0x75C841B8 +class cDDMaterialCtrl::cShaderDataEmissionEye /*: cDDMaterialCtrl::cShaderDataEmission, cDDMaterialCtrl::cShaderData, MtObject*/ { + vector3 'mEmissionColor' ; // Offset:0x20, Var, CRC32:0x1DE42664, Flags:0x0 + vector3 'mEmissionBlendColor' ; // Offset:0x30, Var, CRC32:0x6321031D, Flags:0x0 + f32 'mEmissionBlendFactor' ; // Offset:0x40, Var, CRC32:0x85EF42C3, Flags:0x0 + f32 'mEmissionIntensity' ; // Offset:0x44, Var, CRC32:0x84A88BCC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x48, Var, CRC32:0xBBF4F9FF, Flags:0x0 + vector3 'mDiffuseColor' ; // Offset:0x50, Var, CRC32:0x5294F02D, Flags:0x0 + vector3 'mDiffuseBlendColor' ; // Offset:0x60, Var, CRC32:0x16EDE4FA, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataErosion vftable:0x1AFDE60, Size:0x68, CRC32:0x4664850A +class cDDMaterialCtrl::cShaderDataErosion /*: cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataFire vftable:0x1AFDC20, Size:0x40, CRC32:0x2345FC6E +class cDDMaterialCtrl::cShaderDataFire /*: cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mLoopFrame' ; // Offset:0x3C, Var, CRC32:0xCDC68F54, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataFireDamage vftable:0x1AFE178, Size:0x28, CRC32:0x6F6868B9 +class cDDMaterialCtrl::cShaderDataFireDamage /*: cDDMaterialCtrl::cShaderDataDamage, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mAlphaClipThreshold' ; // Offset:0x14, Var, CRC32:0xF63CDC3D, Flags:0x0 + f32 'mBlendAlphaThreshold' ; // Offset:0x18, Var, CRC32:0xCA3E7911, Flags:0x0 + f32 'mBlendAlphaBand' ; // Offset:0x1C, Var, CRC32:0xE344EABA, Flags:0x0 + f32 'mAlbedoBlendRate' ; // Offset:0x20, Var, CRC32:0x46A00624, Flags:0x0 + f32 'mEmissionFactor' ; // Offset:0x24, Var, CRC32:0xAC484E7E, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataFreeze vftable:0x1AFDC80, Size:0x38, CRC32:0x7D839645 +class cDDMaterialCtrl::cShaderDataFreeze /*: cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataGeneral vftable:0x1AFDCE0, Size:0x3C, CRC32:0x67C487C0 +class cDDMaterialCtrl::cShaderDataGeneral /*: cDDMaterialCtrl::cShaderDataFreeze, cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mUVScrSpeed' ; // Offset:0x38, Var, CRC32:0x7E95C8A4, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataGold vftable:0x1AFDE00, Size:0x48, CRC32:0x3C32E8F0 +class cDDMaterialCtrl::cShaderDataGold /*: cDDMaterialCtrl::cShaderDataStone, cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataHakuryuStone vftable:0x1AFE118, Size:0x40, CRC32:0x788D04E1 +class cDDMaterialCtrl::cShaderDataHakuryuStone /*: cDDMaterialCtrl::cShaderDataBloodStain, cDDMaterialCtrl::cShaderDataDamage, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mAlphaClipThreshold' ; // Offset:0x14, Var, CRC32:0xF63CDC3D, Flags:0x0 + f32 'mBlendAlphaThreshold' ; // Offset:0x18, Var, CRC32:0xCA3E7911, Flags:0x0 + f32 'mBlendAlphaBand' ; // Offset:0x1C, Var, CRC32:0xE344EABA, Flags:0x0 + f32 'mAlbedoBlendRate' ; // Offset:0x20, Var, CRC32:0x46A00624, Flags:0x0 + f32 'mEmissionFactor' ; // Offset:0x24, Var, CRC32:0xAC484E7E, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataMaterial vftable:0x1AFE310, Size:0x18, CRC32:0x23F81D97 +class cDDMaterialCtrl::cShaderDataMaterial /*: cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialAlchemyShell vftable:0x1AFE890, Size:0x90, CRC32:0x13C246A3 +class cDDMaterialCtrl::cShaderDataMaterialAlchemyShell /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialColor vftable:0x1AFE3C0, Size:0x50, CRC32:0x1E1D29F0 +class cDDMaterialCtrl::cShaderDataMaterialColor /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { + bool 'mTargetAll' ; // Offset:0x18, Var, CRC32:0x2C0E772F, Flags:0x0 + vector4 'mDiffuseColor' ; // Offset:0x20, Var, CRC32:0x5294F02D, Flags:0x0 + vector4 'mSpecularColor' ; // Offset:0x30, Var, CRC32:0xA9D46E0D, Flags:0x0 + f32 'mDiffuseColorRate' ; // Offset:0x40, Var, CRC32:0x294E34EE, Flags:0x0 + f32 'mSpecularColorRate' ; // Offset:0x44, Var, CRC32:0xA4E76ABB, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataMaterialDead vftable:0x1AFE418, Size:0x30, CRC32:0x4B8049DF +class cDDMaterialCtrl::cShaderDataMaterialDead /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialElementEnemy vftable:0x1AFE8E8, Size:0x50, CRC32:0x6436A9C3 +class cDDMaterialCtrl::cShaderDataMaterialElementEnemy /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialElementEnemyDark vftable:0x1AFEAA0, Size:0x50, CRC32:0x6205DCA +class cDDMaterialCtrl::cShaderDataMaterialElementEnemyDark /*: cDDMaterialCtrl::cShaderDataMaterialElementEnemy, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialElementEnemyFire vftable:0x1AFE940, Size:0x50, CRC32:0x4582E9FE +class cDDMaterialCtrl::cShaderDataMaterialElementEnemyFire /*: cDDMaterialCtrl::cShaderDataMaterialElementEnemy, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialElementEnemyHoly vftable:0x1AFEA48, Size:0x50, CRC32:0x619081EF +class cDDMaterialCtrl::cShaderDataMaterialElementEnemyHoly /*: cDDMaterialCtrl::cShaderDataMaterialElementEnemy, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialElementEnemyIce vftable:0x1AFE998, Size:0x50, CRC32:0x2FD5A138 +class cDDMaterialCtrl::cShaderDataMaterialElementEnemyIce /*: cDDMaterialCtrl::cShaderDataMaterialElementEnemy, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialElementEnemyThunder vftable:0x1AFE9F0, Size:0x50, CRC32:0x4331D6B +class cDDMaterialCtrl::cShaderDataMaterialElementEnemyThunder /*: cDDMaterialCtrl::cShaderDataMaterialElementEnemy, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchant vftable:0x1AFE470, Size:0x70, CRC32:0x5373401E +class cDDMaterialCtrl::cShaderDataMaterialEnchant /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantCraft vftable:0x1AFE680, Size:0x60, CRC32:0x705A3BDD +class cDDMaterialCtrl::cShaderDataMaterialEnchantCraft /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantCraftDark vftable:0x1AFE838, Size:0xA0, CRC32:0x765B620E +class cDDMaterialCtrl::cShaderDataMaterialEnchantCraftDark /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantCraftFire vftable:0x1AFE6D8, Size:0x60, CRC32:0x35F9D63A +class cDDMaterialCtrl::cShaderDataMaterialEnchantCraftFire /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantCraftHoly vftable:0x1AFE7E0, Size:0x60, CRC32:0x11EBBE2B +class cDDMaterialCtrl::cShaderDataMaterialEnchantCraftHoly /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantCraftIce vftable:0x1AFE730, Size:0x60, CRC32:0x3E1EEA3D +class cDDMaterialCtrl::cShaderDataMaterialEnchantCraftIce /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantCraftThunder vftable:0x1AFE788, Size:0x60, CRC32:0xD9CA10F +class cDDMaterialCtrl::cShaderDataMaterialEnchantCraftThunder /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantDark vftable:0x1AFE628, Size:0x80, CRC32:0x2C264ACE +class cDDMaterialCtrl::cShaderDataMaterialEnchantDark /*: cDDMaterialCtrl::cShaderDataMaterialEnchant, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantFire vftable:0x1AFE4C8, Size:0x70, CRC32:0x6F84FEFA +class cDDMaterialCtrl::cShaderDataMaterialEnchantFire /*: cDDMaterialCtrl::cShaderDataMaterialEnchant, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantHoly vftable:0x1AFE5D0, Size:0x70, CRC32:0x4B9696EB +class cDDMaterialCtrl::cShaderDataMaterialEnchantHoly /*: cDDMaterialCtrl::cShaderDataMaterialEnchant, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantIce vftable:0x1AFE520, Size:0x70, CRC32:0x238EFA56 +class cDDMaterialCtrl::cShaderDataMaterialEnchantIce /*: cDDMaterialCtrl::cShaderDataMaterialEnchant, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialEnchantThunder vftable:0x1AFE578, Size:0x70, CRC32:0x6FDA94BE +class cDDMaterialCtrl::cShaderDataMaterialEnchantThunder /*: cDDMaterialCtrl::cShaderDataMaterialEnchant, cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialOldData vftable:0x1AFED98, Size:0x1C, CRC32:0x3FFF6CFD +class cDDMaterialCtrl::cShaderDataMaterialOldData /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialOmBlink vftable:0x1AFEBA8, Size:0x24, CRC32:0x14FA050 +class cDDMaterialCtrl::cShaderDataMaterialOmBlink /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataMaterialToDefaultColor vftable:0x1AFE368, Size:0x3C, CRC32:0x12BA81C3 +class cDDMaterialCtrl::cShaderDataMaterialToDefaultColor /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataOutline vftable:0x1AFE270, Size:0x50, CRC32:0x6E92E36F +class cDDMaterialCtrl::cShaderDataOutline /*: cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mBalance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B050, Setter:0x49F6C0, CRC32:0x2F166CE0, Flags:0x800000 + f32 'mBalanceScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B070, Setter:0x49F6E0, CRC32:0xB8369556, Flags:0x800000 + f32 'mBalanceOffset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B060, Setter:0x49F6D0, CRC32:0xE381E615, Flags:0x800000 + vector4 'mIColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BD70, Setter:0x4A3CD0, CRC32:0xC110C6F0, Flags:0x800000 + vector4 'mOColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BED0, Setter:0x4A3D80, CRC32:0x174925ED, Flags:0x800000 + u32 'mColorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B0C0, Setter:0x49F8E0, CRC32:0xEDB69A26, Flags:0x800000 + u32 'mBlendType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B0B0, Setter:0x49F7B0, CRC32:0xC5267DD2, Flags:0x800000 +}; + +// cDDMaterialCtrl::cShaderDataOutlineOn vftable:0x1AFE2C0, Size:0x50, CRC32:0x68DB5AD +class cDDMaterialCtrl::cShaderDataOutlineOn /*: cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mBalance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B050, Setter:0x49F6C0, CRC32:0x2F166CE0, Flags:0x800000 + f32 'mBalanceScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B070, Setter:0x49F6E0, CRC32:0xB8369556, Flags:0x800000 + f32 'mBalanceOffset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B060, Setter:0x49F6D0, CRC32:0xE381E615, Flags:0x800000 + vector4 'mIColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BD70, Setter:0x4A3CD0, CRC32:0xC110C6F0, Flags:0x800000 + vector4 'mOColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BED0, Setter:0x4A3D80, CRC32:0x174925ED, Flags:0x800000 + u32 'mColorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B0C0, Setter:0x49F8E0, CRC32:0xEDB69A26, Flags:0x800000 + u32 'mBlendType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B0B0, Setter:0x49F7B0, CRC32:0xC5267DD2, Flags:0x800000 +}; + +// cDDMaterialCtrl::cShaderDataSdl vftable:0x1AFED40, Size:0x30, CRC32:0x2CB038B2 +class cDDMaterialCtrl::cShaderDataSdl /*: cDDMaterialCtrl::cShaderDataMaterial, cDDMaterialCtrl::cShaderData, MtObject*/ { + classref 'mSdlData'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49BFA0, Setter:0x4A4070, GetCount:0x49BFB0, Reallocate:0x4A4080 CRC32:0x202C3297, Flags:0xA00000 + bool 'mUVTransformEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C310, Setter:0x4A4500, CRC32:0xCD2E1527, Flags:0x800000 + bool 'mTargetChildAll' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C160, Setter:0x4A42A0, CRC32:0x74E3C0BE, Flags:0x800000 + bool 'mTargetMaterialAll' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C170, Setter:0x4A42B0, CRC32:0x3AEF0D12, Flags:0x800000 +}; + +// cDDMaterialCtrl::cShaderDataSdlData vftable:0x1AFED0C, Size:0xE0, CRC32:0xA23F003 +class cDDMaterialCtrl::cShaderDataSdlData /*: MtObject*/ { + f32 'mVtxDispScale2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C6C0, Setter:0x4A46B0, CRC32:0x30055522, Flags:0x800000 + f32 'mVtxDispStart2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C6E0, Setter:0x4A46E0, CRC32:0xA7A4B3DA, Flags:0x800000 + f32 'mVtxDispScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C6D0, Setter:0x4A46D0, CRC32:0xB0AACBDD, Flags:0x800000 + f32 'mVtxDispStart' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C6F0, Setter:0x4A4700, CRC32:0xC395BBD6, Flags:0x800000 + f32 'mBEmissionFactor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BB20, Setter:0x4A3BE0, CRC32:0x7B663411, Flags:0x800000 + vector3 'mBEmissionColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B020, Setter:0x49F690, CRC32:0x3E4CA785, Flags:0x800000 + vector3 'mBBlendMapColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49AFF0, Setter:0x49F660, CRC32:0xDCAE2E8F, Flags:0x800000 + f32 'mBAlbedoBlendRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49AFB0, Setter:0x49F5E0, CRC32:0x9B7A5497, Flags:0x800000 + f32 'mBBlendAlphaThreshold' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49AFE0, Setter:0x49F640, CRC32:0x2974E147, Flags:0x800000 + f32 'mBBlendAlphaBand' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49AFD0, Setter:0x49F620, CRC32:0x346A90D5, Flags:0x800000 + f32 'mBAlphaClipThreshold' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49AFC0, Setter:0x49F600, CRC32:0xDFAF98B5, Flags:0x800000 + vector3 'mReflectiveColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BF20, Setter:0x4A4040, CRC32:0x41ECACD1, Flags:0x800000 + vector3 'mEmissionColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BAD0, Setter:0x4A3A50, CRC32:0x1DE42664, Flags:0x800000 + vector3 'mSpecularColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C0E0, Setter:0x4A4280, CRC32:0xA9D46E0D, Flags:0x800000 + vector3 'mDiffuseColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B9C0, Setter:0x4A38D0, CRC32:0x5294F02D, Flags:0x800000 + vector3 'mAlbedoColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49AF00, Setter:0x49F500, CRC32:0xE3BA34D3, Flags:0x800000 + f32 'mShininess' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C0D0, Setter:0x4A4110, CRC32:0x90B42F9C, Flags:0x800000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C240, Setter:0x4A4430, CRC32:0x2D56858B, Flags:0x800000 + f32 'mDetailNormalPower' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B9A0, Setter:0x4A3880, CRC32:0x17E967E8, Flags:0x800000 + f32 'mDetailNormalUVScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49B9B0, Setter:0x4A3890, CRC32:0xCFE69979, Flags:0x800000 + vector2 'mUVTransForm2Scale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C2F0, Setter:0x4A44E0, CRC32:0x65AA216B, Flags:0x800000 + vector2 'mUVTransForm1Scale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C2B0, Setter:0x4A44A0, CRC32:0xE33E53C5, Flags:0x800000 + vector2 'mUVTransForm0Scale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C270, Setter:0x4A4460, CRC32:0x28628060, Flags:0x800000 + vector2 'mUVTransForm2Offset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C2D0, Setter:0x4A44C0, CRC32:0xBB3436B0, Flags:0x800000 + vector2 'mUVTransForm1Offset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C290, Setter:0x4A4480, CRC32:0x8ADC2C2D, Flags:0x800000 + vector2 'mUVTransForm0Offset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C250, Setter:0x4A4440, CRC32:0x2CAB2799, Flags:0x800000 + u32 'mTargetMaterialId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49C180, Setter:0x4A42C0, CRC32:0x9C5EDE37, Flags:0x800000 +}; + +// cDDMaterialCtrl::cShaderDataStatusAilments vftable:0x1AFDBC0, Size:0x38, CRC32:0x5D3BCAAE +class cDDMaterialCtrl::cShaderDataStatusAilments /*: cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataStatusAilmentsStep vftable:0x1AFDEF0, Size:0x74, CRC32:0x5A2B31CF +class cDDMaterialCtrl::cShaderDataStatusAilmentsStep /*: cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataStatusAilmentsStep::cSDSASRequest vftable:0x1AFDEC8, Size:0x10, CRC32:0x613065FC +class cDDMaterialCtrl::cShaderDataStatusAilmentsStep::cSDSASRequest /*: MtObject*/ { + s32 'mTargetId' ; // Offset:0x4, Var, CRC32:0x11EBA6E8, Flags:0x0 + s32 'mRank' ; // Offset:0x8, Var, CRC32:0x517023D9, Flags:0x0 + f32 'mRefRate' ; // Offset:0xC, Var, CRC32:0x75A83E7D, Flags:0x10000 +}; + +// cDDMaterialCtrl::cShaderDataStatusAilmentsStepFreeze vftable:0x1AFDF50, Size:0x74, CRC32:0x7B2DF501 +class cDDMaterialCtrl::cShaderDataStatusAilmentsStepFreeze /*: cDDMaterialCtrl::cShaderDataStatusAilmentsStep, cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataStone vftable:0x1AFDDA0, Size:0x40, CRC32:0x6A08E22C +class cDDMaterialCtrl::cShaderDataStone /*: cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 +}; + +// cDDMaterialCtrl::cShaderDataWaterColor vftable:0x1AFEAF8, Size:0x24, CRC32:0x5A4AE533 +class cDDMaterialCtrl::cShaderDataWaterColor /*: cDDMaterialCtrl::cShaderData, MtObject*/ { +}; + +// cDDMaterialCtrl::cShaderDataWetOil vftable:0x1AFDD40, Size:0x44, CRC32:0x22850613 +class cDDMaterialCtrl::cShaderDataWetOil /*: cDDMaterialCtrl::cShaderDataStatusAilments, cDDMaterialCtrl::cShaderData, MtObject*/ { + f32 'mApplicateA' ; // Offset:0x18, Var, CRC32:0x56FF6067, Flags:0x0 + f32 'mFactorN' ; // Offset:0x1C, Var, CRC32:0xC069C8E8, Flags:0x0 + f32 'mFactorS' ; // Offset:0x20, Var, CRC32:0xA36FA431, Flags:0x0 + float2 'mUVOffset' ; // Offset:0x28, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0x30, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mUVScrSpeed' ; // Offset:0x38, Var, CRC32:0x7E95C8A4, Flags:0x0 +}; + +// cDDOParam vftable:0x1B00268, Size:0x4, CRC32:0x3C9CD764 +class cDDOParam /*: MtObject*/ { +}; + +// cDamageCounterInfo vftable:0x1C4F6D0, Size:0x10, CRC32:0x59BD6908 +class cDamageCounterInfo /*: MtObject*/ { +}; + +// cDamageEffInfo vftable:0x1BEF128, Size:0x70, CRC32:0x1447452 +class cDamageEffInfo /*: MtObject*/ { +}; + +// cDamageMsg vftable:0x1AF74C0, Size:0x90, CRC32:0x183F473F +class cDamageMsg /*: MtObject*/ { +}; + +// cDamageSaveEmLvParam vftable:0x1C4F310, Size:0x14, CRC32:0x7F818F56 +class cDamageSaveEmLvParam /*: MtObject*/ { + u32 'Lv' ; // Offset:0x4, Var, CRC32:0x5B8C3900, Flags:0x0 + f32 'ZlWA' ; // Offset:0x8, Var, CRC32:0xD29B5201, Flags:0x0 + f32 'ZlWB' ; // Offset:0xC, Var, CRC32:0x4B9203BB, Flags:0x0 + f32 'ZlWC' ; // Offset:0x10, Var, CRC32:0x3C95332D, Flags:0x0 +}; + +// cDamageSeInfo vftable:0x1BEF10C, Size:0x70, CRC32:0x1C1BD94C +class cDamageSeInfo /*: MtObject*/ { +}; + +// cDamageSpecialAdj vftable:0x1C4F4F0, Size:0x8, CRC32:0x25CCEA15 +class cDamageSpecialAdj /*: MtObject*/ { + f32 '_[Wւ̊' ; // Offset:0x4, Var, CRC32:0xBACB0AAD, Flags:0x0 +}; + +// cDarkSkyParam vftable:0x1C53F38, Size:0x110, CRC32:0x102B94E5 +class cDarkSkyParam /*: MtObject*/ { + hermitecurve 'mSSD.mCCFD.mToneCurve' ; // Offset:0x10, Var, CRC32:0xD13ECDFC, Flags:0x0 + vector3 'mSSD.mHSPED.mNightColor' ; // Offset:0x50, Var, CRC32:0xB7428461, Flags:0x0 + vector3 'mSSD.mHSPED.mNightRevColor' ; // Offset:0x60, Var, CRC32:0x83E58B2E, Flags:0x0 + vector3 'mSSD.mSSLD.mColor' ; // Offset:0x70, Var, CRC32:0xE21D2E15, Flags:0x0 + vector3 'mWTBD.mWP.mMieScattering' ; // Offset:0x80, Var, CRC32:0xF06C2EC6, Flags:0x0 + f32 'mWTBD.mWP.mMieDensity' ; // Offset:0x90, Var, CRC32:0x5E3B5452, Flags:0x0 + f32 'mWTBD.mWP.mCloudHeight' ; // Offset:0x94, Var, CRC32:0x6FDE3612, Flags:0x0 + f32 'mWTBD.mWP.mCloudiness' ; // Offset:0x98, Var, CRC32:0xE83095CA, Flags:0x0 + f32 'mWTBD.mWP.mCloudThickness' ; // Offset:0x9C, Var, CRC32:0x46B33126, Flags:0x0 + f32 'mWTBD.mWP.mCloudScattering' ; // Offset:0xA0, Var, CRC32:0xB6CB5AA5, Flags:0x0 + f32 'mWTBD.mWP.mCloudEccentricity' ; // Offset:0xA4, Var, CRC32:0xB209B2BA, Flags:0x0 + f32 'mWTBD.mWP.mSunIntensityRate' ; // Offset:0xA8, Var, CRC32:0x2611AA62, Flags:0x0 + f32 'mWTBD.mWP.mEnvMapBaseScale' ; // Offset:0xAC, Var, CRC32:0xD9DE439, Flags:0x0 + f32 'mWTBD.mWP.mFogDensity' ; // Offset:0xB0, Var, CRC32:0x97E4D152, Flags:0x0 + f32 '̋Px{' ; // Offset:0xB4, Var, CRC32:0x6C947892, Flags:0x0 + f32 'mWTBD.mWP.mWeatherStarIntensity' ; // Offset:0xB8, Var, CRC32:0x40062C5F, Flags:0x0 + f32 'mWTBD.mWP.mWaterLRate' ; // Offset:0xBC, Var, CRC32:0xABFA6F1D, Flags:0x0 + f32 'mWTBD.mWP.mLightMainIntensityScale' ; // Offset:0xC0, Var, CRC32:0x90271D04, Flags:0x0 + f32 'mWTBD.mWP.mLightMainSatuationScale' ; // Offset:0xC4, Var, CRC32:0x4344265E, Flags:0x0 + vector3 'mWTBD.mWP.mLightSubDayColor' ; // Offset:0xD0, Var, CRC32:0xCC731FE0, Flags:0x0 + vector3 'mWTBD.mWP.mLightHemiDayColor' ; // Offset:0xE0, Var, CRC32:0xE4EC17C9, Flags:0x0 + vector3 'mWTBD.mWP.mLightHemiDayRevColor' ; // Offset:0xF0, Var, CRC32:0x3F8CD093, Flags:0x0 + custom 'mpFogInfo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA650D0, Setter:0xA652A0, CRC32:0xA71E0BD6, Flags:0x800000 + custom 'mpCloudModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA65090, Setter:0xA65260, CRC32:0xF7A76281, Flags:0x800000 +}; + +// cDayNightColorFogParam vftable:0x1AE6C74, Size:0x60, CRC32:0x77A44F0A +class cDayNightColorFogParam /*: cWeatherObjectRes, MtObject*/ { + f32 'mHeightStart' ; // Offset:0x4, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0x8, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xC, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0x10, Var, CRC32:0xA232010, Flags:0x8000000 + f32 'mStart' ; // Offset:0x20, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x24, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mDensity' ; // Offset:0x28, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x30, Var, CRC32:0x9BE2D228, Flags:0x8000000 + f32 'mDiffuseBlendFactor' ; // Offset:0x40, Var, CRC32:0xBBF4F9FF, Flags:0x0 +}; + +// cDayNightLightParam vftable:0x1DA5B60, Size:0x50, CRC32:0x19EBC8BF +class cDayNightLightParam /*: cWeatherObjectRes, MtObject*/ { + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 +}; + +// cDelegateBase vftable:0x1B002AC, Size:0x4, CRC32:0x7B374E57 +class cDelegateBase /*: MtObject*/ { +}; + +// cDelegateBase::cNode vftable:0x1B00298, Size:0xC, CRC32:0x622F0238 +class cDelegateBase::cNode /*: MtObject*/ { +}; + +// cDisableAbilityParam vftable:0x1C48578, Size:0xC, CRC32:0x5808DC55 +class cDisableAbilityParam /*: MtObject*/ { + u32 'mDisableAbilityId' ; // Offset:0x4, Var, CRC32:0xF4EE806, Flags:0x0 + u32 'mDisableType' ; // Offset:0x8, Var, CRC32:0x93BE034F, Flags:0x0 +}; + +// cDmJobAdjParam vftable:0x1C4EE7C, Size:0x44, CRC32:0x63172F8C +class cDmJobAdjParam /*: MtObject*/ { + u32 'Wu^Cv' ; // Offset:0x4, Var, CRC32:0x95EBCC07, Flags:0x0 + f32 'ANV{␳' ; // Offset:0x8, Var, CRC32:0xCF0E3EB, Flags:0x0 + f32 '_[W␳' ; // Offset:0xC, Var, CRC32:0xABAC3BBC, Flags:0x0 + f32 'X^~i_[W␳' ; // Offset:0x10, Var, CRC32:0xEBAF1FB3, Flags:0x0 + f32 'G`g_[W␳' ; // Offset:0x14, Var, CRC32:0x81A07DED, Flags:0x0 + f32 'AreB΂͕␳' ; // Offset:0x18, Var, CRC32:0x4F132F47, Flags:0x0 + f32 'lԓGԈُZ␳' ; // Offset:0x1C, Var, CRC32:0xC4FD1273, Flags:0x0 + f32 'Jl_[W␳' ; // Offset:0x20, Var, CRC32:0xA6844A27, Flags:0x0 + f32 '`XU̓_[W␳' ; // Offset:0x24, Var, CRC32:0x6AD135AF, Flags:0x0 + f32 'Uh䕨ől' ; // Offset:0x28, Var, CRC32:0xB7F24172, Flags:0x0 + f32 'Uh䖂@ől' ; // Offset:0x2C, Var, CRC32:0x4DA49057, Flags:0x0 + f32 '񕜌vZ␳A' ; // Offset:0x30, Var, CRC32:0xB259C5A4, Flags:0x0 + f32 '񕜌vZ␳B' ; // Offset:0x34, Var, CRC32:0x2B50941E, Flags:0x0 + f32 '񕜌vZ␳C' ; // Offset:0x38, Var, CRC32:0x5C57A488, Flags:0x0 + f32 '񕜌vZ␳D' ; // Offset:0x3C, Var, CRC32:0xC233312B, Flags:0x0 + f32 '΂l֌ZlW' ; // Offset:0x40, Var, CRC32:0x2169934B, Flags:0x0 +}; + +// cDmJobPawnAdjParam vftable:0x1C4F130, Size:0x14, CRC32:0x2F530FCE +class cDmJobPawnAdjParam /*: MtObject*/ { + u32 'Wu^Cv' ; // Offset:0x4, Var, CRC32:0x95EBCC07, Flags:0x0 + f32 'f̍Uɑ΂␳' ; // Offset:0x8, Var, CRC32:0xFDAEB2A7, Flags:0x0 + f32 'f̖@Uɑ΂␳' ; // Offset:0xC, Var, CRC32:0x3FC899B9, Flags:0x0 + f32 '̂ԂэUɑ΂␳' ; // Offset:0x10, Var, CRC32:0xA861D65B, Flags:0x0 +}; + +// cDmLvPawnAdjParam vftable:0x1C4F220, Size:0x10, CRC32:0x1EE0BFD5 +class cDmLvPawnAdjParam /*: MtObject*/ { + u32 'Lv' ; // Offset:0x4, Var, CRC32:0x5B8C3900, Flags:0x0 + f32 'LV(f)' ; // Offset:0x8, Var, CRC32:0xADAD3B29, Flags:0x0 + f32 'LV(Wep)' ; // Offset:0xC, Var, CRC32:0xCD6B49A, Flags:0x0 +}; + +// cDmVecWeightParam vftable:0x1C565A8, Size:0x18, CRC32:0x69FA8CF +class cDmVecWeightParam /*: MtObject*/ { + f32 'd' ; // Offset:0x4, Var, CRC32:0x61EED201, Flags:0x0 + f32 'XZx␳' ; // Offset:0x8, Var, CRC32:0x636A253F, Flags:0x0 + f32 'Yx␳' ; // Offset:0xC, Var, CRC32:0xF5A7A39E, Flags:0x0 + f32 'XZx␳' ; // Offset:0x10, Var, CRC32:0xA3401AE0, Flags:0x0 + f32 'Yx␳' ; // Offset:0x14, Var, CRC32:0x10872790, Flags:0x0 +}; + +// cDragonSkill vftable:0x1AF889C, Size:0xC, CRC32:0x4823EAAD +class cDragonSkill /*: MtObject*/ { +}; + +// cDragonSkillColorData vftable:0x1C542B4, Size:0x8, CRC32:0x70E2C5EF +class cDragonSkillColorData /*: MtObject*/ { +}; + +// cDragonSkillData vftable:0x1C545C4, Size:0x10, CRC32:0x1CE72A0C +class cDragonSkillData /*: MtObject*/ { +}; + +// cDragonSkillEnhanceParam vftable:0x1C543B8, Size:0x8, CRC32:0x23E32563 +class cDragonSkillEnhanceParam /*: MtObject*/ { +}; + +// cDragonSkillLevelParam vftable:0x1C544C0, Size:0xC, CRC32:0x6598D6C +class cDragonSkillLevelParam /*: MtObject*/ { +}; + +// cDraw vftable:0x20C3460, Size:0x498D0, CRC32:0x16CBC852 +class cDraw /*: MtObject*/ { + u32 'mTagNum' ; // Offset:0x38, Var, CRC32:0x601E69E, Flags:0x10000 + u32 'mMaxTag' ; // Offset:0x3C, Var, CRC32:0xF568EAE9, Flags:0x10000 + u32 'mBranchNum' ; // Offset:0x318C8, Var, CRC32:0x20D6EB3, Flags:0x10000 +}; + +// cDynamicBVHCollision vftable:0x20D1A48, Size:0x44, CRC32:0x11ED3ABD +class cDynamicBVHCollision /*: MtObject*/ { + classref 'mpRoot' ; // Offset:0x4, Var, CRC32:0x94072B6E, Flags:0x20000 + s32 'mUpdateBackNum' ; // Offset:0x8, Var, CRC32:0xF7263F82, Flags:0x0 + u32 'mLeafNum' ; // Offset:0xC, Var, CRC32:0xABF1D2A6, Flags:0x10000 + u32 'mReservedNodeNoUseNum' ; // Offset:0x18, Var, CRC32:0x41ED33E3, Flags:0x30000 + u32 'mReservedNodeNoUseMax' ; // Offset:0x1C, Var, CRC32:0xD8BE04, Flags:0x30000 + class 'mNoUseNodeArray' ; // Offset:0x20, Var, CRC32:0x5FDF1A04, Flags:0x20000 +}; + +// cDynamicBVHCollision::Node vftable:0x20D1A34, Size:0x30, CRC32:0x5F78F725 +class cDynamicBVHCollision::Node /*: nCollision::cAllocaterIntermediate, MtObject*/ { + classref 'mpParent' ; // Offset:0x4, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChild'[2] ; // Offset:0x8, Array, CRC32:0xA6808C55, Flags:0x200000 + aabb 'mAABB' ; // Offset:0x10, Var, CRC32:0x50126E8A, Flags:0x0 +}; + +// cEditChargeInfoUpdator vftable:0x1B00C30, Size:0xC, CRC32:0x6A88B17F +class cEditChargeInfoUpdator /*: MtObject*/ { +}; + +// cEditParam vftable:0x1B01110, Size:0x750, CRC32:0x4B852282 +class cEditParam /*: MtObject*/ { +}; + +// cEditParamList vftable:0x1CB4DE4, Size:0xC, CRC32:0x73651332 +class cEditParamList /*: MtObject*/ { +}; + +// cEditUserData vftable:0x1B0112C, Size:0x750, CRC32:0x3C2A0EC7 +class cEditUserData /*: cEditParam, MtObject*/ { + u8 'Sex' ; // Offset:0x18, Var, CRC32:0x2810D0E8, Flags:0x0 + s32 'Hair' ; // Offset:0x1C, Var, CRC32:0xC33A31D8, Flags:0x0 + s32 'Beard' ; // Offset:0x20, Var, CRC32:0x9D51BD8, Flags:0x0 + s32 'MakeUp' ; // Offset:0x24, Var, CRC32:0x6C5BB8F7, Flags:0x0 + s32 'Scar' ; // Offset:0x28, Var, CRC32:0x8F7FBF20, Flags:0x0 + s32 'Voice' ; // Offset:0x2C, Var, CRC32:0xD9C588C0, Flags:0x0 + s32 'VoicePitch' ; // Offset:0x30, Var, CRC32:0x261A3A32, Flags:0x0 + s32 'Eye' ; // Offset:0x40, Var, CRC32:0xB5CA3EAE, Flags:0x0 + s32 'Nose' ; // Offset:0x44, Var, CRC32:0xDF313C12, Flags:0x0 + s32 'Mouth' ; // Offset:0x48, Var, CRC32:0xA0FB8C6C, Flags:0x0 + s32 'Eyebrow' ; // Offset:0x4C, Var, CRC32:0xE301CE2A, Flags:0x0 + s32 'SkinColor' ; // Offset:0x50, Var, CRC32:0x92CDDDE3, Flags:0x0 + s32 'HairColor' ; // Offset:0x54, Var, CRC32:0x598CDF67, Flags:0x0 + s32 'BeardColor' ; // Offset:0x58, Var, CRC32:0x5A83864, Flags:0x0 + s32 'EyebrowColor' ; // Offset:0x5C, Var, CRC32:0x8C7F478, Flags:0x0 + s32 'RightEyeColor' ; // Offset:0x60, Var, CRC32:0x1B376F50, Flags:0x0 + s32 'LeftEyeColor' ; // Offset:0x64, Var, CRC32:0xC077481D, Flags:0x0 + s32 'MakeupColor' ; // Offset:0x68, Var, CRC32:0x257BA6AE, Flags:0x0 + f32 'HeadWidth' ; // Offset:0x84, Var, CRC32:0xD1EA73BA, Flags:0x0 + f32 'Forehead' ; // Offset:0xA0, Var, CRC32:0x995EAA87, Flags:0x0 + f32 'EarPosition' ; // Offset:0xBC, Var, CRC32:0x96F2669, Flags:0x0 + f32 'EyeGap' ; // Offset:0xD8, Var, CRC32:0xB0A4F093, Flags:0x0 + f32 'EyeShade' ; // Offset:0xF4, Var, CRC32:0x2E14179A, Flags:0x0 + f32 'JawPosition' ; // Offset:0x110, Var, CRC32:0xD00097E0, Flags:0x0 + f32 'ChinWidth' ; // Offset:0x12C, Var, CRC32:0x5ACE95B7, Flags:0x0 + f32 'JawPosition2' ; // Offset:0x148, Var, CRC32:0x680DB36F, Flags:0x0 + f32 'ChinHeight' ; // Offset:0x164, Var, CRC32:0xD94DC524, Flags:0x0 + f32 'PupilSize' ; // Offset:0x180, Var, CRC32:0x66F3756E, Flags:0x0 + f32 'EyeSize' ; // Offset:0x19C, Var, CRC32:0x7FE98A23, Flags:0x0 + f32 'EyeRotation' ; // Offset:0x1B8, Var, CRC32:0x9AE7B4C9, Flags:0x0 + f32 'EyebrowRotation' ; // Offset:0x1D4, Var, CRC32:0xE594D12C, Flags:0x0 + f32 'EarSize' ; // Offset:0x1F0, Var, CRC32:0x42AC4147, Flags:0x0 + f32 'EarRotation' ; // Offset:0x20C, Var, CRC32:0x663F5A6D, Flags:0x0 + f32 'EarElf' ; // Offset:0x228, Var, CRC32:0x6F045C84, Flags:0x0 + f32 'MidForehead' ; // Offset:0x244, Var, CRC32:0xA65A6FF8, Flags:0x0 + f32 'MidForeheadWidth' ; // Offset:0x260, Var, CRC32:0x98ED1F6, Flags:0x0 + f32 'CheekVolume' ; // Offset:0x27C, Var, CRC32:0x11586E19, Flags:0x0 + f32 'CheekPosition' ; // Offset:0x298, Var, CRC32:0xCC91ED13, Flags:0x0 + f32 'CheekFat' ; // Offset:0x2B4, Var, CRC32:0x3FC3EF7D, Flags:0x0 + f32 'JawbonePosition' ; // Offset:0x2D0, Var, CRC32:0x576AD77B, Flags:0x0 + f32 'JawboneWidth' ; // Offset:0x2EC, Var, CRC32:0xA8A69E4A, Flags:0x0 + f32 'NosePosition' ; // Offset:0x308, Var, CRC32:0x4FA69C3A, Flags:0x0 + f32 'NoseWidth' ; // Offset:0x324, Var, CRC32:0x82D48BA, Flags:0x0 + f32 'NoseTall' ; // Offset:0x340, Var, CRC32:0x87667B2D, Flags:0x0 + f32 'NoseRotation' ; // Offset:0x35C, Var, CRC32:0x20F6E03E, Flags:0x0 + f32 'MouthWidth' ; // Offset:0x378, Var, CRC32:0x67222E21, Flags:0x0 + f32 'MouthThickness' ; // Offset:0x394, Var, CRC32:0xCB41874A, Flags:0x0 + f32 'EyebrowOffsetX' ; // Offset:0x3B0, Var, CRC32:0xDA6CD6C7, Flags:0x0 + f32 'EyebrowOffsetY' ; // Offset:0x3CC, Var, CRC32:0xAD6BE651, Flags:0x0 + f32 'Wrinkle' ; // Offset:0x3E8, Var, CRC32:0x3DC25BC3, Flags:0x0 + f32 'Height' ; // Offset:0x474, Var, CRC32:0xD1E1FC6, Flags:0x0 + f32 'HeadSize' ; // Offset:0x538, Var, CRC32:0x6087C3B6, Flags:0x0 + f32 'NeckPosition' ; // Offset:0x58C, Var, CRC32:0x42659EC4, Flags:0x0 + f32 'Neck' ; // Offset:0x5A8, Var, CRC32:0x7FDC8692, Flags:0x0 + f32 'ShoulderWidth' ; // Offset:0x5C4, Var, CRC32:0x43B25A59, Flags:0x0 + f32 'Belly' ; // Offset:0x5FC, Var, CRC32:0xB64ADB8D, Flags:0x0 + f32 'Breast' ; // Offset:0x618, Var, CRC32:0x99287FA2, Flags:0x0 + f32 'HandSize' ; // Offset:0x634, Var, CRC32:0x659E5570, Flags:0x0 + f32 'WaistPosition' ; // Offset:0x688, Var, CRC32:0x7655F506, Flags:0x0 + f32 'HipSize' ; // Offset:0x6A4, Var, CRC32:0xB5E8F18A, Flags:0x0 + f32 'FootSize' ; // Offset:0x6F8, Var, CRC32:0x8B977838, Flags:0x0 + f32 'Fat' ; // Offset:0x714, Var, CRC32:0x5F27385C, Flags:0x0 + f32 'Muscle' ; // Offset:0x730, Var, CRC32:0xB42E326, Flags:0x0 + f32 'MotionFilter' ; // Offset:0x74C, Var, CRC32:0xFD40814A, Flags:0x0 +}; + +// cEditValue vftable:0x1B010F4, Size:0x1C, CRC32:0x7208063F +class cEditValue /*: MtObject*/ { + f32 'mMin' ; // Offset:0x8, Var, CRC32:0x71808D1F, Flags:0x0 + f32 'mMax' ; // Offset:0xC, Var, CRC32:0x4D8DB246, Flags:0x0 + s16 'mDiv' ; // Offset:0x14, Var, CRC32:0x6D3D2EC6, Flags:0x0 + f32 'mValue' ; // Offset:0x18, Var, CRC32:0xE0C3C2F5, Flags:0x0 +}; + +// cEfcHandle vftable:0x1B014D8, Size:0x78, CRC32:0x399415BA +class cEfcHandle /*: MtObject*/ { +}; + +// cEfcMotSync vftable:0x1B019CC, Size:0x18, CRC32:0x29B147D9 +class cEfcMotSync /*: MtObject*/ { +}; + +// cEfcMotSync::SyncManageFactor vftable:0x1B019B8, Size:0x70, CRC32:0x2E808F7E +class cEfcMotSync::SyncManageFactor /*: MtObject*/ { +}; + +// cEffectCorrectParam vftable:0x1C79850, Size:0x2C, CRC32:0x4FD4D287 +class cEffectCorrectParam /*: MtObject*/ { +}; + +// cEffectCycleCtrl vftable:0x1B01F14, Size:0x20, CRC32:0x653392B3 +class cEffectCycleCtrl /*: MtObject*/ { +}; + +// cEffectStatus vftable:0x1BEB148, Size:0x20, CRC32:0x1233B143 +class cEffectStatus /*: MtObject*/ { +}; + +// cEffectUnitGenerator vftable:0x20D6E68, Size:0x1D0, CRC32:0x725034E7 +class cEffectUnitGenerator /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cEm010202ActFireModeOn vftable:0x1CBEB00, Size:0x40, CRC32:0x6687613 +class cEm010202ActFireModeOn /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm010221ActDeadDirect vftable:0x1CC3DF0, Size:0x80, CRC32:0x7D63C2F3 +class cEm010221ActDeadDirect /*: cEmActDeadDirect, cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm010303ActComboBash vftable:0x1CC00C8, Size:0x40, CRC32:0x6CC557C1 +class cEm010303ActComboBash /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm010303ActGuardCounter vftable:0x1CC0080, Size:0x40, CRC32:0x697F9768 +class cEm010303ActGuardCounter /*: cEmActGuardCounter, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm010820ActDead vftable:0x1CC34E8, Size:0x70, CRC32:0x133A6ED6 +class cEm010820ActDead /*: cEmActDead, cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011201PriorDead vftable:0x1CC4B60, Size:0x70, CRC32:0x6F78B095 +class cEm011201PriorDead /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011201PriorWait vftable:0x1CC4B18, Size:0x50, CRC32:0x7FB37A54 +class cEm011201PriorWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011201SummonMove vftable:0x1CC4AD0, Size:0x50, CRC32:0x204BF5D +class cEm011201SummonMove /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011410FogFirstWarpEnd vftable:0x1CC5E50, Size:0x50, CRC32:0x4800F50A +class cEm011410FogFirstWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011410FogSummonAppear vftable:0x1CC5D20, Size:0x40, CRC32:0x60B70EB8 +class cEm011410FogSummonAppear /*: cEmActNmlSummonAppear, cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011410FogWarpEnd vftable:0x1CC5E00, Size:0x50, CRC32:0x40EDC7CE +class cEm011410FogWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011410NoWarpWait vftable:0x1CC5D68, Size:0x40, CRC32:0x32919862 +class cEm011410NoWarpWait /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm011410WarpEnd vftable:0x1CC5DB0, Size:0x50, CRC32:0x771FA5DB +class cEm011410WarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015060ActArmedAtkNear vftable:0x1CC8AB0, Size:0x40, CRC32:0x5FF0D2F0 +class cEm015060ActArmedAtkNear /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015060ActExtraBurstSet vftable:0x1CC8A68, Size:0x40, CRC32:0x503B62D +class cEm015060ActExtraBurstSet /*: cEmActArmedExtraBurst, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015060ActExtraBurstStart vftable:0x1CC8A20, Size:0x40, CRC32:0x3A01B665 +class cEm015060ActExtraBurstStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015220ActExtraBurstMain vftable:0x1CC9438, Size:0x40, CRC32:0x4D58C9E +class cEm015220ActExtraBurstMain /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015220ActExtraBurstSet vftable:0x1CC9480, Size:0x40, CRC32:0x7A1F67DA +class cEm015220ActExtraBurstSet /*: cEmActArmedExtraBurst, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015220ActExtraBurstStart vftable:0x1CC93F0, Size:0x40, CRC32:0x10285C41 +class cEm015220ActExtraBurstStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015330ActExtraBurstMain vftable:0x1CCADC8, Size:0x40, CRC32:0x36503780 +class cEm015330ActExtraBurstMain /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015330ActExtraBurstSet vftable:0x1CCAE10, Size:0x40, CRC32:0x42AF5163 +class cEm015330ActExtraBurstSet /*: cEmActArmedExtraBurst, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015330ActExtraBurstStart vftable:0x1CCAD80, Size:0x40, CRC32:0x6A95E499 +class cEm015330ActExtraBurstStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015330ResetSet vftable:0x1CCAEA0, Size:0x40, CRC32:0x4A1A667B +class cEm015330ResetSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015330ResetStart vftable:0x1CCAE58, Size:0x50, CRC32:0x5033517A +class cEm015330ResetStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActFogStart vftable:0x1CCBDD8, Size:0x50, CRC32:0x30D36130 +class cEm015400ActFogStart /*: cEmActAtkSummonSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActNmlToBattleSummon vftable:0x1CCBFD0, Size:0x40, CRC32:0x6AECA331 +class cEm015400ActNmlToBattleSummon /*: cEmActAtkSummonSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActRegeneSp1Set vftable:0x1CCBCB8, Size:0x40, CRC32:0x211B17F0 +class cEm015400ActRegeneSp1Set /*: cEmActRegenerateSet, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActRegeneSp1Start vftable:0x1CCBC70, Size:0x40, CRC32:0x2F46BA51 +class cEm015400ActRegeneSp1Start /*: cEmActRegenerateStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActRegeneSp2Set vftable:0x1CCBD48, Size:0x40, CRC32:0x33AEB81E +class cEm015400ActRegeneSp2Set /*: cEmActRegenerateSet, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActRegeneSp2Start vftable:0x1CCBD00, Size:0x40, CRC32:0x29D2C8FF +class cEm015400ActRegeneSp2Start /*: cEmActRegenerateStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActWaitHide vftable:0x1CCBE20, Size:0x40, CRC32:0x5BD03A38 +class cEm015400ActWaitHide /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActWarpEnd vftable:0x1CCBC28, Size:0x40, CRC32:0x3438DA1F +class cEm015400ActWarpEnd /*: cEmActWarpEnd, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400ActWarpStart vftable:0x1CCBBE0, Size:0x40, CRC32:0x37F2380F +class cEm015400ActWarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400FogFinishWarpEnd vftable:0x1CCC0B8, Size:0x50, CRC32:0x1AA28002 +class cEm015400FogFinishWarpEnd /*: cEm015400InitPosWarpEnd, cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400FogPhase vftable:0x1B0AC50, Size:0x60, CRC32:0x6E1993E3 +class cEm015400FogPhase /*: cEmPhaseBase, MtObject*/ { +}; + +// cEm015400FogWarpEnd vftable:0x1CCC018, Size:0x50, CRC32:0x42E404BA +class cEm015400FogWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400InitPosWarpEnd vftable:0x1CCC068, Size:0x50, CRC32:0x3C025DC1 +class cEm015400InitPosWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015400Leave vftable:0x1CCBD90, Size:0x40, CRC32:0x3297E3A2 +class cEm015400Leave /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015401ActHoverLateral vftable:0x1CCCDC8, Size:0x40, CRC32:0x47C8093 +class cEm015401ActHoverLateral /*: cEmActHoverMotion, cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015401ActWarpEnd vftable:0x1CCCD78, Size:0x60, CRC32:0x75B605DF +class cEm015401ActWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015401ActWarpStart vftable:0x1CCCD30, Size:0x40, CRC32:0x6A64E18A +class cEm015401ActWarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015508ActAtkCombo vftable:0x1CCDFA0, Size:0x40, CRC32:0x1D4B922B +class cEm015508ActAtkCombo /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015508ActStunAtkCombo vftable:0x1CCDFE8, Size:0x40, CRC32:0x47DDE904 +class cEm015508ActStunAtkCombo /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015510ActExtraBurstSet vftable:0x1CCE958, Size:0x40, CRC32:0x5AA731F3 +class cEm015510ActExtraBurstSet /*: cEmActArmedExtraBurst, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015510ActExtraBurstStart vftable:0x1CCE910, Size:0x40, CRC32:0x566697D3 +class cEm015510ActExtraBurstStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015717ActAtkDashFinish vftable:0x1CD1428, Size:0x40, CRC32:0x77C5F47C +class cEm015717ActAtkDashFinish /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015717ActAtkDashLoop vftable:0x1CD13E0, Size:0x40, CRC32:0x524798C0 +class cEm015717ActAtkDashLoop /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015717ActAtkDashStart vftable:0x1CD1398, Size:0x40, CRC32:0x11DEAF48 +class cEm015717ActAtkDashStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015720LegCtrl vftable:0x1CD222C, Size:0x28, CRC32:0x6CAFCEC8 +class cEm015720LegCtrl /*: MtObject*/ { +}; + +// cEm015831ActModeChange vftable:0x1CD4E68, Size:0x40, CRC32:0x23690051 +class cEm015831ActModeChange /*: cEmActMotPlay, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015860ForceUpperEnchant vftable:0x1CD6468, Size:0x40, CRC32:0x32D7CB0 +class cEm015860ForceUpperEnchant /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015860Summon vftable:0x1CD6420, Size:0x40, CRC32:0x91DF84 +class cEm015860Summon /*: cEmActAtkSpellShoot, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchAttack vftable:0x1CD8068, Size:0x40, CRC32:0x1A8AC1D3 +class cEm015863ActCatchAttack /*: cEmActCatchAttack, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchCancel vftable:0x1CD8140, Size:0x40, CRC32:0xB5C299A +class cEm015863ActCatchCancel /*: cEmActCatchCancel, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchFailed vftable:0x1CD80B0, Size:0x40, CRC32:0x43C14F9F +class cEm015863ActCatchFailed /*: cEmActCatchFailed, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchLoop vftable:0x1CD8020, Size:0x60, CRC32:0x31403C37 +class cEm015863ActCatchLoop /*: cEmActCatchLoop, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchRelease vftable:0x1CD80F8, Size:0x40, CRC32:0x62C9CC36 +class cEm015863ActCatchRelease /*: cEmActCatchRelease, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchStart vftable:0x1CD7F48, Size:0x50, CRC32:0x32E4CF53 +class cEm015863ActCatchStart /*: cEmActCatchStart, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchSuccess vftable:0x1CD7FD8, Size:0x40, CRC32:0x138E1099 +class cEm015863ActCatchSuccess /*: cEmActCatchSuccess, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActCatchWait vftable:0x1CD7F90, Size:0x50, CRC32:0x6DF1A23C +class cEm015863ActCatchWait /*: cEmActCatchWait, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863ActThrowPlayer vftable:0x1CD8188, Size:0x40, CRC32:0xBA8ECED +class cEm015863ActThrowPlayer /*: cEmActCatchCancel, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm015863BattlePhase vftable:0x1B0A238, Size:0x48, CRC32:0x454627DE +class cEm015863BattlePhase /*: cEmPhaseBase, MtObject*/ { +}; + +// cEm020602ActAtkDeltaSpellStart vftable:0x1CDB7B0, Size:0x40, CRC32:0x768E9BF6 +class cEm020602ActAtkDeltaSpellStart /*: cEmActAtkSpellStart, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602ActWarpAndSummonAvatarSet vftable:0x1CDB600, Size:0x50, CRC32:0x79A6DFD8 +class cEm020602ActWarpAndSummonAvatarSet /*: cEm020602HideWaitAir, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602ActWarpAndSummonAvatarStart vftable:0x1CDB5B8, Size:0x40, CRC32:0x67A406C4 +class cEm020602ActWarpAndSummonAvatarStart /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602AvatarActEscape vftable:0x1CDB6D8, Size:0x40, CRC32:0x735763FD +class cEm020602AvatarActEscape /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602AvatarActWarpToSummonedPos vftable:0x1CDB648, Size:0x50, CRC32:0x58D37D87 +class cEm020602AvatarActWarpToSummonedPos /*: cEm020602HideWaitAir, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602AvatarDeath vftable:0x1CDB768, Size:0x80, CRC32:0x3CEB403D +class cEm020602AvatarDeath /*: cEmActDeadDirect, cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602BattlePhase vftable:0x1B0B168, Size:0x28, CRC32:0x2FD2EB95 +class cEm020602BattlePhase /*: cEmPhaseBase, MtObject*/ { +}; + +// cEm020602DeathArmStart vftable:0x1CDB720, Size:0x40, CRC32:0x64CD3722 +class cEm020602DeathArmStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602HideWaitAir vftable:0x1CDB570, Size:0x40, CRC32:0x4EC338B3 +class cEm020602HideWaitAir /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020602SelfReinforcement vftable:0x1CDB690, Size:0x40, CRC32:0x3E79F0BD +class cEm020602SelfReinforcement /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActAtkIai vftable:0x1CDC7C0, Size:0x40, CRC32:0x311C27DB +class cEm020700ActAtkIai /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActAtkNear vftable:0x1CDC850, Size:0x40, CRC32:0x7D3C1D06 +class cEm020700ActAtkNear /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActAtkSpellStart vftable:0x1CDCA00, Size:0x40, CRC32:0x29C8B10C +class cEm020700ActAtkSpellStart /*: cEmActAtkSpellStart, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActBackStep vftable:0x1CDC808, Size:0x40, CRC32:0x2DAE3CF7 +class cEm020700ActBackStep /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActCatchRelease vftable:0x1CDC9B8, Size:0x40, CRC32:0xB69ABD4 +class cEm020700ActCatchRelease /*: cEmActCatchRelease, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActGuardCounter vftable:0x1CDC6E8, Size:0x40, CRC32:0x64B6B956 +class cEm020700ActGuardCounter /*: cEmActGuardCounter, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActGuardHit vftable:0x1CDC6A0, Size:0x40, CRC32:0x3DB2894F +class cEm020700ActGuardHit /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActGuardWait vftable:0x1CDC658, Size:0x50, CRC32:0x483321C0 +class cEm020700ActGuardWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActIaiReady vftable:0x1CDC778, Size:0x50, CRC32:0x52049633 +class cEm020700ActIaiReady /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActIaiStance vftable:0x1CDC730, Size:0x50, CRC32:0x29BCE2CD +class cEm020700ActIaiStance /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActNmlMoveStop vftable:0x1CDCAD8, Size:0x50, CRC32:0x7384EC04 +class cEm020700ActNmlMoveStop /*: cEmActNmlMoveStop, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActNmlWait vftable:0x1CDCA48, Size:0x40, CRC32:0x162F7D58 +class cEm020700ActNmlWait /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActPosWarpEnd vftable:0x1CDC928, Size:0x40, CRC32:0x3E4762A1 +class cEm020700ActPosWarpEnd /*: cEmActWarpEnd, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActTraceMove vftable:0x1CDCA90, Size:0x60, CRC32:0x30811A7E +class cEm020700ActTraceMove /*: cEmActNmlTraceMove, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActWalk vftable:0x1CDC970, Size:0x40, CRC32:0x5BEDFC5C +class cEm020700ActWalk /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActWarpEnd vftable:0x1CDC8E0, Size:0x40, CRC32:0x1C2CB2C5 +class cEm020700ActWarpEnd /*: cEmActWarpEnd, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActWarpStart vftable:0x1CDC898, Size:0x40, CRC32:0xF4CD4E4 +class cEm020700ActWarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020700ActWepModeChange vftable:0x1CDC610, Size:0x40, CRC32:0x25F94BA3 +class cEm020700ActWepModeChange /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020702ActBarrierBreak vftable:0x1CDCCD0, Size:0x70, CRC32:0x350E4687 +class cEm020702ActBarrierBreak /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020702ActBladeShot vftable:0x1CDCD18, Size:0x50, CRC32:0x3F0A38AC +class cEm020702ActBladeShot /*: cEmActAtkShell, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020702ActCatchStart vftable:0x1CDCBB0, Size:0x50, CRC32:0x1DD3AC03 +class cEm020702ActCatchStart /*: cEmActCatchStart, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020702ActCombo vftable:0x1CDCB68, Size:0x50, CRC32:0x34C23363 +class cEm020702ActCombo /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020702ActComboReady vftable:0x1CDCB20, Size:0x50, CRC32:0x3A7BB6BD +class cEm020702ActComboReady /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020702ActDragonSkill vftable:0x1CDCC88, Size:0x50, CRC32:0x2958648C +class cEm020702ActDragonSkill /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExDashFirstWarpStart vftable:0x1CDDDB8, Size:0x60, CRC32:0x42AA31AC +class cEm020803ExDashFirstWarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExDashRestart vftable:0x1CDDD70, Size:0x40, CRC32:0xAAE4D75 +class cEm020803ExDashRestart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExDashWarpEnd vftable:0x1CDDD20, Size:0x60, CRC32:0x35813D26 +class cEm020803ExDashWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExDashWarpStart vftable:0x1CDDCD8, Size:0x60, CRC32:0x71843D7 +class cEm020803ExDashWarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExFieldBreak vftable:0x1CDDE48, Size:0x50, CRC32:0x5AC3E6B3 +class cEm020803ExFieldBreak /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExFieldBreakEnd vftable:0x1CDDE90, Size:0x40, CRC32:0xAA12B30 +class cEm020803ExFieldBreakEnd /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803ExMeteorAppearLoop vftable:0x1CDDE00, Size:0x50, CRC32:0x61C975E2 +class cEm020803ExMeteorAppearLoop /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803HomePointWarpEnd vftable:0x1CDDF20, Size:0x50, CRC32:0x3BF1C001 +class cEm020803HomePointWarpEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803HomePointWarpStart vftable:0x1CDDED8, Size:0x40, CRC32:0x1ED1F163 +class cEm020803HomePointWarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020803RegenerateSet vftable:0x1CDDC90, Size:0x40, CRC32:0x2DB7DAB6 +class cEm020803RegenerateSet /*: cEmActRegenerateSet, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804ActionHideWait vftable:0x1CDEBA8, Size:0x40, CRC32:0x1B48D5C0 +class cEm020804ActionHideWait /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804AtkBreath vftable:0x1CDEA88, Size:0x50, CRC32:0x326CFD22 +class cEm020804AtkBreath /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804AtkBreathEnd vftable:0x1CDEAD0, Size:0x50, CRC32:0x192F8C7C +class cEm020804AtkBreathEnd /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804ChanceDown vftable:0x1CDE968, Size:0x70, CRC32:0x2ACB8303 +class cEm020804ChanceDown /*: cEmActChanceDown, cEmActDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804ContinuousAction vftable:0x1CDEA40, Size:0x50, CRC32:0x5C203D9A +class cEm020804ContinuousAction /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804ExGetup vftable:0x1CDE9F8, Size:0x60, CRC32:0x4D98C73 +class cEm020804ExGetup /*: cEmActGetup, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804ExGetupPre vftable:0x1CDE9B0, Size:0x60, CRC32:0x72E3CB29 +class cEm020804ExGetupPre /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804PreDown vftable:0x1CDE920, Size:0x60, CRC32:0x6B61BB33 +class cEm020804PreDown /*: cEmActDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804StartSummonHarpy vftable:0x1CDEB18, Size:0x40, CRC32:0x7FA986A6 +class cEm020804StartSummonHarpy /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm020804TurnToBridge vftable:0x1CDEB60, Size:0x50, CRC32:0x4183640F +class cEm020804TurnToBridge /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004ChanceDown vftable:0x1AF15F0, Size:0x70, CRC32:0x6DC7B118 +class cEm021004ChanceDown /*: cEmActChanceDown, cEmActDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004Crash vftable:0x1AF1680, Size:0x60, CRC32:0x57CF354E +class cEm021004Crash /*: cEmActCrushToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004CrashLanding vftable:0x1AF16C8, Size:0x60, CRC32:0x2DAE4EE7 +class cEm021004CrashLanding /*: cEmActCrushLandingToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004DamageToDown vftable:0x1AF15A8, Size:0x60, CRC32:0x5A999CA6 +class cEm021004DamageToDown /*: cEmActToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004GetupFromChanceDown vftable:0x1AF1638, Size:0x60, CRC32:0x3CD062CB +class cEm021004GetupFromChanceDown /*: cEmActGetupFromChanceDown, cEmActGetup, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004RegenerateSet vftable:0x1AF1758, Size:0x40, CRC32:0x3CCF247A +class cEm021004RegenerateSet /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004RegenerateStart vftable:0x1AF1710, Size:0x40, CRC32:0x51FA3652 +class cEm021004RegenerateStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004Run vftable:0x1AF17A0, Size:0x40, CRC32:0x72456CDE +class cEm021004Run /*: cEmActNmlMove, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004SpellSet vftable:0x1AF14D0, Size:0x40, CRC32:0x6F91F2B4 +class cEm021004SpellSet /*: cEmActAtkSpellSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004SpellShoot vftable:0x1AF1488, Size:0x40, CRC32:0x40E411C +class cEm021004SpellShoot /*: cEmActAtkSpellShoot, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004SpellStart vftable:0x1AF1440, Size:0x40, CRC32:0x6B33E82D +class cEm021004SpellStart /*: cEmActAtkSpellStart, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004StaffBattleSafeDomeEnd vftable:0x1B0C4E8, Size:0x18, CRC32:0x23024C35 +class cEm021004StaffBattleSafeDomeEnd /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSafeDomeStart vftable:0x1B0C4C0, Size:0x14, CRC32:0x41F5556C +class cEm021004StaffBattleSafeDomeStart /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellAct01 vftable:0x1B0C3F8, Size:0x3C, CRC32:0x3A2EF70D +class cEm021004StaffBattleSpellAct01 /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellAct02 vftable:0x1B0C420, Size:0x18, CRC32:0x2327A6B7 +class cEm021004StaffBattleSpellAct02 /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellAct03 vftable:0x1B0C448, Size:0x70, CRC32:0x54209621 +class cEm021004StaffBattleSpellAct03 /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellAct04 vftable:0x1B0C470, Size:0x18, CRC32:0x4A440382 +class cEm021004StaffBattleSpellAct04 /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellEnd vftable:0x1B0C498, Size:0x60, CRC32:0x3A03755D +class cEm021004StaffBattleSpellEnd /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellSetup vftable:0x1B0C380, Size:0x1C, CRC32:0x9B0A675 +class cEm021004StaffBattleSpellSetup /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpellStart vftable:0x1B0C3A8, Size:0x50, CRC32:0x33D4A5CA +class cEm021004StaffBattleSpellStart /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleSpelling vftable:0x1B0C3D0, Size:0x50, CRC32:0x125D9B63 +class cEm021004StaffBattleSpelling /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBattleWait vftable:0x1B0C358, Size:0x14, CRC32:0x604C523E +class cEm021004StaffBattleWait /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffBreak vftable:0x1B0C538, Size:0x18, CRC32:0x247BCEA6 +class cEm021004StaffBreak /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffCtrl vftable:0x1AEE820, Size:0xB0, CRC32:0x86EE364 +class cEm021004StaffCtrl /*: MtObject*/ { +}; + +// cEm021004StaffOfWise vftable:0x1AEED20, Size:0xF0, CRC32:0x7D9D3393 +class cEm021004StaffOfWise /*: MtObject*/ { +}; + +// cEm021004StaffSpellCancel vftable:0x1B0C510, Size:0x18, CRC32:0x4F4DEC66 +class cEm021004StaffSpellCancel /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffSummonAppear vftable:0x1B0C330, Size:0x18, CRC32:0x60759432 +class cEm021004StaffSummonAppear /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004StaffSummonWait vftable:0x1B0C308, Size:0x14, CRC32:0x39FA1B37 +class cEm021004StaffSummonWait /*: cSubAct021004, cSubAction, MtObject*/ { +}; + +// cEm021004SummonStaffLoop vftable:0x1AF1518, Size:0x40, CRC32:0x37ECEFE6 +class cEm021004SummonStaffLoop /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm021004SummonStaffSet vftable:0x1AF1560, Size:0x40, CRC32:0x5324D3B0 +class cEm021004SummonStaffSet /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm022000ActAtkBehindHoming vftable:0x1B04200, Size:0x40, CRC32:0x77548DCD +class cEm022000ActAtkBehindHoming /*: cEmActAtkTurn, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm022000ActAtkDashInit vftable:0x1B03FC0, Size:0x40, CRC32:0x62EF0F57 +class cEm022000ActAtkDashInit /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm022000ActAtkDashMove vftable:0x1B03F30, Size:0x50, CRC32:0x4BA5DC5B +class cEm022000ActAtkDashMove /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm022000ActAtkDashTurn vftable:0x1B03F78, Size:0x40, CRC32:0x4BBFE64 +class cEm022000ActAtkDashTurn /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm022000ActAtkReset vftable:0x1B04170, Size:0x40, CRC32:0x4C8CBE57 +class cEm022000ActAtkReset /*: cEmActAtkReset, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm022000ActAtkSummonSet vftable:0x1B041B8, Size:0x40, CRC32:0x415D61C6 +class cEm022000ActAtkSummonSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActAppear vftable:0x1CE2048, Size:0x40, CRC32:0x31E4A2AC +class cEm023000ActAppear /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActAppearEnd vftable:0x1CE2090, Size:0x40, CRC32:0x2CC4F07C +class cEm023000ActAppearEnd /*: cEmActAppearEnd, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActAtkBreath vftable:0x1CE2288, Size:0x40, CRC32:0x3BAFD984 +class cEm023000ActAtkBreath /*: cEmActAtkBreath, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActBackStep vftable:0x1CE22D0, Size:0x40, CRC32:0x591EFC4E +class cEm023000ActBackStep /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActCallRisingMagmaPre vftable:0x1CE21F8, Size:0x40, CRC32:0x5E1F3709 +class cEm023000ActCallRisingMagmaPre /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActCallRisingMagmaStart vftable:0x1CE2240, Size:0x40, CRC32:0x46DC63D8 +class cEm023000ActCallRisingMagmaStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActFeignDeadMotPlay vftable:0x1CE1CA0, Size:0x60, CRC32:0x47F3C183 +class cEm023000ActFeignDeadMotPlay /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActFieldBreak vftable:0x1CE1FB8, Size:0x50, CRC32:0x2DB12671 +class cEm023000ActFieldBreak /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActFieldBreakPre vftable:0x1CE1F70, Size:0x50, CRC32:0x66E6A267 +class cEm023000ActFieldBreakPre /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActFieldBreath vftable:0x1CE1EE0, Size:0x40, CRC32:0x291C1778 +class cEm023000ActFieldBreath /*: cEmActAirAtkBreath, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActGoToPhase2 vftable:0x1CE2000, Size:0x40, CRC32:0x71A00442 +class cEm023000ActGoToPhase2 /*: cEmActNmlFall, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActMagmaOmSummonSet vftable:0x1CE2120, Size:0x40, CRC32:0x247F9759 +class cEm023000ActMagmaOmSummonSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActMagmaOmSummonStart vftable:0x1CE20D8, Size:0x40, CRC32:0x3D3BBBB5 +class cEm023000ActMagmaOmSummonStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActMagmaRecover vftable:0x1CE1CE8, Size:0x50, CRC32:0x50FBFC05 +class cEm023000ActMagmaRecover /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActMagmaRecoverEnd vftable:0x1CE1D30, Size:0x40, CRC32:0x535DEB5D +class cEm023000ActMagmaRecoverEnd /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActPhase4SpOugiAttack vftable:0x1CE21B0, Size:0x40, CRC32:0x1CE1B3CD +class cEm023000ActPhase4SpOugiAttack /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActPhase4SpOugiLoop vftable:0x1CE2168, Size:0x40, CRC32:0x2C2FE300 +class cEm023000ActPhase4SpOugiLoop /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActPreFieldBreath vftable:0x1CE1E98, Size:0xC0, CRC32:0x3F8BA75 +class cEm023000ActPreFieldBreath /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActPreFieldFlyMove vftable:0x1CE1E08, Size:0x60, CRC32:0x5B61B66D +class cEm023000ActPreFieldFlyMove /*: cEmActFlyMove, cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActPreFieldFlyTurn vftable:0x1CE1E50, Size:0x40, CRC32:0x147F9452 +class cEm023000ActPreFieldFlyTurn /*: cEmActMotPlay, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActSummonMeteorSet vftable:0x1CE1C58, Size:0x40, CRC32:0x2C316F77 +class cEm023000ActSummonMeteorSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActSummonMeteorShoot vftable:0x1CE1C10, Size:0x40, CRC32:0x6A67E9C8 +class cEm023000ActSummonMeteorShoot /*: cEmActAtkSpellShoot, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000ActSummonMeteorStart vftable:0x1CE1BC8, Size:0x50, CRC32:0x55A40F9 +class cEm023000ActSummonMeteorStart /*: cEmActAtkSpellStart, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000BattlePhase vftable:0x1B0B668, Size:0x28, CRC32:0x2A5654C5 +class cEm023000BattlePhase /*: cEmPhaseBase, MtObject*/ { +}; + +// cEm023000SeriousnessSet vftable:0x1CE1DC0, Size:0x40, CRC32:0x66C5FAB6 +class cEm023000SeriousnessSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm023000SeriousnessStart vftable:0x1CE1D78, Size:0x40, CRC32:0x57DE0BC9 +class cEm023000SeriousnessStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActAirBreath vftable:0x1CE3630, Size:0x50, CRC32:0x53AEDC16 +class cEm024000ActAirBreath /*: cEmActAirAtkBreath, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActAtkTrans vftable:0x1CE30B0, Size:0x40, CRC32:0x4ECACB55 +class cEm024000ActAtkTrans /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActCombo vftable:0x1CE30F8, Size:0x50, CRC32:0x30093519 +class cEm024000ActCombo /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActDarkExplosionCristalStart vftable:0x1CE33C8, Size:0x60, CRC32:0x1E6410F1 +class cEm024000ActDarkExplosionCristalStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActDarkExplosionSet vftable:0x1CE3260, Size:0x50, CRC32:0x35FCBFD0 +class cEm024000ActDarkExplosionSet /*: cEmActAtkSpellSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActDarkExplosionStart vftable:0x1CE3218, Size:0x50, CRC32:0x62CFA1CE +class cEm024000ActDarkExplosionStart /*: cEmActAtkSpellStart, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActDragonBreathShrink vftable:0x1CE3380, Size:0x50, CRC32:0x3A22FFCF +class cEm024000ActDragonBreathShrink /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActMoonPunchBase vftable:0x1CE3410, Size:0x40, CRC32:0xF667430 +class cEm024000ActMoonPunchBase /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActMoonPunchLeavePlanet vftable:0x1CE3460, Size:0x50, CRC32:0x5AAD020F +class cEm024000ActMoonPunchLeavePlanet /*: cEm024000ActMoonPunchBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActMoonPunchSummon vftable:0x1CE35E8, Size:0x40, CRC32:0x237E26EF +class cEm024000ActMoonPunchSummon /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActMoonPunchSummonStart vftable:0x1CE35A0, Size:0x40, CRC32:0x57811F41 +class cEm024000ActMoonPunchSummonStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActMoonPunchTired vftable:0x1CE3550, Size:0x50, CRC32:0x47DFD363 +class cEm024000ActMoonPunchTired /*: cEm024000ActMoonPunchBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActNmlTrans vftable:0x1CE3068, Size:0x40, CRC32:0x78A9305C +class cEm024000ActNmlTrans /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActReset vftable:0x1CE3140, Size:0x50, CRC32:0x51A8BA1E +class cEm024000ActReset /*: cEmActAtkReset, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActRoar vftable:0x1CE32A8, Size:0x50, CRC32:0x656D9F12 +class cEm024000ActRoar /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActSatelliteSet vftable:0x1CE32F0, Size:0x40, CRC32:0x76AE5032 +class cEm024000ActSatelliteSet /*: cEmActAtkSpellSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActSpellNoMotion vftable:0x1CE3338, Size:0x40, CRC32:0x4AF49971 +class cEm024000ActSpellNoMotion /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActTransform vftable:0x1CE3188, Size:0x50, CRC32:0x310B4D16 +class cEm024000ActTransform /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm024000ActTransformEnd vftable:0x1CE31D0, Size:0x50, CRC32:0xD5E9BF0 +class cEm024000ActTransformEnd /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm02400ActMoonPunchDashLoop vftable:0x1CE3500, Size:0x40, CRC32:0xB276BA6 +class cEm02400ActMoonPunchDashLoop /*: cEm024000ActMoonPunchBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm02400ActMoonPunchHoverLoop vftable:0x1CE34B0, Size:0x60, CRC32:0x136F857C +class cEm02400ActMoonPunchHoverLoop /*: cEm024000ActMoonPunchBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030107ActionHideWait vftable:0x1CF0E98, Size:0x50, CRC32:0x3C61BB3C +class cEm030107ActionHideWait /*: cEmPhoenexDragonOMActionHideWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030108ActRegenerateSet vftable:0x1CF1008, Size:0x40, CRC32:0x6A0C6608 +class cEm030108ActRegenerateSet /*: cEmActRegenerateSet, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030108ActionWarpFollow vftable:0x1CF0EE0, Size:0x60, CRC32:0x75D891A5 +class cEm030108ActionWarpFollow /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030108MeteorAppearLoop vftable:0x1CF0F30, Size:0x50, CRC32:0x16578898 +class cEm030108MeteorAppearLoop /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030108MeteorBreak vftable:0x1CF0FC0, Size:0x40, CRC32:0x36B8F303 +class cEm030108MeteorBreak /*: cEmActNmlOmWait, cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030108MeteorExplosion vftable:0x1CF0F78, Size:0x40, CRC32:0x392B60D2 +class cEm030108MeteorExplosion /*: cEmActAtkShell, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030109ActFall vftable:0x1CF1478, Size:0x40, CRC32:0x24D87E06 +class cEm030109ActFall /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030109ActLandWait vftable:0x1CF1430, Size:0x40, CRC32:0x73BE37A5 +class cEm030109ActLandWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030109ActMoveWait vftable:0x1CF14C0, Size:0x50, CRC32:0x3DCEE520 +class cEm030109ActMoveWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030110SpecialDie vftable:0x1CE4190, Size:0x70, CRC32:0x2CE42E74 +class cEm030110SpecialDie /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111HideHillock vftable:0x1CE4B08, Size:0x40, CRC32:0x23B1BD7D +class cEm030111HideHillock /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111HillockAppear vftable:0x1CE4B50, Size:0x50, CRC32:0x83D65AE +class cEm030111HillockAppear /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111HillockCheck vftable:0x1CE4CB8, Size:0x50, CRC32:0x1357802C +class cEm030111HillockCheck /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111HillockDisappear vftable:0x1CE4C28, Size:0x40, CRC32:0x6B66A1D1 +class cEm030111HillockDisappear /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111InitProcess vftable:0x1CE4AC0, Size:0x40, CRC32:0x3767EA80 +class cEm030111InitProcess /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111Parts vftable:0x1CE46AC, Size:0x40, CRC32:0x2BCE878B +class cEm030111Parts /*: MtObject*/ { +}; + +// cEm030111PartsFire vftable:0x1CE4B98, Size:0x50, CRC32:0x13F7C572 +class cEm030111PartsFire /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111PartsNoFire vftable:0x1CE4D00, Size:0x50, CRC32:0x43965140 +class cEm030111PartsNoFire /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111PartsRespawn vftable:0x1CE4C70, Size:0x50, CRC32:0x7FB40C5B +class cEm030111PartsRespawn /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030111SetInsect vftable:0x1CE4BE0, Size:0x50, CRC32:0x1AF27722 +class cEm030111SetInsect /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030112Appear vftable:0x1CE6268, Size:0x50, CRC32:0x2F3180B1 +class cEm030112Appear /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030112Fall vftable:0x1CE62B0, Size:0x40, CRC32:0x6A450746 +class cEm030112Fall /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030113Appear vftable:0x1CE62F8, Size:0x50, CRC32:0x9468B05 +class cEm030113Appear /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030116AtkAction vftable:0x1CEE750, Size:0x50, CRC32:0xA46EA49 +class cEm030116AtkAction /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030116Death vftable:0x1CEE708, Size:0x80, CRC32:0x38CCC5E3 +class cEm030116Death /*: cEmActDeadDirect, cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm030118Death vftable:0x1CE74D8, Size:0x80, CRC32:0x2C6A493 +class cEm030118Death /*: cEmActDeadDirect, cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm050800ActExmAppear vftable:0x1CDCBF8, Size:0x50, CRC32:0x42A29D12 +class cEm050800ActExmAppear /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm050800ActExmLeave vftable:0x1CDCC40, Size:0x40, CRC32:0x7434518B +class cEm050800ActExmLeave /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075300ActDeadSelf vftable:0x1CE8240, Size:0x70, CRC32:0x38960C60 +class cEm075300ActDeadSelf /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075300ActPreDeadSelf vftable:0x1CE81F8, Size:0x40, CRC32:0x6EBD446 +class cEm075300ActPreDeadSelf /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075300ExMeteorAppearLoop vftable:0x1CE81B0, Size:0x50, CRC32:0x4CD5C459 +class cEm075300ExMeteorAppearLoop /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3ActAppearFromMagma vftable:0x1CE8C18, Size:0x40, CRC32:0x4541589D +class cEm075400Phase3ActAppearFromMagma /*: cEm075400Phase3ActFlightBase, cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3ActFightEscape vftable:0x1CE8D00, Size:0x50, CRC32:0x21120B13 +class cEm075400Phase3ActFightEscape /*: cEm075400Phase3ActFlightBase, cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3ActFlightBase vftable:0x1CE8BC8, Size:0x40, CRC32:0x39C50D81 +class cEm075400Phase3ActFlightBase /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3ActHoverBase vftable:0x1CE8B78, Size:0x40, CRC32:0x70F10C2B +class cEm075400Phase3ActHoverBase /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3ActHoverLoop vftable:0x1CE8C68, Size:0x50, CRC32:0x111AEFA4 +class cEm075400Phase3ActHoverLoop /*: cEmActHoverLoop, cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3ActHoverToNextPoint vftable:0x1CE8CB0, Size:0x60, CRC32:0x5C959774 +class cEm075400Phase3ActHoverToNextPoint /*: cEm075400Phase3ActFlightBase, cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400Phase3HideWait vftable:0x1CE8D50, Size:0x40, CRC32:0xEF5665D +class cEm075400Phase3HideWait /*: cEm075400Phase3ActFlightBase, cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEm075400PointWarp vftable:0x1CE8DA0, Size:0x60, CRC32:0x4ACE98D6 +class cEm075400PointWarp /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct01501YoroyoroDamage vftable:0x1B029F0, Size:0x60, CRC32:0x48A708B4 +class cEmAct01501YoroyoroDamage /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015050SpecialDead vftable:0x1AEF3A8, Size:0x60, CRC32:0x62B66676 +class cEmAct015050SpecialDead /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230AtkJump vftable:0x1CCA398, Size:0x40, CRC32:0x67C03736 +class cEmAct015230AtkJump /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230DownEnd vftable:0x1CCA350, Size:0x60, CRC32:0x4335CA0D +class cEmAct015230DownEnd /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230DownNow vftable:0x1CCA308, Size:0x70, CRC32:0x52C55573 +class cEmAct015230DownNow /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230DownStart vftable:0x1CCA2C0, Size:0x60, CRC32:0x52B12FB5 +class cEmAct015230DownStart /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230Extra2AtkNear vftable:0x1CCA1E8, Size:0x40, CRC32:0x33B5F1A +class cEmAct015230Extra2AtkNear /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230ExtraAtkBreath vftable:0x1CCA230, Size:0x40, CRC32:0x3935C39E +class cEmAct015230ExtraAtkBreath /*: cEmActAtkBreath, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230ExtraAtkNear vftable:0x1CCA1A0, Size:0x40, CRC32:0x407BF349 +class cEmAct015230ExtraAtkNear /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015230ExtraHillock vftable:0x1CCA278, Size:0x50, CRC32:0x97A53EE +class cEmAct015230ExtraHillock /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603Appear vftable:0x1CCF2F0, Size:0x50, CRC32:0x1DD91BBA +class cEmAct015603Appear /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603Dead vftable:0x1CCF338, Size:0x50, CRC32:0x693507D9 +class cEmAct015603Dead /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603DeathScythe vftable:0x1CCF4B0, Size:0x50, CRC32:0x49E8E6DE +class cEmAct015603DeathScythe /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603Down vftable:0x1CCF540, Size:0x70, CRC32:0x18EFDEC6 +class cEmAct015603Down /*: cEmActCrushToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603Escape vftable:0x1CCF380, Size:0x50, CRC32:0x5447D506 +class cEmAct015603Escape /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603Hide vftable:0x1CCF2A8, Size:0x50, CRC32:0x208985D6 +class cEmAct015603Hide /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603Lantern vftable:0x1CCF4F8, Size:0x50, CRC32:0x1882CEED +class cEmAct015603Lantern /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603WarpBackEnd vftable:0x1CCF460, Size:0x60, CRC32:0x3A8BD3F7 +class cEmAct015603WarpBackEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603WarpFrontEnd vftable:0x1CCF410, Size:0x60, CRC32:0x28250C0 +class cEmAct015603WarpFrontEnd /*: cEmActWarpEndEx, cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015603WarpStart vftable:0x1CCF3C8, Size:0x50, CRC32:0x4841E902 +class cEmAct015603WarpStart /*: cEmActWarpStart, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720ActDead vftable:0x1B03060, Size:0x70, CRC32:0x20679573 +class cEmAct015720ActDead /*: cEmActDead, cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720ChanceDown vftable:0x1B02FD0, Size:0x70, CRC32:0x5A758E60 +class cEmAct015720ChanceDown /*: cEmActChanceDown, cEmActDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720ChanceDownPreGetup vftable:0x1B03018, Size:0x60, CRC32:0x60F8694A +class cEmAct015720ChanceDownPreGetup /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720CrushLandingToDown vftable:0x1B030F0, Size:0x60, CRC32:0x63A770E +class cEmAct015720CrushLandingToDown /*: cEmActCrushLandingToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720FallToDown vftable:0x1B030A8, Size:0x60, CRC32:0x4FAAD833 +class cEmAct015720FallToDown /*: cEmActFallToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720GetupFromChanceDown vftable:0x1B03138, Size:0x60, CRC32:0x1B633F93 +class cEmAct015720GetupFromChanceDown /*: cEmActGetupFromChanceDown, cEmActGetup, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015720ToDown vftable:0x1B02F88, Size:0x60, CRC32:0x328382DA +class cEmAct015720ToDown /*: cEmActToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015730AtkHigh vftable:0x1CD3080, Size:0x40, CRC32:0x575F1E31 +class cEmAct015730AtkHigh /*: cEmActAtkShell, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015730LegBreakToDown vftable:0x1CD2F60, Size:0x60, CRC32:0x797415FF +class cEmAct015730LegBreakToDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015730LegChanceDown vftable:0x1CD2FA8, Size:0x60, CRC32:0x59CA2459 +class cEmAct015730LegChanceDown /*: cEmActDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015730StoneBreath vftable:0x1CD3038, Size:0x40, CRC32:0x1892D2E9 +class cEmAct015730StoneBreath /*: cEmActAtkShell, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015730Storm vftable:0x1CD2FF0, Size:0x40, CRC32:0x1BD0C98A +class cEmAct015730Storm /*: cEmActAtkShell, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015730ToDown vftable:0x1CD2F18, Size:0x70, CRC32:0x7E298244 +class cEmAct015730ToDown /*: cEmActToDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannoSetup vftable:0x1AEFB70, Size:0x80, CRC32:0x45BBD856 +class cEmAct015821AtkCannoSetup /*: cEmAct015821AtkCannonBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannonBase vftable:0x1AEF9C0, Size:0x50, CRC32:0x851110 +class cEmAct015821AtkCannonBase /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannonCharge vftable:0x1AEFA50, Size:0x50, CRC32:0x1223C1A4 +class cEmAct015821AtkCannonCharge /*: cEmAct015821AtkCannonUseBase, cEmAct015821AtkCannonBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannonChargeInit vftable:0x1AEFA98, Size:0x50, CRC32:0x5876E05A +class cEmAct015821AtkCannonChargeInit /*: cEmAct015821AtkCannonCharge, cEmAct015821AtkCannonUseBase, cEmAct015821AtkCannonBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannonOrder vftable:0x1AEFB28, Size:0x50, CRC32:0xE90C50 +class cEmAct015821AtkCannonOrder /*: cEmAct015821AtkCannonUseBase, cEmAct015821AtkCannonBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannonSearch vftable:0x1AEFAE0, Size:0x50, CRC32:0x73B8BE37 +class cEmAct015821AtkCannonSearch /*: cEmAct015821AtkCannonUseBase, cEmAct015821AtkCannonBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkCannonUseBase vftable:0x1AEFA08, Size:0x50, CRC32:0x1CD01D4F +class cEmAct015821AtkCannonUseBase /*: cEmAct015821AtkCannonBase, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821AtkRageOrder vftable:0x1AEF978, Size:0x40, CRC32:0x3550FBA4 +class cEmAct015821AtkRageOrder /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015821CannonWarp vftable:0x1AEFBB8, Size:0x40, CRC32:0x650CD55 +class cEmAct015821CannonWarp /*: cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015850AtkDashEnd vftable:0x1B037F8, Size:0x40, CRC32:0x3B12F907 +class cEmAct015850AtkDashEnd /*: cEmActAtkDashEnd, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015850AtkDashFinish vftable:0x1B03840, Size:0x40, CRC32:0x68FC40A8 +class cEmAct015850AtkDashFinish /*: cEmActAtkDashFinish, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015850AtkDashMove vftable:0x1B037B0, Size:0x40, CRC32:0x1F852086 +class cEmAct015850AtkDashMove /*: cEmActAtkDashMove, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015850TrinityStart vftable:0x1B03888, Size:0x40, CRC32:0x2662A2A4 +class cEmAct015850TrinityStart /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015861Assist vftable:0x1AF0348, Size:0x40, CRC32:0x4973213A +class cEmAct015861Assist /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015861HateOrder vftable:0x1AF0300, Size:0x40, CRC32:0x64D2CDC7 +class cEmAct015861HateOrder /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015861SummonOrder vftable:0x1AF0270, Size:0x40, CRC32:0x6F264CAB +class cEmAct015861SummonOrder /*: cEmActAtkSpellShoot, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015861SummonSet vftable:0x1AF02B8, Size:0x40, CRC32:0x3FEAE4C9 +class cEmAct015861SummonSet /*: cEmActAtkSummonSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862AtkShrinkComb vftable:0x1AF0B08, Size:0x50, CRC32:0x689DC037 +class cEmAct015862AtkShrinkComb /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862AtkSpellShoot vftable:0x1AF09E8, Size:0x50, CRC32:0x368B9A6B +class cEmAct015862AtkSpellShoot /*: cEmActAtkSpellShoot, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862AtkSpellStart vftable:0x1AF09A0, Size:0x40, CRC32:0x59B6335A +class cEmAct015862AtkSpellStart /*: cEmActAtkSpellStart, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862AtkSummonBlow vftable:0x1AF0AC0, Size:0x60, CRC32:0x26B6105 +class cEmAct015862AtkSummonBlow /*: cEmActBlow, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862AtkSummonSet vftable:0x1AF0A30, Size:0x40, CRC32:0x25D67FC3 +class cEmAct015862AtkSummonSet /*: cEmActAtkSummonSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862AtkSummonShrink vftable:0x1AF0A78, Size:0x60, CRC32:0x6F1DAFDF +class cEmAct015862AtkSummonShrink /*: cEmActShrink, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862Ranbu vftable:0x1AF0B50, Size:0x40, CRC32:0x5FCB3BA7 +class cEmAct015862Ranbu /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862StaminaHeal vftable:0x1AF0BE0, Size:0x60, CRC32:0xC5828BB +class cEmAct015862StaminaHeal /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015862StaminaHealPre vftable:0x1AF0B98, Size:0x40, CRC32:0x3D8BC682 +class cEmAct015862StaminaHealPre /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863AtkQuestLinkAction vftable:0x1CD8218, Size:0x50, CRC32:0x5137A754 +class cEmAct015863AtkQuestLinkAction /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863AtkSummonSet vftable:0x1CD81D0, Size:0x50, CRC32:0x7840A646 +class cEmAct015863AtkSummonSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863BackChantStart vftable:0x1CD8260, Size:0x40, CRC32:0x1CBC8DAD +class cEmAct015863BackChantStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863BerserkerCall vftable:0x1CD8388, Size:0x40, CRC32:0x50D9D780 +class cEmAct015863BerserkerCall /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863Warp vftable:0x1CD82A8, Size:0x50, CRC32:0x51C35ADB +class cEmAct015863Warp /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863WarpEnd vftable:0x1CD82F0, Size:0x50, CRC32:0x4155097 +class cEmAct015863WarpEnd /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct015863WeakStart vftable:0x1CD8340, Size:0x50, CRC32:0x72A88AAE +class cEmAct015863WeakStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct022000AtkSpOugiSet vftable:0x1B04098, Size:0x40, CRC32:0xE423B17 +class cEmAct022000AtkSpOugiSet /*: cEmActAtkSpellSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct022000AtkSpOugiShoot vftable:0x1B04050, Size:0x40, CRC32:0x639CB5F1 +class cEmAct022000AtkSpOugiShoot /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct022000AtkSpOugiStart vftable:0x1B04008, Size:0x50, CRC32:0xCA11CC0 +class cEmAct022000AtkSpOugiStart /*: cEmActAtkSummonSet, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct022000FieldBreak vftable:0x1B040E0, Size:0x40, CRC32:0x7CBB695 +class cEmAct022000FieldBreak /*: cEmActAtkNear, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct022000Swayed vftable:0x1B03EE8, Size:0x70, CRC32:0x350A60EE +class cEmAct022000Swayed /*: cEmActSwayed, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct071250Cleave vftable:0x1CD87F8, Size:0x50, CRC32:0x5625E1DE +class cEmAct071250Cleave /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct071250LongitudinalSlash vftable:0x1CD87B0, Size:0x50, CRC32:0x70A96DC3 +class cEmAct071250LongitudinalSlash /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmAct071250Wait vftable:0x1CD8840, Size:0x50, CRC32:0x6D8C7518 +class cEmAct071250Wait /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkBreath vftable:0x1B04DE0, Size:0x40, CRC32:0x634F0293 +class cEmActAirAtkBreath /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkExtra vftable:0x1B04F48, Size:0x40, CRC32:0x5251A3F +class cEmActAirAtkExtra /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkJumpEnd vftable:0x1B04C30, Size:0x40, CRC32:0x26760578 +class cEmActAirAtkJumpEnd /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkJumpStart vftable:0x1B04BE8, Size:0x40, CRC32:0xB221864 +class cEmActAirAtkJumpStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkMiddle vftable:0x1B04BA0, Size:0x40, CRC32:0x47F457BF +class cEmActAirAtkMiddle /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkMiddleStart vftable:0x1B04B58, Size:0x40, CRC32:0x6AA1BFCD +class cEmActAirAtkMiddleStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkNear vftable:0x1B04B10, Size:0x40, CRC32:0x3460B605 +class cEmActAirAtkNear /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkReset vftable:0x1B04E70, Size:0x40, CRC32:0x1887A817 +class cEmActAirAtkReset /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkShakeoff vftable:0x1B04E28, Size:0x40, CRC32:0x6C605D0B +class cEmActAirAtkShakeoff /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkShell vftable:0x1B04D98, Size:0x40, CRC32:0xD88A5A7 +class cEmActAirAtkShell /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkSpellSet vftable:0x1B04D08, Size:0x40, CRC32:0x190D6051 +class cEmActAirAtkSpellSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkSpellShoot vftable:0x1B04CC0, Size:0x40, CRC32:0x3906C241 +class cEmActAirAtkSpellShoot /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkSpellStart vftable:0x1B04C78, Size:0x40, CRC32:0x563B6B70 +class cEmActAirAtkSpellStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirAtkSummonSet vftable:0x1B04D50, Size:0x40, CRC32:0x4D10AA1F +class cEmActAirAtkSummonSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirShrink vftable:0x1B03DE0, Size:0x60, CRC32:0x13349338 +class cEmActAirShrink /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirShrinkBlow vftable:0x1B06948, Size:0x60, CRC32:0x4432D6EB +class cEmActAirShrinkBlow /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirSwayed vftable:0x1B06AB8, Size:0x60, CRC32:0x5C450C30 +class cEmActAirSwayed /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirSwayedGetup vftable:0x1B06B48, Size:0x60, CRC32:0x3C36E526 +class cEmActAirSwayedGetup /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAirSwayedLanding vftable:0x1B06B00, Size:0x60, CRC32:0x73822AFD +class cEmActAirSwayedLanding /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAltitudeFall vftable:0x1B06D50, Size:0x60, CRC32:0x250AE897 +class cEmActAltitudeFall /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAltitudeLanding vftable:0x1B06D98, Size:0x60, CRC32:0x7A845816 +class cEmActAltitudeLanding /*: cEmActBlowLanding, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAngryStart vftable:0x1B09390, Size:0x40, CRC32:0x400DEF6B +class cEmActAngryStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAppear vftable:0x1B093D8, Size:0x50, CRC32:0xD522386 +class cEmActAppear /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAppearEnd vftable:0x1B09420, Size:0x40, CRC32:0x19848CC5 +class cEmActAppearEnd /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActArmedExtraBurst vftable:0x1B050B0, Size:0x40, CRC32:0x22BC5BC9 +class cEmActArmedExtraBurst /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActArmedExtraBurstPre vftable:0x1B05068, Size:0x40, CRC32:0x498B76C6 +class cEmActArmedExtraBurstPre /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAroundMove vftable:0x1B092B8, Size:0x40, CRC32:0x18085257 +class cEmActAroundMove /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAroundMoveStop vftable:0x1B09300, Size:0x40, CRC32:0x37CF3A2F +class cEmActAroundMoveStop /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkBehind vftable:0x1B04890, Size:0x40, CRC32:0x19CDD13A +class cEmActAtkBehind /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkBreath vftable:0x1B04A78, Size:0x40, CRC32:0xEEFA53D +class cEmActAtkBreath /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkBreathWait vftable:0x1B04A30, Size:0x40, CRC32:0x728C0D34 +class cEmActAtkBreathWait /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkChargeEnd vftable:0x1B05020, Size:0x40, CRC32:0x56A13542 +class cEmActAtkChargeEnd /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkChargeLoop vftable:0x1B04FD8, Size:0x40, CRC32:0x57BF0CC3 +class cEmActAtkChargeLoop /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkChargeStart vftable:0x1B04F90, Size:0x40, CRC32:0x8520666 +class cEmActAtkChargeStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkDashEnd vftable:0x1B03728, Size:0x40, CRC32:0x15F04673 +class cEmActAtkDashEnd /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkDashFinish vftable:0x1B03768, Size:0x40, CRC32:0x165DB1A9 +class cEmActAtkDashFinish /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkDashMove vftable:0x1B036E8, Size:0x40, CRC32:0x4843771C +class cEmActAtkDashMove /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkDashMoveInitPlay vftable:0x1B04970, Size:0x40, CRC32:0x7299F9F0 +class cEmActAtkDashMoveInitPlay /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkHerald vftable:0x1B04F00, Size:0x40, CRC32:0x3BD7769D +class cEmActAtkHerald /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkJump vftable:0x1B048D8, Size:0x40, CRC32:0x76565BD5 +class cEmActAtkJump /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkJumpLanding vftable:0x1B04920, Size:0x40, CRC32:0x36078F31 +class cEmActAtkJumpLanding /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkMiddle vftable:0x1B04840, Size:0x40, CRC32:0x2A54F011 +class cEmActAtkMiddle /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkNear vftable:0x1AF0898, Size:0x40, CRC32:0x27A941D2 +class cEmActAtkNear /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkReset vftable:0x1B03EA0, Size:0x40, CRC32:0xA32697 +class cEmActAtkReset /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkShakeoff vftable:0x1B04AC0, Size:0x40, CRC32:0x14561787 +class cEmActAtkShakeoff /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkShell vftable:0x1B049E8, Size:0x40, CRC32:0x15AC2B27 +class cEmActAtkShell /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkSpellSet vftable:0x1AF11F8, Size:0x40, CRC32:0x613B2ADD +class cEmActAtkSpellSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkSpellShoot vftable:0x1AF01E8, Size:0x40, CRC32:0x3839C5BE +class cEmActAtkSpellShoot /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkSpellStart vftable:0x1AF08D8, Size:0x40, CRC32:0x57046C8F +class cEmActAtkSpellStart /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkSummonSet vftable:0x1AF0228, Size:0x40, CRC32:0x2966535E +class cEmActAtkSummonSet /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAtkTurn vftable:0x1B03E60, Size:0x40, CRC32:0x71C54884 +class cEmActAtkTurn /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActAttackBase vftable:0x1AEF8F0, Size:0x40, CRC32:0x4816F36B +class cEmActAttackBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBackMove vftable:0x1B09228, Size:0x40, CRC32:0x4D7622 +class cEmActBackMove /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBackTurn vftable:0x1B09348, Size:0x40, CRC32:0x4F53541D +class cEmActBackTurn /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBaphoFoundationStart vftable:0x1B09980, Size:0x40, CRC32:0x26975A3B +class cEmActBaphoFoundationStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBase vftable:0x1B0D6A8, Size:0x40, CRC32:0x58C210AD +class cEmActBase /*: cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBind vftable:0x1B07060, Size:0x60, CRC32:0x5EBA1D9F +class cEmActBind /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBlow vftable:0x1AF0958, Size:0x60, CRC32:0x45D4AFEB +class cEmActBlow /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActBlowLanding vftable:0x1B06C28, Size:0x60, CRC32:0x69E0BE8C +class cEmActBlowLanding /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchAttack vftable:0x1B05A80, Size:0x40, CRC32:0x7FE8AA5A +class cEmActCatchAttack /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchBase vftable:0x1B058D8, Size:0x40, CRC32:0x6F617A9E +class cEmActCatchBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchCancel vftable:0x1B05B58, Size:0x40, CRC32:0x6E3E4213 +class cEmActCatchCancel /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchFailed vftable:0x1B05AC8, Size:0x40, CRC32:0x26A32416 +class cEmActCatchFailed /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchFailedStretch vftable:0x1B05C78, Size:0x40, CRC32:0x149154AA +class cEmActCatchFailedStretch /*: cEmActCatchFailed, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchLoop vftable:0x1B05A38, Size:0x50, CRC32:0xE8A9911 +class cEmActCatchLoop /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchRelease vftable:0x1B05B10, Size:0x40, CRC32:0x76C895D9 +class cEmActCatchRelease /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchStart vftable:0x1B05960, Size:0x40, CRC32:0x6056800B +class cEmActCatchStart /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchStartStretch vftable:0x1B05BA0, Size:0x50, CRC32:0x43E794AB +class cEmActCatchStartStretch /*: cEmActCatchStart, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchSuccess vftable:0x1B059F0, Size:0x40, CRC32:0x78F4976 +class cEmActCatchSuccess /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchSuccessStretch vftable:0x1B05C30, Size:0x40, CRC32:0x37F20E95 +class cEmActCatchSuccessStretch /*: cEmActCatchSuccess, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchWait vftable:0x1B059A8, Size:0x50, CRC32:0x523B071A +class cEmActCatchWait /*: cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCatchWaitStretch vftable:0x1B05BE8, Size:0x60, CRC32:0x3A7BA467 +class cEmActCatchWaitStretch /*: cEmActCatchWait, cEmActCatchBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBase vftable:0x1B05918, Size:0x40, CRC32:0xDB9E15C +class cEmActCaughtBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBeardownCancel vftable:0x1B05FD8, Size:0x40, CRC32:0x4FF859C4 +class cEmActCaughtBeardownCancel /*: cEmActCaughtCancel, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBeardownEscape vftable:0x1B05F90, Size:0x40, CRC32:0x3C062C38 +class cEmActCaughtBeardownEscape /*: cEmActCaughtEscape, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBeardownFailed vftable:0x1B05F48, Size:0x40, CRC32:0x7653FC1 +class cEmActCaughtBeardownFailed /*: cEmActCaughtFailed, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBeardownLoop vftable:0x1B05F00, Size:0x50, CRC32:0x319D7B8F +class cEmActCaughtBeardownLoop /*: cEmActCaughtLoop, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBeardownStart vftable:0x1B05E70, Size:0x40, CRC32:0x77DE29AA +class cEmActCaughtBeardownStart /*: cEmActCaughtStart, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBeardownSuccess vftable:0x1B05EB8, Size:0x40, CRC32:0x1F99C81A +class cEmActCaughtBeardownSuccess /*: cEmActCaughtSuccess, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBindCancel vftable:0x1B06188, Size:0x40, CRC32:0x7D064391 +class cEmActCaughtBindCancel /*: cEmActCaughtCancel, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBindEscape vftable:0x1B06140, Size:0x40, CRC32:0xEF8366D +class cEmActCaughtBindEscape /*: cEmActCaughtEscape, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBindFailed vftable:0x1B060F8, Size:0x40, CRC32:0x359B2594 +class cEmActCaughtBindFailed /*: cEmActCaughtFailed, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBindLoop vftable:0x1B060B0, Size:0x40, CRC32:0x1E1BFBBF +class cEmActCaughtBindLoop /*: cEmActCaughtLoop, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBindStart vftable:0x1B06020, Size:0x40, CRC32:0x51A89F86 +class cEmActCaughtBindStart /*: cEmActCaughtStart, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCaughtBindSuccess vftable:0x1B06068, Size:0x40, CRC32:0x4AA937B +class cEmActCaughtBindSuccess /*: cEmActCaughtSuccess, cEmActCaughtBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActChanceDown vftable:0x1AF1338, Size:0x70, CRC32:0x277F0DAE +class cEmActChanceDown /*: cEmActDown, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCrush vftable:0x1B06C70, Size:0x60, CRC32:0xC0FEC8B +class cEmActCrush /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCrushLanding vftable:0x1B06CB8, Size:0x60, CRC32:0x73A3D354 +class cEmActCrushLanding /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCrushLandingToDown vftable:0x1AF1238, Size:0x60, CRC32:0x41D765EE +class cEmActCrushLandingToDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActCrushToDown vftable:0x1AF12B8, Size:0x60, CRC32:0x38EB7613 +class cEmActCrushToDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDamageBase vftable:0x1AEF320, Size:0x60, CRC32:0xF3DE966 +class cEmActDamageBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDead vftable:0x1B02F40, Size:0x70, CRC32:0x7553A7E8 +class cEmActDead /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDeadBase vftable:0x1AEF360, Size:0x60, CRC32:0x527FA475 +class cEmActDeadBase /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDeadDirect vftable:0x1B06EB0, Size:0x80, CRC32:0x44DE7AC5 +class cEmActDeadDirect /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDeadSelf vftable:0x1B06E68, Size:0x70, CRC32:0x69806377 +class cEmActDeadSelf /*: cEmActDeadBase, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDmgDown vftable:0x1B06E08, Size:0x60, CRC32:0x7E0B5C0D +class cEmActDmgDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDmgToFall vftable:0x1B06D08, Size:0x60, CRC32:0x1A224E23 +class cEmActDmgToFall /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActDown vftable:0x1AF12F8, Size:0x60, CRC32:0x4897EF7 +class cEmActDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm015400AirShrink vftable:0x1CCBE68, Size:0x60, CRC32:0x3B9E944C +class cEmActEm015400AirShrink /*: cEmActAirShrink, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm015400AirSwayedLoop vftable:0x1CCBF40, Size:0x70, CRC32:0x5B3C9461 +class cEmActEm015400AirSwayedLoop /*: cEmActSwayed, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm015400SpAtkCrush vftable:0x1CCBEF8, Size:0x60, CRC32:0x11FD6BF8 +class cEmActEm015400SpAtkCrush /*: cEmActCrush, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm015400SpOugiShlLoop vftable:0x1CCBEB0, Size:0x70, CRC32:0x276D4218 +class cEmActEm015400SpOugiShlLoop /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm015400Swayed vftable:0x1CCBF88, Size:0x70, CRC32:0x3B8A87F4 +class cEmActEm015400Swayed /*: cEmActSwayed, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm022000AirShrink vftable:0x1B04128, Size:0x60, CRC32:0x398A8CB0 +class cEmActEm022000AirShrink /*: cEmActAirShrink, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActEm023000FieldBreakJumpAtk vftable:0x1CE1F28, Size:0x40, CRC32:0x255A63AE +class cEmActEm023000FieldBreakJumpAtk /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActErosionRegenerateAll vftable:0x1B097D0, Size:0x40, CRC32:0x6F450A5B +class cEmActErosionRegenerateAll /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActErosionRegenerateInit vftable:0x1B09818, Size:0x40, CRC32:0x10F97097 +class cEmActErosionRegenerateInit /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActErosionRegeneratePriority vftable:0x1B09860, Size:0x40, CRC32:0x1CAF6C26 +class cEmActErosionRegeneratePriority /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActErosionRegenerateSetAll vftable:0x1B098A8, Size:0x40, CRC32:0x3607CC15 +class cEmActErosionRegenerateSetAll /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActErosionRegenerateSetInit vftable:0x1B098F0, Size:0x40, CRC32:0x1445EC6 +class cEmActErosionRegenerateSetInit /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActErosionRegenerateSetPriority vftable:0x1B09938, Size:0x40, CRC32:0xBAE1C2C +class cEmActErosionRegenerateSetPriority /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFallSwayed vftable:0x1B06B90, Size:0x60, CRC32:0x6853AE05 +class cEmActFallSwayed /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFallSwayedLanding vftable:0x1B06BD8, Size:0x60, CRC32:0x20BDAB02 +class cEmActFallSwayedLanding /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFallToDown vftable:0x1B02F00, Size:0x60, CRC32:0x32A05BFD +class cEmActFallToDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFlyBase vftable:0x1B07B78, Size:0x40, CRC32:0x2153D938 +class cEmActFlyBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFlyMove vftable:0x1B07DB8, Size:0x60, CRC32:0xED91021 +class cEmActFlyMove /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFlyToHover vftable:0x1B07E90, Size:0x40, CRC32:0x7955F0F6 +class cEmActFlyToHover /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFlyTraceMove vftable:0x1B07E00, Size:0x60, CRC32:0x2787C4BB +class cEmActFlyTraceMove /*: cEmActFlyMove, cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActFsmWait vftable:0x1B08528, Size:0x40, CRC32:0x7BE925B0 +class cEmActFsmWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGetup vftable:0x1AF1378, Size:0x60, CRC32:0x70B5708A +class cEmActGetup /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGetupFromChanceDown vftable:0x1AF13B8, Size:0x60, CRC32:0x3BAE30F9 +class cEmActGetupFromChanceDown /*: cEmActGetup, cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGoldFlyMove vftable:0x1CEAD08, Size:0x2D0, CRC32:0x47B5C1B1 +class cEmActGoldFlyMove /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGuardBreak vftable:0x1B07138, Size:0x60, CRC32:0x9A45E17 +class cEmActGuardBreak /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGuardCounter vftable:0x1B04EB8, Size:0x40, CRC32:0x1917875B +class cEmActGuardCounter /*: cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGuardEnd vftable:0x1B094F8, Size:0x40, CRC32:0x66F81F2E +class cEmActGuardEnd /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGuardHit vftable:0x1B099C8, Size:0x40, CRC32:0x3CD60ADE +class cEmActGuardHit /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGuardStart vftable:0x1B09468, Size:0x40, CRC32:0x1AA15B42 +class cEmActGuardStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActGuardWait vftable:0x1B094B0, Size:0x40, CRC32:0x4FBAE691 +class cEmActGuardWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverBase vftable:0x1B07B38, Size:0x40, CRC32:0x13288B66 +class cEmActHoverBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverLoop vftable:0x1B07C08, Size:0x40, CRC32:0x72C368E9 +class cEmActHoverLoop /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverMotion vftable:0x1B07C98, Size:0x40, CRC32:0x5B0973FF +class cEmActHoverMotion /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverMotionStop vftable:0x1B07CE0, Size:0x40, CRC32:0x70510679 +class cEmActHoverMotionStop /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverMove vftable:0x1B07C50, Size:0x50, CRC32:0x3CA2427F +class cEmActHoverMove /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverToFly vftable:0x1B07E48, Size:0x40, CRC32:0x7106AC5D +class cEmActHoverToFly /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverTraceMove vftable:0x1B07D28, Size:0x60, CRC32:0x4FF739B3 +class cEmActHoverTraceMove /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActHoverTurn vftable:0x1B07D70, Size:0x50, CRC32:0x73BC6040 +class cEmActHoverTurn /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActJumpSwayed vftable:0x1B069E0, Size:0x60, CRC32:0x6F97ABD2 +class cEmActJumpSwayed /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActJumpSwayedGetup vftable:0x1B06A70, Size:0x60, CRC32:0x44F8D44B +class cEmActJumpSwayedGetup /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActJumpSwayedLanding vftable:0x1B06A28, Size:0x60, CRC32:0x720FC7E3 +class cEmActJumpSwayedLanding /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActLanding vftable:0x1B07ED8, Size:0x40, CRC32:0x71557250 +class cEmActLanding /*: cEmActFlyBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActLandingApproach vftable:0x1B07F20, Size:0x40, CRC32:0x2140E917 +class cEmActLandingApproach /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActMotPlay vftable:0x1B08A28, Size:0x40, CRC32:0x436D1B06 +class cEmActMotPlay /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActMotSet vftable:0x1B08A70, Size:0x60, CRC32:0x3AAB8DEA +class cEmActMotSet /*: cEmActMotPlay, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActMoveFreezeDie vftable:0x1B072E8, Size:0x70, CRC32:0x700D60A8 +class cEmActMoveFreezeDie /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlFall vftable:0x1B09148, Size:0x40, CRC32:0x4A047D65 +class cEmActNmlFall /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlJump vftable:0x1B090B8, Size:0x40, CRC32:0x16E7A47F +class cEmActNmlJump /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlLanding vftable:0x1B09190, Size:0x40, CRC32:0x274AAC1F +class cEmActNmlLanding /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlMove vftable:0x1AF13F8, Size:0x40, CRC32:0x5E6A9511 +class cEmActNmlMove /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlMoveStop vftable:0x1B09028, Size:0x40, CRC32:0x5524508B +class cEmActNmlMoveStop /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlOmWait vftable:0x1B09618, Size:0x40, CRC32:0x18646D96 +class cEmActNmlOmWait /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlSummonAppear vftable:0x1B09588, Size:0x40, CRC32:0x57F7A088 +class cEmActNmlSummonAppear /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlSummonAppearMotPlay vftable:0x1B095D0, Size:0x40, CRC32:0x1F84F8C +class cEmActNmlSummonAppearMotPlay /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlSummonWait vftable:0x1B09540, Size:0x40, CRC32:0x336FEBC9 +class cEmActNmlSummonWait /*: cEmActNmlWait, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlTraceMove vftable:0x1B08FE0, Size:0x60, CRC32:0x21822729 +class cEmActNmlTraceMove /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlTurn vftable:0x1B09070, Size:0x70, CRC32:0x1174B72E +class cEmActNmlTurn /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNmlWait vftable:0x1AF01A8, Size:0x40, CRC32:0x4CBA218C +class cEmActNmlWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNormalBase vftable:0x1AEF8B0, Size:0x40, CRC32:0x69AF6AA2 +class cEmActNormalBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActNpcTalk vftable:0x1B08AB8, Size:0x60, CRC32:0x1368F146 +class cEmActNpcTalk /*: cEmActMotPlay, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActPointJump vftable:0x1B09100, Size:0xB0, CRC32:0x17267A3C +class cEmActPointJump /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActQuake vftable:0x1B070F0, Size:0x60, CRC32:0x6C7DFF98 +class cEmActQuake /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRegenerateSet vftable:0x1B096A8, Size:0x40, CRC32:0x70D67C98 +class cEmActRegenerateSet /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRegenerateStart vftable:0x1B09660, Size:0x40, CRC32:0x580232E3 +class cEmActRegenerateStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActReturnTerritoryWarp vftable:0x1B091E0, Size:0x40, CRC32:0x24C9632C +class cEmActReturnTerritoryWarp /*: cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRigid vftable:0x1B07180, Size:0x60, CRC32:0x70AE43C9 +class cEmActRigid /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRigidAir vftable:0x1B071C8, Size:0x60, CRC32:0xF28181F +class cEmActRigidAir /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRigidEnd vftable:0x1B072A0, Size:0x60, CRC32:0x33B49355 +class cEmActRigidEnd /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRigidFly vftable:0x1B07210, Size:0x60, CRC32:0x60C22357 +class cEmActRigidFly /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActRigidLanding vftable:0x1B07258, Size:0x60, CRC32:0x24D3BD3D +class cEmActRigidLanding /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActShrink vftable:0x1AF0918, Size:0x60, CRC32:0x533CD9B5 +class cEmActShrink /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActSleepLoop vftable:0x1B07018, Size:0x60, CRC32:0x7E2F6695 +class cEmActSleepLoop /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActSleepStart vftable:0x1B06FD0, Size:0x60, CRC32:0xAF362CD +class cEmActSleepStart /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActSpBlow vftable:0x1B06EF8, Size:0x60, CRC32:0x785652B2 +class cEmActSpBlow /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActStepMove vftable:0x1B09270, Size:0x40, CRC32:0x44D3B170 +class cEmActStepMove /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActStun vftable:0x1B06F40, Size:0x60, CRC32:0x6B023FC2 +class cEmActStun /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActStunEnd vftable:0x1B06F88, Size:0x60, CRC32:0x630BA596 +class cEmActStunEnd /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActSwayed vftable:0x1B03E20, Size:0x70, CRC32:0x1C4D46BD +class cEmActSwayed /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActSwayedEnd vftable:0x1B06998, Size:0x60, CRC32:0x24381432 +class cEmActSwayedEnd /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActTakeoff vftable:0x1B07BC0, Size:0x40, CRC32:0x6E6B8EC0 +class cEmActTakeoff /*: cEmActHoverBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActToDown vftable:0x1AF1278, Size:0x60, CRC32:0x46BEB345 +class cEmActToDown /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActTraceBase vftable:0x1B0D728, Size:0x40, CRC32:0x18821436 +class cEmActTraceBase /*: cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActWarpBase vftable:0x1AEF930, Size:0x40, CRC32:0x4426F7D9 +class cEmActWarpBase /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActWarpEnd vftable:0x1B09738, Size:0x40, CRC32:0x46B9EE11 +class cEmActWarpEnd /*: cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActWarpEndEx vftable:0x1B09780, Size:0x50, CRC32:0x47BBE898 +class cEmActWarpEndEx /*: cEmActWarpBase, cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActWarpStart vftable:0x1B096F0, Size:0x40, CRC32:0x8C513B5 +class cEmActWarpStart /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmActWind vftable:0x1B070A8, Size:0x70, CRC32:0x397DBA32 +class cEmActWind /*: cEmActDamageBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmArmor vftable:0x1AF1DDC, Size:0xB8, CRC32:0x5E24E771 +class cEmArmor /*: MtObject*/ { +}; + +// cEmBaseInfoSv vftable:0x1C551A0, Size:0xC, CRC32:0x2157CFAD +class cEmBaseInfoSv /*: MtObject*/ { +}; + +// cEmCategory vftable:0x1C579A8, Size:0x21C, CRC32:0x12E9B0C3 +class cEmCategory /*: MtObject*/ { +}; + +// cEmDamageDirInfo vftable:0x1C57F50, Size:0x18, CRC32:0x5C6B67E0 +class cEmDamageDirInfo /*: MtObject*/ { + u32 'GJeS[' ; // Offset:0x4, Var, CRC32:0x854CA68, Flags:0x0 + u32 'ANV^Cv' ; // Offset:0x8, Var, CRC32:0x5ADA082B, Flags:0x0 + u32 '^Cv' ; // Offset:0xC, Var, CRC32:0x3001051F, Flags:0x0 + bool '␳' ; // Offset:0x10, Var, CRC32:0xB833AAA9, Flags:0x0 + bool 'dʕ␳(XZx)' ; // Offset:0x11, Var, CRC32:0x4FBDC01F, Flags:0x0 + bool 'dʕ␳(XZ)' ; // Offset:0x12, Var, CRC32:0xEE668791, Flags:0x0 + bool 'dʕ␳(Yx)' ; // Offset:0x13, Var, CRC32:0xD8F03C85, Flags:0x0 + bool 'dʕ␳(Y)' ; // Offset:0x14, Var, CRC32:0x792B7B0B, Flags:0x0 +}; + +// cEmDmgTimerTbl vftable:0x1C585A0, Size:0xC, CRC32:0x219BB0CA +class cEmDmgTimerTbl /*: MtObject*/ { +}; + +// cEmEffectSeControl vftable:0x1C29218, Size:0x50, CRC32:0x4584B0CA +class cEmEffectSeControl /*: MtObject*/ { +}; + +// cEmEffectTable vftable:0x1C58B48, Size:0x40, CRC32:0x5F14BA0F +class cEmEffectTable /*: MtObject*/ { + u32 'mIdx' ; // Offset:0x4, Var, CRC32:0x37F3EEDF, Flags:0x0 + u32 'mEffectSyncBitNo' ; // Offset:0x8, Var, CRC32:0xAF646177, Flags:0x0 + u32 'mEffectResNo' ; // Offset:0xC, Var, CRC32:0x7FC58963, Flags:0x0 + s32 'mEffectEndType' ; // Offset:0x10, Var, CRC32:0xF522E12C, Flags:0x0 + s32 'mEffectIndexNo' ; // Offset:0x14, Var, CRC32:0xDAC78CC8, Flags:0x0 + s32 'mEffectElementNo' ; // Offset:0x18, Var, CRC32:0x92DE9BE4, Flags:0x0 + bool 'mDieNoCall' ; // Offset:0x1C, Var, CRC32:0xCEF0460C, Flags:0x0 + u32 'mBoneNo' ; // Offset:0x20, Var, CRC32:0xF712D1E6, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x30, Var, CRC32:0xB849CDBB, Flags:0x0 +}; + +// cEmFloatMoveCtrl vftable:0x1B0BD88, Size:0x28, CRC32:0x617BBB44 +class cEmFloatMoveCtrl /*: cEmSimpleMoveCtrl, MtObject*/ { +}; + +// cEmLvUpParam vftable:0x1C59100, Size:0xB8, CRC32:0x53AFBA40 +class cEmLvUpParam /*: MtObject*/ { +}; + +// cEmMsgTable vftable:0x1C591FC, Size:0xC, CRC32:0x3D2610A +class cEmMsgTable /*: MtObject*/ { + u32 'mEnemyID' ; // Offset:0x4, Var, CRC32:0x664A54F1, Flags:0x0 + u32 'mMessageId' ; // Offset:0x8, Var, CRC32:0xF8572E9E, Flags:0x0 +}; + +// cEmPhaseBase vftable:0x1B0A1F0, Size:0x18, CRC32:0x19DB093D +class cEmPhaseBase /*: MtObject*/ { +}; + +// cEmPhaseCtrl vftable:0x1B0A774, Size:0x30, CRC32:0x5B4D8626 +class cEmPhaseCtrl /*: MtObject*/ { +}; + +// cEmPhoenexDragonOMActionHideWait vftable:0x1CF0E50, Size:0x50, CRC32:0xB0F132B +class cEmPhoenexDragonOMActionHideWait /*: cEmActNormalBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmPhoenixDragonActBlendBreath vftable:0x1CE2318, Size:0x50, CRC32:0x78AD54C5 +class cEmPhoenixDragonActBlendBreath /*: cEmActAtkBreath, cEmActAttackBase, cEmActBase, cAction, MtObject*/ { + f32 'mRotateY' ; // Offset:0x20, Var, CRC32:0x4AD6B0BA, Flags:0x0 + vector3 'mSequenceTurnTargetPos' ; // Offset:0x30, Var, CRC32:0xD34A8573, Flags:0x0 +}; + +// cEmRotationMoveCtrl vftable:0x1B0BDA4, Size:0x28, CRC32:0x53EB7016 +class cEmRotationMoveCtrl /*: cEmSimpleMoveCtrl, MtObject*/ { +}; + +// cEmScaleTable vftable:0x1C59FEC, Size:0x20, CRC32:0x3E5BDB1A +class cEmScaleTable /*: MtObject*/ { + u32 'mBoneNo' ; // Offset:0x4, Var, CRC32:0xF712D1E6, Flags:0x0 + f32 'mFrame' ; // Offset:0x8, Var, CRC32:0x484CA60C, Flags:0x0 + vector3 'mScale' ; // Offset:0x10, Var, CRC32:0x11F2BF45, Flags:0x0 +}; + +// cEmScrAdjust vftable:0x1C5A0E4, Size:0x14, CRC32:0x4BC18C64 +class cEmScrAdjust /*: MtObject*/ { +}; + +// cEmSimpleMoveCtrl vftable:0x1B0BD6C, Size:0x28, CRC32:0x7B1FC3B2 +class cEmSimpleMoveCtrl /*: MtObject*/ { +}; + +// cEmSoundTable vftable:0x1C5A1E4, Size:0x30, CRC32:0x7C5DD553 +class cEmSoundTable /*: MtObject*/ { + u32 'mIdx' ; // Offset:0x4, Var, CRC32:0x37F3EEDF, Flags:0x0 + bool 'mDieIsNoCall' ; // Offset:0x8, Var, CRC32:0xE7DA12A6, Flags:0x0 + u32 'mSoundResNo' ; // Offset:0xC, Var, CRC32:0xD9F650C3, Flags:0x0 + u32 'mSoundNo' ; // Offset:0x10, Var, CRC32:0x2C4E4968, Flags:0x0 + bool 'mAttachFlag' ; // Offset:0x14, Var, CRC32:0xA1746990, Flags:0x0 + u32 'mRequestType' ; // Offset:0x18, Var, CRC32:0x7361CAEC, Flags:0x0 + s32 'mBoneNo' ; // Offset:0x1C, Var, CRC32:0xF712D1E6, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x20, Var, CRC32:0xB849CDBB, Flags:0x0 +}; + +// cEmStatusAdj vftable:0x1C5A320, Size:0x18, CRC32:0x1341F685 +class cEmStatusAdj /*: MtObject*/ { +}; + +// cEmWarpParam vftable:0x1C5A41C, Size:0x18, CRC32:0x15E59CC +class cEmWarpParam /*: MtObject*/ { +}; + +// cEmWeakSafe vftable:0x1C5A514, Size:0x20, CRC32:0x3D044FAE +class cEmWeakSafe /*: MtObject*/ { +}; + +// cEmWorkRateCtrl vftable:0x1B0CC28, Size:0x18, CRC32:0x28186EC7 +class cEmWorkRateCtrl /*: MtObject*/ { + u32 '݂̏Ԕԍ' ; // Offset:0xC, Var, CRC32:0x62EEDFF, Flags:0x0 + u32 '݂̏ԗDx' ; // Offset:0x14, Var, CRC32:0xF41B5492, Flags:0x0 +}; + +// cEmWorkRateTable vftable:0x1C5A610, Size:0xC, CRC32:0x11D195E5 +class cEmWorkRateTable /*: MtObject*/ { + f32 'mWorkRate' ; // Offset:0x4, Var, CRC32:0x6055EEFC, Flags:0x0 + u32 'mWorkRateStatus' ; // Offset:0x8, Var, CRC32:0x8CDE55E5, Flags:0x0 +}; + +// cEmblemColorTable vftable:0x1C55730, Size:0xC, CRC32:0x15FE7676 +class cEmblemColorTable /*: MtObject*/ { +}; + +// cEmparam vftable:0x1C59A40, Size:0x9F0, CRC32:0x4384A00 +class cEmparam /*: MtObject*/ { +}; + +// cEndContentsManager vftable:0x1B0D178, Size:0xF8, CRC32:0x77B5DAEC +class cEndContentsManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cEndContentsSortieInfo vftable:0x1C5A72C, Size:0x24, CRC32:0x3EB0F6F3 +class cEndContentsSortieInfo /*: MtObject*/ { +}; + +// cEnemyBloodStain vftable:0x1C5ACD8, Size:0x20, CRC32:0x163F2351 +class cEnemyBloodStain /*: MtObject*/ { +}; + +// cEnemyEventHistory vftable:0x1B0D874, Size:0x10, CRC32:0x12346133 +class cEnemyEventHistory /*: MtObject*/ { +}; + +// cEnemyGroup vftable:0x1C5AE08, Size:0x20, CRC32:0x5186BD7 +class cEnemyGroup /*: MtObject*/ { + u32 'mEnemyGroupId' ; // Offset:0x4, Var, CRC32:0x859B33AD, Flags:0x0 + u32 'mMsgIndex' ; // Offset:0x8, Var, CRC32:0x49A310D2, Flags:0x0 + class 'mEmList' ; // Offset:0xC, Var, CRC32:0x737BADBD, Flags:0x0 +}; + +// cEnemyGroup::cEmList vftable:0x1C5ADD8, Size:0x8, CRC32:0x96E3447 +class cEnemyGroup::cEmList /*: MtObject*/ { + u32 'mEmId' ; // Offset:0x4, Var, CRC32:0xDFDE1A6F, Flags:0x0 +}; + +// cEnemyLocalEstTable vftable:0x1C5B3E0, Size:0x24, CRC32:0x55BB9738 +class cEnemyLocalEstTable /*: MtObject*/ { + u32 'mIdx' ; // Offset:0x4, Var, CRC32:0x37F3EEDF, Flags:0x0 + bool 'mSetUpOff' ; // Offset:0x8, Var, CRC32:0x51327784, Flags:0x0 + u32 'mStatus' ; // Offset:0xC, Var, CRC32:0x459CCC2D, Flags:0x0 + u32 'mBitNo' ; // Offset:0x10, Var, CRC32:0x7E452FB6, Flags:0x0 + bool 'mCheckBit' ; // Offset:0x14, Var, CRC32:0x5154953D, Flags:0x0 + bool 'mPlayAlways' ; // Offset:0x15, Var, CRC32:0x7900CC87, Flags:0x0 + u32 'mControlType' ; // Offset:0x18, Var, CRC32:0x321570F3, Flags:0x0 + u32 'mControlIndex' ; // Offset:0x1C, Var, CRC32:0x34C97861, Flags:0x0 + u32 'mBitContrlCommand' ; // Offset:0x20, Var, CRC32:0x1B918344, Flags:0x0 +}; + +// cEnemyLocalShelTable vftable:0x1C5B9E8, Size:0x14, CRC32:0x62AC9CB9 +class cEnemyLocalShelTable /*: MtObject*/ { + u32 'mIdx' ; // Offset:0x4, Var, CRC32:0x37F3EEDF, Flags:0x0 + u32 'mShellNo' ; // Offset:0x8, Var, CRC32:0xF5B17761, Flags:0x0 + u32 'mSyncFlagMax32' ; // Offset:0xC, Var, CRC32:0x77E92DD1, Flags:0x0 + bool 'mDieIsNoCall' ; // Offset:0x10, Var, CRC32:0xE7DA12A6, Flags:0x0 +}; + +// cEnemyMaterialTable vftable:0x1C5BFB8, Size:0x1C, CRC32:0x3A250F7A +class cEnemyMaterialTable /*: MtObject*/ { + u32 'mIdx' ; // Offset:0x4, Var, CRC32:0x37F3EEDF, Flags:0x0 + u32 'mMaterialType' ; // Offset:0x8, Var, CRC32:0xD0DE3D1, Flags:0x0 + s32 'mMaterialNo' ; // Offset:0xC, Var, CRC32:0x7D987565, Flags:0x0 + u32 'mMaterialWeakPointNo' ; // Offset:0x10, Var, CRC32:0xE87C212C, Flags:0x0 + u32 'mMaterialAnimationType' ; // Offset:0x14, Var, CRC32:0x6B8AFEF5, Flags:0x0 + bool 'mDieIsNoCall' ; // Offset:0x18, Var, CRC32:0xE7DA12A6, Flags:0x0 +}; + +// cEnemyOrderBase vftable:0x1B0DD58, Size:0x4, CRC32:0x61C3634D +class cEnemyOrderBase /*: MtObject*/ { +}; + +// cEnemyOrderCtrl vftable:0x1B0E280, Size:0x30, CRC32:0x2355EC56 +class cEnemyOrderCtrl /*: MtObject*/ { +}; + +// cEnemyOrderHateFix vftable:0x1B0DD80, Size:0x8, CRC32:0x3C59EE50 +class cEnemyOrderHateFix /*: cEnemyOrderBase, MtObject*/ { +}; + +// cEnemyReactRes vftable:0x1C5C5B0, Size:0x18, CRC32:0x6FF745BA +class cEnemyReactRes /*: MtObject*/ { +}; + +// cEnemyStatusChange vftable:0x1C5C6B0, Size:0x44, CRC32:0xB00FE4F +class cEnemyStatusChange /*: MtObject*/ { + u32 'mGroupNo' ; // Offset:0x4, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u32 'mGroupSubNo' ; // Offset:0x8, Var, CRC32:0xCA44C645, Flags:0x0 + u32 'mNextGroupSubNo' ; // Offset:0xC, Var, CRC32:0xA62385D9, Flags:0x0 + bool 'mNextGroupSubOneGo' ; // Offset:0x10, Var, CRC32:0xCF3EF170, Flags:0x0 + u32 'TypeSettingStatusChange' ; // Offset:0x14, Var, CRC32:0x5B84E7C6, Flags:0x0 + bool 'TypeReverse' ; // Offset:0x18, Var, CRC32:0xC64D5418, Flags:0x0 + u32 'mRepeatSetting' ; // Offset:0x1C, Var, CRC32:0xAB0F2958, Flags:0x0 + u32 'mChangeStatus' ; // Offset:0x20, Var, CRC32:0x70F42F31, Flags:0x0 + u32 'mSelectNo' ; // Offset:0x24, Var, CRC32:0x5185ABFA, Flags:0x0 + f32 'mParam[0]' ; // Offset:0x28, Var, CRC32:0x4DBC3E37, Flags:0x0 + f32 'mParam[1]' ; // Offset:0x2C, Var, CRC32:0x54A70F76, Flags:0x0 + f32 'mSystemParam[0]' ; // Offset:0x30, Var, CRC32:0x8EBC3BFA, Flags:0x0 + f32 'mSystemParam[1]' ; // Offset:0x34, Var, CRC32:0x97A70ABB, Flags:0x0 + f32 'mSystemParam[2]' ; // Offset:0x38, Var, CRC32:0xBC8A5978, Flags:0x0 + f32 'mSystemParamWait' ; // Offset:0x3C, Var, CRC32:0x960C1AD4, Flags:0x0 + u32 'mBitContrlCommand' ; // Offset:0x40, Var, CRC32:0x1B918344, Flags:0x0 +}; + +// cEnemyThink vftable:0x1B0EC24, Size:0x4, CRC32:0x3A224FBA +class cEnemyThink /*: MtObject*/ { +}; + +// cEnhancedData vftable:0x1C5CA84, Size:0x8, CRC32:0x7C98B84 +class cEnhancedData /*: MtObject*/ { +}; + +// cEnhancedParam vftable:0x1C5CABC, Size:0x18, CRC32:0x483CDEA7 +class cEnhancedParam /*: MtObject*/ { +}; + +// cEnumDef vftable:0x1B0EC50, Size:0xC, CRC32:0x53C28DC8 +class cEnumDef /*: MtObject*/ { +}; + +// cEquipCalc vftable:0x1AF89D0, Size:0x280, CRC32:0x6764FCE0 +class cEquipCalc /*: MtObject*/ { +}; + +// cEquipData vftable:0x1B0F6F8, Size:0x31C, CRC32:0x16A63D2C +class cEquipData /*: MtObject*/ { +}; + +// cEquipItemInfoEx vftable:0x1C949A0, Size:0x34, CRC32:0x5C1A18AA +class cEquipItemInfoEx /*: MtObject*/ { +}; + +// cEquipParamBase vftable:0x1B0F200, Size:0x298, CRC32:0x4E02F5CF +class cEquipParamBase /*: MtObject*/ { +}; + +// cEquipParamDisplay vftable:0x1B103C8, Size:0x304, CRC32:0x61801427 +class cEquipParamDisplay /*: cEquipParamBase, MtObject*/ { +}; + +// cEquipParamPerformance vftable:0x1B108C4, Size:0x528, CRC32:0x70E92DB3 +class cEquipParamPerformance /*: cEquipParamBase, MtObject*/ { +}; + +// cEquipPlayerData vftable:0x1B10DC8, Size:0x624, CRC32:0x708FBEC5 +class cEquipPlayerData /*: cEquipData, MtObject*/ { +}; + +// cEquipPreset vftable:0x1C5D708, Size:0x8, CRC32:0x66BB71E5 +class cEquipPreset /*: MtObject*/ { +}; + +// cEquipPresetPalette vftable:0x1C1915C, Size:0x1C, CRC32:0x7D888792 +class cEquipPresetPalette /*: cCharacterEditPaletteBase, MtObject*/ { +}; + +// cErosionInfoRes vftable:0x1C5DD88, Size:0x28, CRC32:0x1A76E99E +class cErosionInfoRes /*: MtObject*/ { +}; + +// cErosionRegion vftable:0x1B112E0, Size:0x5C, CRC32:0x73F7AACF +class cErosionRegion /*: MtObject*/ { +}; + +// cErosionRegionRes vftable:0x1C5DE78, Size:0x3C, CRC32:0x537CA7E8 +class cErosionRegionRes /*: MtObject*/ { +}; + +// cErosionRegionScaleChange vftable:0x1C5E1A0, Size:0x30, CRC32:0x373FE2E6 +class cErosionRegionScaleChange /*: MtObject*/ { +}; + +// cErosionShakeConvert vftable:0x1C4F5E4, Size:0xC, CRC32:0x2FE0F985 +class cErosionShakeConvert /*: MtObject*/ { + f32 'UhԂ背[g' ; // Offset:0x4, Var, CRC32:0x6826580C, Flags:0x0 + f32 'RA|Cg̉Z(Frame)' ; // Offset:0x8, Var, CRC32:0x7B40A212, Flags:0x0 +}; + +// cErosionSmallInfoRes vftable:0x1C5DF68, Size:0x18, CRC32:0x6D171E3A +class cErosionSmallInfoRes /*: MtObject*/ { +}; + +// cErosionSuperInfoRes vftable:0x1C5E05C, Size:0x14, CRC32:0x74DC4420 +class cErosionSuperInfoRes /*: MtObject*/ { +}; + +// cEvaluation vftable:0x1B9E3A8, Size:0x29EC, CRC32:0x62BA70F9 +class cEvaluation /*: MtObject*/ { +}; + +// cEvaluationData vftable:0x1B9E38C, Size:0x29C, CRC32:0x5334775A +class cEvaluationData /*: MtObject*/ { +}; + +// cEvaluationPoint vftable:0x1B9E370, Size:0x14, CRC32:0x3ADC5325 +class cEvaluationPoint /*: MtObject*/ { +}; + +// cEvaluationTable vftable:0x1C5E2B4, Size:0x18, CRC32:0x7B502F47 +class cEvaluationTable /*: MtObject*/ { + u32 'mEvalutionCategory' ; // Offset:0x4, Var, CRC32:0x712D9817, Flags:0x0 + u32 'mEvalutionCategoryMax' ; // Offset:0x8, Var, CRC32:0xBF545498, Flags:0x0 + f32 'mEvalutionCategoryDecPer' ; // Offset:0xC, Var, CRC32:0xDE7B629E, Flags:0x0 + f32 'mEvalutionCategoryHosei' ; // Offset:0x10, Var, CRC32:0xDD107B17, Flags:0x0 + f32 'mEvalutionCategoryEizokuHosei' ; // Offset:0x14, Var, CRC32:0x3956C43, Flags:0x0 +}; + +// cEventParam vftable:0x1C5E460, Size:0x3C, CRC32:0x564CBAB1 +class cEventParam /*: MtObject*/ { + u16 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u16 'mStage' ; // Offset:0x6, Var, CRC32:0x3FC809A8, Flags:0x0 + u16 'mEvNo' ; // Offset:0x8, Var, CRC32:0x173E19B1, Flags:0x0 + u16 'mFlag' ; // Offset:0xA, Var, CRC32:0x8FD20A6, Flags:0x0 + u32 'mQuestId' ; // Offset:0x10, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mLightCtrl' ; // Offset:0x14, Var, CRC32:0xEADEEBC1, Flags:0x0 + u8 'mStartFadeType' ; // Offset:0x18, Var, CRC32:0x45EA08BB, Flags:0x0 + u8 'mEndFadeType' ; // Offset:0x19, Var, CRC32:0x56451BF1, Flags:0x0 + s16 'mSubMixerBefore' ; // Offset:0x1A, Var, CRC32:0x583894C8, Flags:0x0 + s16 'mSubMixerAfter' ; // Offset:0x1C, Var, CRC32:0xE08093F2, Flags:0x0 + class 'mOmList' ; // Offset:0x20, Var, CRC32:0xD2E08EDB, Flags:0x0 + f32 'mOmAQCScale' ; // Offset:0x34, Var, CRC32:0xCF590ADD, Flags:0x0 + u32 'mVersion' ; // Offset:0x38, Var, CRC32:0x3CFEA0DD, Flags:0x0 + string 'mFname' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA7FCD0, Setter:0xA7F259, CRC32:0x52834E2B, Flags:0x800000 +}; + +// cEventParam::cOmList vftable:0x1C5E430, Size:0x10, CRC32:0x10BB2E70 +class cEventParam::cOmList /*: MtObject*/ { + u32 'mOmId' ; // Offset:0x4, Var, CRC32:0xB063FA0B, Flags:0x0 + u16 'mCtrlType' ; // Offset:0x8, Var, CRC32:0x1C6FAD19, Flags:0x0 + u16 'mLotType' ; // Offset:0xA, Var, CRC32:0xAAC0567A, Flags:0x0 + s16 'mGroupNo' ; // Offset:0xC, Var, CRC32:0xB6F0B4E1, Flags:0x0 + s16 'mSetId' ; // Offset:0xE, Var, CRC32:0xB1806173, Flags:0x0 +}; + +// cEventResTable vftable:0x1C5E600, Size:0x10, CRC32:0x443E09CF +class cEventResTable /*: MtObject*/ { +}; + +// cFSMAutoPlay vftable:0x1B117C0, Size:0x74, CRC32:0x17ACB1F3 +class cFSMAutoPlay /*: cFSMCore, cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 +}; + +// cFSMBase vftable:0x1B9E928, Size:0xA8, CRC32:0x8D9AF6F +class cFSMBase /*: cFSMCore, cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + bool 'IsFSMFreeFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660310, Setter:0x0, GetCount:0x660180, Reallocate:0x0 CRC32:0x17288C89, Flags:0xA30000 + bool 'IsLayoutFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660340, Setter:0x0, CRC32:0x486005B8, Flags:0x830000 + bool 'EventFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660130, Setter:0x0, GetCount:0x660170, Reallocate:0x0 CRC32:0x506CE5D1, Flags:0xA30000 + bool 'SceFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660260, Setter:0x0, GetCount:0x6602A0, Reallocate:0x0 CRC32:0xFF9ECDDA, Flags:0xA30000 + bool 'IsMyQuestFlags'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603A0, Setter:0x0, GetCount:0x660230, Reallocate:0x0 CRC32:0xD80A9D5A, Flags:0xA30000 + bool 'IsMyQuestFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660390, Setter:0x0, CRC32:0x7B680DB, Flags:0x830000 + bool 'MyQstFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6601E0, Setter:0x0, GetCount:0x660240, Reallocate:0x0 CRC32:0xD1F0C561, Flags:0xA30000 + bool 'GGFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660190, Setter:0x0, GetCount:0x6601D0, Reallocate:0x0 CRC32:0xE6317B69, Flags:0xA30000 + bool 'IsNowCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603B0, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x27E5F47E, Flags:0xA30000 + bool 'IsEndCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660300, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x3F2CEC6E, Flags:0xA30000 + bool 'IsEndCamCut'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6602D0, Setter:0x0, GetCount:0x6600D0, Reallocate:0x0 CRC32:0x99B0C93B, Flags:0xA30000 + bool 'IsEndMessage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660350, Setter:0x0, CRC32:0x12DF6E0D, Flags:0x830000 + bool 'IsFadeOut' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660330, Setter:0x0, CRC32:0xB3C77015, Flags:0x830000 + bool 'IsEndFade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660320, Setter:0x0, CRC32:0xCA44B085, Flags:0x830000 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 +}; + +// cFSMBase::cParamCallMessage vftable:0x1B9E8F0, Size:0x1C, CRC32:0x6FBB02A8 +class cFSMBase::cParamCallMessage /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mMsgType' ; // Offset:0x4, Var, CRC32:0x5FE3727C, Flags:0x0 + u32 'mQstNo' ; // Offset:0x8, Var, CRC32:0x66A1751F, Flags:0x0 + u32 'mMsgNo' ; // Offset:0xC, Var, CRC32:0xDDD112B5, Flags:0x0 + f32 'mMsgDispTime' ; // Offset:0x10, Var, CRC32:0x2308608E, Flags:0x0 + f32 'mMsgWaitTime' ; // Offset:0x14, Var, CRC32:0xB51E9F1C, Flags:0x0 + bool 'mIsUseSerial' ; // Offset:0x18, Var, CRC32:0x2422D1C6, Flags:0x0 + bool 'mIsHideMessage' ; // Offset:0x19, Var, CRC32:0x403ECEF7, Flags:0x0 +}; + +// cFSMBase::cParamCallMessageFortDef_Common vftable:0x1B9E910, Size:0x24, CRC32:0x5C0EA9F2 +class cFSMBase::cParamCallMessageFortDef_Common /*: cFSMBase::cParamCallMessage, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mMsgType' ; // Offset:0x4, Var, CRC32:0x5FE3727C, Flags:0x0 + u32 'mQstNo' ; // Offset:0x8, Var, CRC32:0x66A1751F, Flags:0x0 + u32 'mMsgNo' ; // Offset:0xC, Var, CRC32:0xDDD112B5, Flags:0x0 + f32 'mMsgDispTime' ; // Offset:0x10, Var, CRC32:0x2308608E, Flags:0x0 + f32 'mMsgWaitTime' ; // Offset:0x14, Var, CRC32:0xB51E9F1C, Flags:0x0 + bool 'mIsUseSerial' ; // Offset:0x18, Var, CRC32:0x2422D1C6, Flags:0x0 + bool 'mIsHideMessage' ; // Offset:0x19, Var, CRC32:0x403ECEF7, Flags:0x0 + u32 'mMsgNo1' ; // Offset:0x1C, Var, CRC32:0xEA08962B, Flags:0x0 + u32 'mMsgNo2' ; // Offset:0x20, Var, CRC32:0x7301C791, Flags:0x0 +}; + +// cFSMCamEv vftable:0x1B11CB0, Size:0x80, CRC32:0x5ABFF207 +class cFSMCamEv /*: cFSMCore, cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + bool 'mIsNpcUnit'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4E0F40, Setter:0x0, GetCount:0x4E0EC0, Reallocate:0x0 CRC32:0xF4CB496F, Flags:0xA30000 + bool 'IsEndCamera' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E0F10, Setter:0x0, CRC32:0x87EC8145, Flags:0x830000 + bool 'IsEndCamAnm' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E0ED0, Setter:0x0, CRC32:0x57697E0F, Flags:0x830000 + bool 'IsCamEvCancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E0F30, Setter:0x0, CRC32:0x4B594F16, Flags:0x830000 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 +}; + +// cFSMCore vftable:0x1B11DB8, Size:0x74, CRC32:0x23E0D441 +class cFSMCore /*: cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 +}; + +// cFSMEvent vftable:0x1B9F074, Size:0x100, CRC32:0xE5CA57C +class cFSMEvent /*: cFSMOrder, cFSMBase, cFSMCore, cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + classref 'mpCamCtrl' ; // Offset:0xB4, Var, CRC32:0x4C371D8D, Flags:0x0 + bool 'IsNpcWindowEnd' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6613E0, Setter:0x0, CRC32:0x60342E8C, Flags:0x830000 + bool 'IsEndVib' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x661390, Setter:0x0, CRC32:0xC3EE83D9, Flags:0x830000 + bool 'IsCancelEvent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x661370, Setter:0x0, CRC32:0xB8F8E229, Flags:0x830000 + bool 'IsStartEvent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6613A0, Setter:0x0, CRC32:0x7A04D3DF, Flags:0x830000 + u32 'NowStageNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662710, Setter:0x0, CRC32:0xC48F4C55, Flags:0x830000 + bool 'mIsNpcUnit'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6627D0, Setter:0x0, GetCount:0x662700, Reallocate:0x0 CRC32:0xF4CB496F, Flags:0xA30000 + bool 'mIsChkLot' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662790, Setter:0x0, CRC32:0x5FAC1C77, Flags:0x830000 + bool 'IsEndJumpPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6627A0, Setter:0x0, CRC32:0x6F64EB, Flags:0x830000 + bool 'IsAreaHitOut' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662810, Setter:0x0, CRC32:0xB955B6DD, Flags:0x830000 + bool 'IsAreaHit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662800, Setter:0x0, CRC32:0xA218CB91, Flags:0x830000 + bool 'IsEndEvent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6627B0, Setter:0x0, CRC32:0xA2282030, Flags:0x830000 + bool 'IsEndCamera' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662770, Setter:0x0, CRC32:0x87EC8145, Flags:0x830000 + bool 'IsEndCamAnm' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662730, Setter:0x0, CRC32:0x57697E0F, Flags:0x830000 + bool 'IsFSMFreeFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660310, Setter:0x0, GetCount:0x660180, Reallocate:0x0 CRC32:0x17288C89, Flags:0xA30000 + bool 'IsEvidenceCancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6613D0, Setter:0x0, CRC32:0xB9604542, Flags:0x830000 + bool 'EventFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660130, Setter:0x0, GetCount:0x660170, Reallocate:0x0 CRC32:0x506CE5D1, Flags:0xA30000 + bool 'SceFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660260, Setter:0x0, GetCount:0x6602A0, Reallocate:0x0 CRC32:0xFF9ECDDA, Flags:0xA30000 + bool 'IsMyQuestFlags'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603A0, Setter:0x0, GetCount:0x660230, Reallocate:0x0 CRC32:0xD80A9D5A, Flags:0xA30000 + bool 'IsMyQuestFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660390, Setter:0x0, CRC32:0x7B680DB, Flags:0x830000 + bool 'MyQstFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6601E0, Setter:0x0, GetCount:0x660240, Reallocate:0x0 CRC32:0xD1F0C561, Flags:0xA30000 + bool 'GGFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660190, Setter:0x0, GetCount:0x6601D0, Reallocate:0x0 CRC32:0xE6317B69, Flags:0xA30000 + bool 'IsNowCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603B0, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x27E5F47E, Flags:0xA30000 + bool 'IsEndCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660300, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x3F2CEC6E, Flags:0xA30000 + bool 'IsEndCamCut'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6602D0, Setter:0x0, GetCount:0x6600D0, Reallocate:0x0 CRC32:0x99B0C93B, Flags:0xA30000 + bool 'IsEndMessage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660350, Setter:0x0, CRC32:0x12DF6E0D, Flags:0x830000 + bool 'IsFadeOut' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660330, Setter:0x0, CRC32:0xB3C77015, Flags:0x830000 + bool 'IsEndFade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660320, Setter:0x0, CRC32:0xCA44B085, Flags:0x830000 + s32 'EvidenceSelectIdx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x661320, Setter:0x0, CRC32:0x4345568F, Flags:0x830000 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 + s32 'NpcWindowSelectIdx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x661330, Setter:0x0, CRC32:0xADA2F33A, Flags:0x830000 + bool 'IsLayoutFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660340, Setter:0x0, CRC32:0x486005B8, Flags:0x830000 +}; + +// cFSMOrder vftable:0x1B9F6A0, Size:0xD0, CRC32:0x40DB3C43 +class cFSMOrder /*: cFSMBase, cFSMCore, cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + classref 'mpCamCtrl' ; // Offset:0xB4, Var, CRC32:0x4C371D8D, Flags:0x0 + u32 'NowStageNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662710, Setter:0x0, CRC32:0xC48F4C55, Flags:0x830000 + bool 'mIsNpcUnit'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6627D0, Setter:0x0, GetCount:0x662700, Reallocate:0x0 CRC32:0xF4CB496F, Flags:0xA30000 + bool 'mIsChkLot' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662790, Setter:0x0, CRC32:0x5FAC1C77, Flags:0x830000 + bool 'IsEndJumpPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6627A0, Setter:0x0, CRC32:0x6F64EB, Flags:0x830000 + bool 'IsAreaHitOut' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662810, Setter:0x0, CRC32:0xB955B6DD, Flags:0x830000 + bool 'IsAreaHit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662800, Setter:0x0, CRC32:0xA218CB91, Flags:0x830000 + bool 'IsEndEvent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6627B0, Setter:0x0, CRC32:0xA2282030, Flags:0x830000 + bool 'IsEndCamera' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662770, Setter:0x0, CRC32:0x87EC8145, Flags:0x830000 + bool 'IsEndCamAnm' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x662730, Setter:0x0, CRC32:0x57697E0F, Flags:0x830000 + bool 'IsFSMFreeFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660310, Setter:0x0, GetCount:0x660180, Reallocate:0x0 CRC32:0x17288C89, Flags:0xA30000 + bool 'IsLayoutFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660340, Setter:0x0, CRC32:0x486005B8, Flags:0x830000 + bool 'EventFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660130, Setter:0x0, GetCount:0x660170, Reallocate:0x0 CRC32:0x506CE5D1, Flags:0xA30000 + bool 'SceFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660260, Setter:0x0, GetCount:0x6602A0, Reallocate:0x0 CRC32:0xFF9ECDDA, Flags:0xA30000 + bool 'IsMyQuestFlags'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603A0, Setter:0x0, GetCount:0x660230, Reallocate:0x0 CRC32:0xD80A9D5A, Flags:0xA30000 + bool 'IsMyQuestFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660390, Setter:0x0, CRC32:0x7B680DB, Flags:0x830000 + bool 'MyQstFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6601E0, Setter:0x0, GetCount:0x660240, Reallocate:0x0 CRC32:0xD1F0C561, Flags:0xA30000 + bool 'GGFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660190, Setter:0x0, GetCount:0x6601D0, Reallocate:0x0 CRC32:0xE6317B69, Flags:0xA30000 + bool 'IsNowCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603B0, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x27E5F47E, Flags:0xA30000 + bool 'IsEndCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660300, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x3F2CEC6E, Flags:0xA30000 + bool 'IsEndCamCut'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6602D0, Setter:0x0, GetCount:0x6600D0, Reallocate:0x0 CRC32:0x99B0C93B, Flags:0xA30000 + bool 'IsEndMessage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660350, Setter:0x0, CRC32:0x12DF6E0D, Flags:0x830000 + bool 'IsFadeOut' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660330, Setter:0x0, CRC32:0xB3C77015, Flags:0x830000 + bool 'IsEndFade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660320, Setter:0x0, CRC32:0xCA44B085, Flags:0x830000 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 +}; + +// cFSMOrderParam vftable:0x1B9FCC8, Size:0x4, CRC32:0x4C91CC8F +class cFSMOrderParam /*: cAICopiableParameter, cAIResource, MtObject*/ { +}; + +// cFSMOrderParamAreaHit vftable:0x1B9FE1C, Size:0x10, CRC32:0x4ED0AE1E +class cFSMOrderParamAreaHit /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mAct' ; // Offset:0x4, Var, CRC32:0x7F17658B, Flags:0x0 + u32 'mTaskType' ; // Offset:0x8, Var, CRC32:0x268B29F7, Flags:0x0 + u32 'mSceNo' ; // Offset:0xC, Var, CRC32:0x519CB8A7, Flags:0x0 +}; + +// cFSMOrderParamBGMCommon vftable:0x1B9FD68, Size:0x8, CRC32:0xA20A71 +class cFSMOrderParamBGMCommon /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mRequestNo' ; // Offset:0x4, Var, CRC32:0x2564B10A, Flags:0x0 +}; + +// cFSMOrderParamBGMRequest vftable:0x1B9FF6C, Size:0x18, CRC32:0x521E0EA0 +class cFSMOrderParamBGMRequest /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mBgmRequestType' ; // Offset:0x4, Var, CRC32:0xB200D7D1, Flags:0x10000 + u32 'mBgmRequestNo' ; // Offset:0x8, Var, CRC32:0x25F28F0A, Flags:0x0 + u32 'mBgmRequestFadeTime' ; // Offset:0x10, Var, CRC32:0x2F4B63FC, Flags:0x0 + bool 'mBgmRequestIsChangeFadeTime' ; // Offset:0x14, Var, CRC32:0xE5EAFBF6, Flags:0x0 + u32 'BgmRequestEditType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6685C0, Setter:0x669110, CRC32:0x101C2519, Flags:0x800000 +}; + +// cFSMOrderParamBGMStop vftable:0x1B9FF8C, Size:0x4, CRC32:0x7C5A0919 +class cFSMOrderParamBGMStop /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { +}; + +// cFSMOrderParamCallAnnounce vftable:0x1B9FE7C, Size:0x10, CRC32:0x7286871E +class cFSMOrderParamCallAnnounce /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mQuestId' ; // Offset:0x8, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mMsgNo' ; // Offset:0xC, Var, CRC32:0xDDD112B5, Flags:0x0 +}; + +// cFSMOrderParamCallEvent vftable:0x1B9FDFC, Size:0x20, CRC32:0x51F38E90 +class cFSMOrderParamCallEvent /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + s32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + s32 'mEventNo' ; // Offset:0x8, Var, CRC32:0x705F873D, Flags:0x0 + class 'mNpcArray' ; // Offset:0xC, Var, CRC32:0x4C2AC60C, Flags:0x0 +}; + +// cFSMOrderParamCallEvent::cNpcId vftable:0x1B9FDD0, Size:0x8, CRC32:0x5AAB020F +class cFSMOrderParamCallEvent::cNpcId /*: MtObject*/ { + u32 'mNpcId' ; // Offset:0x4, Var, CRC32:0x575E2018, Flags:0x0 +}; + +// cFSMOrderParamCamera vftable:0x1B9FD88, Size:0x20, CRC32:0x320D1B22 +class cFSMOrderParamCamera /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + s32 'mCamId' ; // Offset:0x4, Var, CRC32:0x4DF5F959, Flags:0x0 + s32 'mCamId' ; // Offset:0x4, Var, CRC32:0x4DF5F959, Flags:0x0 + s32 'mCamId' ; // Offset:0x4, Var, CRC32:0x4DF5F959, Flags:0x0 + u8 'CameraEnemy:ActType' ; // Offset:0x9, Var, CRC32:0x1FCBF35D, Flags:0x0 + u8 'Camera:ActType' ; // Offset:0x9, Var, CRC32:0x97C8ED9F, Flags:0x0 + u8 'Camera:CamRes' ; // Offset:0xA, Var, CRC32:0x7BDE8D45, Flags:0x0 + bool 'mCantActPl' ; // Offset:0xB, Var, CRC32:0x694F667E, Flags:0x0 + bool 'mIsBtlNoCancel' ; // Offset:0x1C, Var, CRC32:0x16EFCB45, Flags:0x0 +}; + +// cFSMOrderParamChangeBattleThink vftable:0x1B9FFAC, Size:0x10, CRC32:0x3EE38F25 +class cFSMOrderParamChangeBattleThink /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + s32 'mGroup' ; // Offset:0x4, Var, CRC32:0x9074DE04, Flags:0x0 + s32 'mId' ; // Offset:0x8, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mBattleThink' ; // Offset:0xC, Var, CRC32:0x46B5966C, Flags:0x0 +}; + +// cFSMOrderParamCheckLayout vftable:0x1B9FEDC, Size:0x10, CRC32:0x65A92118 +class cFSMOrderParamCheckLayout /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mActType' ; // Offset:0x4, Var, CRC32:0xBCD5F7C1, Flags:0x0 + u32 'mStageNo' ; // Offset:0x8, Var, CRC32:0xACF5AFCF, Flags:0x0 + u32 'mLotNo' ; // Offset:0xC, Var, CRC32:0xE41ECE0B, Flags:0x0 +}; + +// cFSMOrderParamCtrlSubSdl vftable:0x1BA008C, Size:0x10, CRC32:0x52B5AEE3 +class cFSMOrderParamCtrlSubSdl /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mCtrl' ; // Offset:0x4, Var, CRC32:0xDB2BBA46, Flags:0x0 + u32 'mSdlNo' ; // Offset:0x8, Var, CRC32:0xC39ABB91, Flags:0x0 + bool 'mIsLoop' ; // Offset:0xC, Var, CRC32:0x3EFEA1D3, Flags:0x0 +}; + +// cFSMOrderParamDrawingSwordFlag vftable:0x1BA010C, Size:0x8, CRC32:0x20ABBCE0 +class cFSMOrderParamDrawingSwordFlag /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsDrawingSword' ; // Offset:0x4, Var, CRC32:0xDDDBD93F, Flags:0x0 +}; + +// cFSMOrderParamEvidenceItem vftable:0x1BA00EC, Size:0x10, CRC32:0x3F58B332 +class cFSMOrderParamEvidenceItem /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mIconId' ; // Offset:0x4, Var, CRC32:0x345F0BEF, Flags:0x0 + u32 'mNameMsgId' ; // Offset:0x8, Var, CRC32:0x7F30CC17, Flags:0x0 + u32 'mDetailMsgId' ; // Offset:0xC, Var, CRC32:0x4C8B1AE6, Flags:0x0 +}; + +// cFSMOrderParamFSMFreeFlag vftable:0x1BA00CC, Size:0x8, CRC32:0x2B29531A +class cFSMOrderParamFSMFreeFlag /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mFlagNo' ; // Offset:0x4, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// cFSMOrderParamFlagCommon vftable:0x1B9FCE8, Size:0x8, CRC32:0x15D0A6F +class cFSMOrderParamFlagCommon /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + s32 'mFlagNo' ; // Offset:0x4, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// cFSMOrderParamFlagQuest vftable:0x1B9FD08, Size:0xC, CRC32:0x73C8BDBD +class cFSMOrderParamFlagQuest /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mQuestNo' ; // Offset:0x4, Var, CRC32:0xC729C20C, Flags:0x0 + s32 'mFlagNo' ; // Offset:0x8, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// cFSMOrderParamIsMyQuestFlag vftable:0x1B9FE5C, Size:0x10, CRC32:0x399695AF +class cFSMOrderParamIsMyQuestFlag /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mArrayIdx' ; // Offset:0x4, Var, CRC32:0xFE917210, Flags:0x0 + u32 'mQuestId' ; // Offset:0x8, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mFlagNo' ; // Offset:0xC, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// cFSMOrderParamJumpArea vftable:0x1B9FD28, Size:0xC, CRC32:0x57C8828F +class cFSMOrderParamJumpArea /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mJumpStageNo' ; // Offset:0x4, Var, CRC32:0x6AEA9691, Flags:0x0 + u32 'mJumpStagePosNo' ; // Offset:0x8, Var, CRC32:0xA18515FF, Flags:0x0 +}; + +// cFSMOrderParamJumpPos vftable:0x1B9FD48, Size:0x30, CRC32:0x530C718A +class cFSMOrderParamJumpPos /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mJumpType' ; // Offset:0x4, Var, CRC32:0xF2C7774B, Flags:0x0 + u32 'mJumpStagePosNo' ; // Offset:0x8, Var, CRC32:0xA18515FF, Flags:0x0 + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + f32 'mFadeOutTime' ; // Offset:0x20, Var, CRC32:0xA097A169, Flags:0x0 + f32 'mFadeInTime' ; // Offset:0x24, Var, CRC32:0xBA1CC0C0, Flags:0x0 +}; + +// cFSMOrderParamLayoutFlag vftable:0x1BA00AC, Size:0xC, CRC32:0x2F3C8C09 +class cFSMOrderParamLayoutFlag /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mQuestId' ; // Offset:0x4, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mLayoutFlagNo' ; // Offset:0x8, Var, CRC32:0x90401B83, Flags:0x0 +}; + +// cFSMOrderParamQuestInfo vftable:0x1B9FE3C, Size:0xC, CRC32:0x36CCFBEF +class cFSMOrderParamQuestInfo /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mQuestType' ; // Offset:0x4, Var, CRC32:0xEC37AFA1, Flags:0x0 + u32 'mQuestId' ; // Offset:0x8, Var, CRC32:0x1FBA8D43, Flags:0x0 +}; + +// cFSMOrderParamSetCallSe vftable:0x1BA004C, Size:0x30, CRC32:0x5FDECAAD +class cFSMOrderParamSetCallSe /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mSeId' ; // Offset:0x4, Var, CRC32:0xA4BF4394, Flags:0x0 + u32 'mTarget' ; // Offset:0x8, Var, CRC32:0x78F386CD, Flags:0x0 + s32 'mGroup' ; // Offset:0xC, Var, CRC32:0x9074DE04, Flags:0x0 + s32 'mId' ; // Offset:0x10, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mJointNo' ; // Offset:0x14, Var, CRC32:0x673E4986, Flags:0x0 + u32 'mDelayFrame' ; // Offset:0x18, Var, CRC32:0xBA2EBC65, Flags:0x0 + vector3 'mPos' ; // Offset:0x20, Var, CRC32:0x50227663, Flags:0x4000000 +}; + +// cFSMOrderParamSetDispUnit vftable:0x1B9FF4C, Size:0x1C, CRC32:0x44CB6E91 +class cFSMOrderParamSetDispUnit /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mAct' ; // Offset:0x4, Var, CRC32:0x7F17658B, Flags:0x0 + u32 'mTarget' ; // Offset:0x8, Var, CRC32:0x78F386CD, Flags:0x0 + u32 'mGroupNo' ; // Offset:0xC, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u32 'mSetId' ; // Offset:0x10, Var, CRC32:0xB1806173, Flags:0x0 + u32 'mQstId' ; // Offset:0x14, Var, CRC32:0xBE323A50, Flags:0x0 + bool 'mIsStopMove' ; // Offset:0x18, Var, CRC32:0x90F5C51, Flags:0x0 +}; + +// cFSMOrderParamSetEffect vftable:0x1B9FFCC, Size:0x50, CRC32:0x6E3D384A +class cFSMOrderParamSetEffect /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u16 'mEfcId' ; // Offset:0x4, Var, CRC32:0x55FC194A, Flags:0x0 + u16 'mTarget' ; // Offset:0x6, Var, CRC32:0x78F386CD, Flags:0x0 + s32 'mGroup' ; // Offset:0x8, Var, CRC32:0x9074DE04, Flags:0x0 + s32 'mId' ; // Offset:0xC, Var, CRC32:0x2BD52F93, Flags:0x0 + u16 'mAct' ; // Offset:0x10, Var, CRC32:0x7F17658B, Flags:0x0 + u16 'mType' ; // Offset:0x12, Var, CRC32:0x55D79C15, Flags:0x0 + u16 'mIndex' ; // Offset:0x14, Var, CRC32:0x7DC7FDC0, Flags:0x0 + u16 'mElement' ; // Offset:0x16, Var, CRC32:0xC2A22D27, Flags:0x0 + u32 'mOmId' ; // Offset:0x18, Var, CRC32:0xB063FA0B, Flags:0x0 + bool 'mHaveItem' ; // Offset:0x1C, Var, CRC32:0x71A75076, Flags:0x0 + vector3 'mPos' ; // Offset:0x20, Var, CRC32:0x50227663, Flags:0x4000000 + vector3 'mAng' ; // Offset:0x30, Var, CRC32:0x4E075A18, Flags:0x0 + vector3 'mScl' ; // Offset:0x40, Var, CRC32:0x73D98AC3, Flags:0x0 +}; + +// cFSMOrderParamSetEnemy vftable:0x1B9FF2C, Size:0x20, CRC32:0x24774827 +class cFSMOrderParamSetEnemy /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + class 'mSetEnemyInfo' ; // Offset:0x4, Var, CRC32:0xAE2DDCF5, Flags:0x0 +}; + +// cFSMOrderParamSetEnemy::cSetEmInfo vftable:0x1B9FF04, Size:0x70, CRC32:0x1CCFBB50 +class cFSMOrderParamSetEnemy::cSetEmInfo /*: MtObject*/ { + string 'mFSMName' ; // Offset:0x4, Var, CRC32:0x3C43D3A, Flags:0x10000 + u32 'mEnemyId' ; // Offset:0x4, Var, CRC32:0x5D247439, Flags:0x10000 + u8 'mFSMType' ; // Offset:0x8, Var, CRC32:0xD1391415, Flags:0x0 + matrix44 'mMat' ; // Offset:0x10, Var, CRC32:0x443BFE6D, Flags:0x0 + u32 'mGroupId' ; // Offset:0x5C, Var, CRC32:0x6E63FBAE, Flags:0x10000 + u32 'mSetId' ; // Offset:0x60, Var, CRC32:0xB1806173, Flags:0x10000 + u32 'mErosionLv' ; // Offset:0x64, Var, CRC32:0xE2D04BCC, Flags:0x0 + u32 'mArmedSetMode' ; // Offset:0x68, Var, CRC32:0x827AEADF, Flags:0x0 + bool 'mIsNoSetPS3' ; // Offset:0x6C, Var, CRC32:0x983F5E1B, Flags:0x0 + vector3 'Angle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x668330, Setter:0x0, CRC32:0x3EBF95F2, Flags:0x830000 + vector3 'Pos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6685A0, Setter:0x0, CRC32:0x476B5FB3, Flags:0x830000 + custom 'FSMResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x669540, Setter:0x669590, CRC32:0xF7BE0D8D, Flags:0x820000 +}; + +// cFSMOrderParamSetFade vftable:0x1B9FFEC, Size:0xC, CRC32:0x28A51BBF +class cFSMOrderParamSetFade /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mFadeType' ; // Offset:0x4, Var, CRC32:0xB9F693E3, Flags:0x0 + f32 'mFadeTime' ; // Offset:0x8, Var, CRC32:0x5ABC5C8F, Flags:0x0 +}; + +// cFSMOrderParamSetLayout vftable:0x1B9FDA8, Size:0xC, CRC32:0x6267C25A +class cFSMOrderParamSetLayout /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u16 'mActType' ; // Offset:0x4, Var, CRC32:0xBCD5F7C1, Flags:0x0 + u16 'mStageNo' ; // Offset:0x6, Var, CRC32:0xACF5AFCF, Flags:0x0 + u16 'mFlagNo' ; // Offset:0x8, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// cFSMOrderParamSetLocationName vftable:0x1BA000C, Size:0x8, CRC32:0x52393DFC +class cFSMOrderParamSetLocationName /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 +}; + +// cFSMOrderParamSetOpenDoor vftable:0x1BA002C, Size:0x14, CRC32:0x37E63BC1 +class cFSMOrderParamSetOpenDoor /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mGroupNo' ; // Offset:0x4, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u32 'mSetNo' ; // Offset:0x8, Var, CRC32:0x69132E3C, Flags:0x0 + u32 'mQuestId' ; // Offset:0xC, Var, CRC32:0x1FBA8D43, Flags:0x0 + bool 'mIsQuestSet' ; // Offset:0x10, Var, CRC32:0xA06BC391, Flags:0x0 +}; + +// cFSMOrderParamSetVib vftable:0x1BA006C, Size:0x10, CRC32:0x7F586685 +class cFSMOrderParamSetVib /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mVib' ; // Offset:0x4, Var, CRC32:0x68458DA5, Flags:0x0 + u32 'mNum' ; // Offset:0x8, Var, CRC32:0xCB83FA1, Flags:0x0 + f32 'mWaitSec' ; // Offset:0xC, Var, CRC32:0x265D8324, Flags:0x0 +}; + +// cFSMOrderParamStageEffect vftable:0x1BA012C, Size:0xC, CRC32:0x730E5A0E +class cFSMOrderParamStageEffect /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mIndexNo' ; // Offset:0x4, Var, CRC32:0xBB013A6A, Flags:0x0 + u32 'mElementNo' ; // Offset:0x8, Var, CRC32:0x2CED32F0, Flags:0x0 +}; + +// cFSMOrderParamStartQuake vftable:0x1B9FE9C, Size:0x80, CRC32:0xA43B8A9 +class cFSMOrderParamStartQuake /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mTargetType' ; // Offset:0x4, Var, CRC32:0xD783D92, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x8, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetId' ; // Offset:0xC, Var, CRC32:0x11EBA6E8, Flags:0x0 + f32 'mHeadTime' ; // Offset:0x10, Var, CRC32:0xD6D4D2AD, Flags:0x0 + f32 'mMainTime' ; // Offset:0x14, Var, CRC32:0xCC986216, Flags:0x0 + f32 'mTailTime' ; // Offset:0x18, Var, CRC32:0xD5AC1B76, Flags:0x0 + vector3 'mMagnitude' ; // Offset:0x20, Var, CRC32:0x6913F345, Flags:0x0 + vector3 'mPos' ; // Offset:0x30, Var, CRC32:0x50227663, Flags:0x0 + f32 'mRadius' ; // Offset:0x40, Var, CRC32:0x5E0C76B, Flags:0x0 + f32 'mSpread' ; // Offset:0x44, Var, CRC32:0x42290949, Flags:0x0 + f32 'mDamping' ; // Offset:0x48, Var, CRC32:0xC7EC4974, Flags:0x0 + f32 'mPeriod' ; // Offset:0x4C, Var, CRC32:0xFB24B7FF, Flags:0x0 + f32 'mRoll' ; // Offset:0x50, Var, CRC32:0xF7BCF9F2, Flags:0x0 + f32 'mBalance' ; // Offset:0x54, Var, CRC32:0x2F166CE0, Flags:0x0 + bool 'mIsAsync' ; // Offset:0x58, Var, CRC32:0xE5EA81A6, Flags:0x0 + f32 'mCamera1QuakeTime' ; // Offset:0x5C, Var, CRC32:0x2C826DA4, Flags:0x0 + f32 'mTarget1QuakeTime' ; // Offset:0x60, Var, CRC32:0xC007FA64, Flags:0x0 + f32 'mRoll1QuakeTime' ; // Offset:0x64, Var, CRC32:0xF806658F, Flags:0x0 + f32 'mRandDrop' ; // Offset:0x68, Var, CRC32:0x2137F4EF, Flags:0x0 + u32 'mHeadCurve' ; // Offset:0x6C, Var, CRC32:0x2BF3983A, Flags:0x0 + u32 'mTailCurve' ; // Offset:0x70, Var, CRC32:0x3AF1EBAF, Flags:0x0 +}; + +// cFSMOrderParamStopQuake vftable:0x1B9FEBC, Size:0x8, CRC32:0x1B8FC914 +class cFSMOrderParamStopQuake /*: cFSMOrderParam, cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsForceStop' ; // Offset:0x4, Var, CRC32:0xBA8AA742, Flags:0x0 +}; + +// cFSMRelate vftable:0x1BA08E8, Size:0xC, CRC32:0x2BA223A3 +class cFSMRelate /*: MtObject*/ { + string 'mFSMName' ; // Offset:0x4, Var, CRC32:0x3C43D3A, Flags:0x10000 + u8 'mFSMType' ; // Offset:0x8, Var, CRC32:0xD1391415, Flags:0x0 + custom 'FSMResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x669540, Setter:0x669590, CRC32:0xF7BE0D8D, Flags:0x820000 +}; + +// cFSMTaskCtrl vftable:0x1CF32E8, Size:0x20, CRC32:0x4480FD9 +class cFSMTaskCtrl /*: MtObject*/ { +}; + +// cFSMUnit vftable:0x1BA0E38, Size:0x160, CRC32:0x14D65D5D +class cFSMUnit /*: cFSMBase, cFSMCore, cAIObject, MtObject*/ { + class 'mFSM' ; // Offset:0x4, Var, CRC32:0xFA1BCDF5, Flags:0x0 + f32 'CountFSM' ; // Offset:0x6C, Var, CRC32:0x346D79C9, Flags:0x0 + bool 'IsAttendGauge' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FBE0, Setter:0x0, CRC32:0x209C0236, Flags:0x830000 + u32 'RandomIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66F460, Setter:0x0, CRC32:0x48B2E5F, Flags:0x830000 + f32 'DistToInitPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66EF20, Setter:0x0, CRC32:0x5294A28D, Flags:0x830000 + bool 'IsTouchActionFromPL' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x6700B0, Setter:0x0, CRC32:0x8929D151, Flags:0x830000 + bool 'IsExistEnemyUnit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FCB0, Setter:0x0, CRC32:0x6A9BF86F, Flags:0x830000 + bool 'IsChangeMaster' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FBD0, Setter:0x0, CRC32:0x593C7465, Flags:0x830000 + bool 'IsDiedMogock' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FBF0, Setter:0x0, CRC32:0x172DEC32, Flags:0x830000 + bool 'IsBattleStartMogock' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FB10, Setter:0x0, CRC32:0xAA804F8E, Flags:0x830000 + f32 'DistToLiveEnemy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66F090, Setter:0x0, CRC32:0x5E267B3E, Flags:0x830000 + f32 'DistToEnemy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66EDD0, Setter:0x0, CRC32:0xEC6B9925, Flags:0x830000 + bool 'IsUpdateWaypoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x670110, Setter:0x0, CRC32:0x92EC3F17, Flags:0x830000 + f32 'DistToPlayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66F1E0, Setter:0x0, CRC32:0xAE02AE20, Flags:0x830000 + f32 'UnitHpPercent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66F2C0, Setter:0x0, CRC32:0xB0B5902, Flags:0x830000 + u32 'UnitHp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66F280, Setter:0x0, CRC32:0x490FC200, Flags:0x830000 + bool 'IsGoalWaypoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FCC0, Setter:0x0, CRC32:0xEAB85A02, Flags:0x830000 + bool 'IsLand' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FD20, Setter:0x0, CRC32:0xF16E3A1D, Flags:0x830000 + s32 'GetAttengGaugeRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66EAE0, Setter:0x0, CRC32:0x36E684FF, Flags:0x830000 + bool 'IsStopUnit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FF00, Setter:0x0, CRC32:0x29C765DF, Flags:0x830000 + bool 'IsFSMFreeFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660310, Setter:0x0, GetCount:0x660180, Reallocate:0x0 CRC32:0x17288C89, Flags:0xA30000 + bool 'IsLayoutFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660340, Setter:0x0, CRC32:0x486005B8, Flags:0x830000 + bool 'EventFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660130, Setter:0x0, GetCount:0x660170, Reallocate:0x0 CRC32:0x506CE5D1, Flags:0xA30000 + bool 'SceFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660260, Setter:0x0, GetCount:0x6602A0, Reallocate:0x0 CRC32:0xFF9ECDDA, Flags:0xA30000 + bool 'IsMyQuestFlags'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603A0, Setter:0x0, GetCount:0x660230, Reallocate:0x0 CRC32:0xD80A9D5A, Flags:0xA30000 + bool 'IsMyQuestFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660390, Setter:0x0, CRC32:0x7B680DB, Flags:0x830000 + bool 'MyQstFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6601E0, Setter:0x0, GetCount:0x660240, Reallocate:0x0 CRC32:0xD1F0C561, Flags:0xA30000 + bool 'GGFlag'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660190, Setter:0x0, GetCount:0x6601D0, Reallocate:0x0 CRC32:0xE6317B69, Flags:0xA30000 + bool 'IsNowCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6603B0, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x27E5F47E, Flags:0xA30000 + bool 'IsEndCamSdr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x660300, Setter:0x0, GetCount:0x6600E0, Reallocate:0x0 CRC32:0x3F2CEC6E, Flags:0xA30000 + bool 'IsEndCamCut'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x6602D0, Setter:0x0, GetCount:0x6600D0, Reallocate:0x0 CRC32:0x99B0C93B, Flags:0xA30000 + bool 'IsEndMessage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660350, Setter:0x0, CRC32:0x12DF6E0D, Flags:0x830000 + bool 'IsFadeOut' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660330, Setter:0x0, CRC32:0xB3C77015, Flags:0x830000 + bool 'IsEndFade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x660320, Setter:0x0, CRC32:0xCA44B085, Flags:0x830000 + s32 'TalkSelectedIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66F470, Setter:0x0, CRC32:0xB536A9A0, Flags:0x830000 + f32 'CountState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4E1A30, Setter:0x0, CRC32:0xE1D88826, Flags:0x830000 + bool 'IsEndSetMotion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x66FC40, Setter:0x0, CRC32:0x3C98653E, Flags:0x830000 +}; + +// cFSMUnit::cParamAddAttendPoint vftable:0x1BA127C, Size:0x8, CRC32:0x24DC4774 +class cFSMUnit::cParamAddAttendPoint /*: cAICopiableParameter, cAIResource, MtObject*/ { + s32 'mPoint' ; // Offset:0x4, Var, CRC32:0x4A1169E5, Flags:0x0 +}; + +// cFSMUnit::cParamCheckGauge vftable:0x1BA130C, Size:0xC, CRC32:0x11A4600F +class cFSMUnit::cParamCheckGauge /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mMax' ; // Offset:0x4, Var, CRC32:0x4D8DB246, Flags:0x0 + u32 'mMin' ; // Offset:0x8, Var, CRC32:0x71808D1F, Flags:0x0 +}; + +// cFSMUnit::cParamRandomChoice vftable:0x1BA12EC, Size:0x18, CRC32:0x386E0605 +class cFSMUnit::cParamRandomChoice /*: cAICopiableParameter, cAIResource, MtObject*/ { + class 'mpParamRandomChoiceParamList' ; // Offset:0x4, Var, CRC32:0xF2F06E6, Flags:0x0 +}; + +// cFSMUnit::cParamRandomChoice::cParamRandomChoiceParam vftable:0x1BA12C4, Size:0x10, CRC32:0x2DFB8C4D +class cFSMUnit::cParamRandomChoice::cParamRandomChoiceParam /*: MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 + bool 'mIsEnable' ; // Offset:0x8, Var, CRC32:0x1A46F275, Flags:0x0 + u32 'mWeight' ; // Offset:0xC, Var, CRC32:0x3951FC70, Flags:0x0 +}; + +// cFSMUnit::cParamSelectedChoiceTalk vftable:0x1BA132C, Size:0x8, CRC32:0x7B894618 +class cFSMUnit::cParamSelectedChoiceTalk /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 +}; + +// cFSMUnit::cParamSetAction vftable:0x1BA0F04, Size:0x8, CRC32:0x6908F385 +class cFSMUnit::cParamSetAction /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mActionType' ; // Offset:0x4, Var, CRC32:0xFF928127, Flags:0x0 +}; + +// cFSMUnit::cParamSetAdjustScrHit vftable:0x1BA0FE4, Size:0x8, CRC32:0x7929239F +class cFSMUnit::cParamSetAdjustScrHit /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsStop' ; // Offset:0x4, Var, CRC32:0x26F7AA8B, Flags:0x0 +}; + +// cFSMUnit::cParamSetAttendComp vftable:0x1BA129C, Size:0x28, CRC32:0x552349A4 +class cFSMUnit::cParamSetAttendComp /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mOverLv' ; // Offset:0x4, Var, CRC32:0xBE49CF7D, Flags:0x0 + u32 'mMax' ; // Offset:0x4, Var, CRC32:0x4D8DB246, Flags:0x0 + u32 'mUnderLv' ; // Offset:0x8, Var, CRC32:0x40B58344, Flags:0x0 + f32 'mInitRate' ; // Offset:0x8, Var, CRC32:0x24B2345A, Flags:0x0 + u32 'mPointHigh' ; // Offset:0xC, Var, CRC32:0x13045E4C, Flags:0x0 + u32 'mPointMiddle' ; // Offset:0x10, Var, CRC32:0x6FED19BB, Flags:0x0 + u32 'mPointLow' ; // Offset:0x14, Var, CRC32:0x2422054E, Flags:0x0 + f32 'mDamageInterval' ; // Offset:0x24, Var, CRC32:0x9A961DCE, Flags:0x0 +}; + +// cFSMUnit::cParamSetAttendNpc vftable:0x1BA1004, Size:0x8, CRC32:0x4553B0D +class cFSMUnit::cParamSetAttendNpc /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsAttend' ; // Offset:0x4, Var, CRC32:0x8C3EDC7C, Flags:0x0 +}; + +// cFSMUnit::cParamSetCallSe vftable:0x1BA10A4, Size:0x10, CRC32:0x29471C02 +class cFSMUnit::cParamSetCallSe /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mSeId' ; // Offset:0x4, Var, CRC32:0xA4BF4394, Flags:0x0 + s32 'mJointNo' ; // Offset:0x8, Var, CRC32:0x673E4986, Flags:0x0 + u32 'mDelayFrame' ; // Offset:0xC, Var, CRC32:0xBA2EBC65, Flags:0x0 +}; + +// cFSMUnit::cParamSetChangeThink vftable:0x1BA0FC4, Size:0xC, CRC32:0x17D64DF9 +class cFSMUnit::cParamSetChangeThink /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mThink' ; // Offset:0x4, Var, CRC32:0xAF4EFA69, Flags:0x0 + bool 'mIsInvincible' ; // Offset:0x8, Var, CRC32:0xE4C028BF, Flags:0x0 +}; + +// cFSMUnit::cParamSetDisableTouchAction vftable:0x1BA1024, Size:0x8, CRC32:0x4D83C0CE +class cFSMUnit::cParamSetDisableTouchAction /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsDisableTouch' ; // Offset:0x4, Var, CRC32:0x47E3B617, Flags:0x0 +}; + +// cFSMUnit::cParamSetDispMiniMap vftable:0x1BA1184, Size:0x8, CRC32:0x47B3205E +class cFSMUnit::cParamSetDispMiniMap /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsDispMiniMap' ; // Offset:0x4, Var, CRC32:0x6C18949D, Flags:0x0 +}; + +// cFSMUnit::cParamSetDispWeapon vftable:0x1BA1044, Size:0x8, CRC32:0x1ACB3E7A +class cFSMUnit::cParamSetDispWeapon /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsDispWepMain' ; // Offset:0x4, Var, CRC32:0x2B758E03, Flags:0x0 + bool 'mIsDispWepSub' ; // Offset:0x5, Var, CRC32:0x6E101173, Flags:0x0 +}; + +// cFSMUnit::cParamSetEffect vftable:0x1BA0F24, Size:0x18, CRC32:0x18A4EEE5 +class cFSMUnit::cParamSetEffect /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mEfcId' ; // Offset:0x4, Var, CRC32:0x55FC194A, Flags:0x0 + u16 'mAct' ; // Offset:0x8, Var, CRC32:0x7F17658B, Flags:0x0 + u16 'mType' ; // Offset:0xA, Var, CRC32:0x55D79C15, Flags:0x0 + u16 'mIndex' ; // Offset:0xC, Var, CRC32:0x7DC7FDC0, Flags:0x0 + u16 'mElement' ; // Offset:0xE, Var, CRC32:0xC2A22D27, Flags:0x0 + u32 'mOmId' ; // Offset:0x10, Var, CRC32:0xB063FA0B, Flags:0x0 + bool 'mHaveItem' ; // Offset:0x14, Var, CRC32:0x71A75076, Flags:0x0 +}; + +// cFSMUnit::cParamSetEmDie vftable:0x1BA0F84, Size:0x8, CRC32:0x5FD0A680 +class cFSMUnit::cParamSetEmDie /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mAct' ; // Offset:0x4, Var, CRC32:0x7F17658B, Flags:0x0 +}; + +// cFSMUnit::cParamSetEmMontage vftable:0x1BA1124, Size:0x10, CRC32:0x29C5F407 +class cFSMUnit::cParamSetEmMontage /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mMontage' ; // Offset:0x8, Var, CRC32:0x91630B8D, Flags:0x0 + bool 'mDisableMotSeq' ; // Offset:0xC, Var, CRC32:0xB59D7082, Flags:0x0 +}; + +// cFSMUnit::cParamSetEnemyHP vftable:0x1BA123C, Size:0x8, CRC32:0x37966CE6 +class cFSMUnit::cParamSetEnemyHP /*: cAICopiableParameter, cAIResource, MtObject*/ { + f32 'mHPParcentage' ; // Offset:0x4, Var, CRC32:0x95B565E3, Flags:0x0 +}; + +// cFSMUnit::cParamSetEnemyPos vftable:0x1BA125C, Size:0x20, CRC32:0x4A392953 +class cFSMUnit::cParamSetEnemyPos /*: cAICopiableParameter, cAIResource, MtObject*/ { + vector3 'mTargetPos' ; // Offset:0x10, Var, CRC32:0x97CFE05E, Flags:0x0 +}; + +// cFSMUnit::cParamSetEyeBall vftable:0x1BA0F64, Size:0x30, CRC32:0x1DA68E44 +class cFSMUnit::cParamSetEyeBall /*: cAICopiableParameter, cAIResource, MtObject*/ { + vector3 'mTargetAngle' ; // Offset:0x10, Var, CRC32:0x8EB166EA, Flags:0x0 + u32 'mHokanFrame' ; // Offset:0x20, Var, CRC32:0x212AED4F, Flags:0x0 + u32 'mDelayFrame' ; // Offset:0x24, Var, CRC32:0xBA2EBC65, Flags:0x0 +}; + +// cFSMUnit::cParamSetEyeClose vftable:0x1BA1164, Size:0x8, CRC32:0x4CE2F77A +class cFSMUnit::cParamSetEyeClose /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mEyeClose' ; // Offset:0x4, Var, CRC32:0xE08C13E7, Flags:0x0 +}; + +// cFSMUnit::cParamSetGoto vftable:0x1BA0E84, Size:0x50, CRC32:0x2FE1CCEA +class cFSMUnit::cParamSetGoto /*: cAICopiableParameter, cAIResource, MtObject*/ { + vector3 'mTargetPos' ; // Offset:0x10, Var, CRC32:0x97CFE05E, Flags:0x4000000 + u8 'mRunType' ; // Offset:0x20, Var, CRC32:0x153C1F37, Flags:0x0 + f32 'mStopBorder' ; // Offset:0x24, Var, CRC32:0x646C9760, Flags:0x0 + bool 'mIsSetDir' ; // Offset:0x28, Var, CRC32:0x1DBACE9F, Flags:0x0 + bool 'mIsPathFinding' ; // Offset:0x29, Var, CRC32:0x61BDDF64, Flags:0x0 + vector3 'mDir' ; // Offset:0x30, Var, CRC32:0x6A50EADF, Flags:0x0 + f32 'mSpeed' ; // Offset:0x40, Var, CRC32:0xF2926437, Flags:0x0 +}; + +// cFSMUnit::cParamSetGotoTarget vftable:0x1BA0EA4, Size:0x20, CRC32:0x36E991D7 +class cFSMUnit::cParamSetGotoTarget /*: cAICopiableParameter, cAIResource, MtObject*/ { + u8 'mTargetType' ; // Offset:0x4, Var, CRC32:0xD783D92, Flags:0x0 + u8 'mRunType' ; // Offset:0x5, Var, CRC32:0x153C1F37, Flags:0x0 + s32 'mTargetId' ; // Offset:0x8, Var, CRC32:0x11EBA6E8, Flags:0x0 + bool 'mIsSetBorder' ; // Offset:0xC, Var, CRC32:0x38C4A531, Flags:0x0 + bool 'mIsPathFinding' ; // Offset:0xD, Var, CRC32:0x61BDDF64, Flags:0x0 + f32 'mStopBorder' ; // Offset:0x10, Var, CRC32:0x646C9760, Flags:0x0 + bool 'mIsUseWarp' ; // Offset:0x14, Var, CRC32:0x97C88660, Flags:0x0 + f32 'mWarpDist' ; // Offset:0x18, Var, CRC32:0x79CADCFC, Flags:0x0 + bool 'mEnableNoFall' ; // Offset:0x1C, Var, CRC32:0x555A4AF7, Flags:0x0 +}; + +// cFSMUnit::cParamSetHakuryuStoneLevel vftable:0x1BA10C4, Size:0x8, CRC32:0x5FCA7B5A +class cFSMUnit::cParamSetHakuryuStoneLevel /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mStoneLevel' ; // Offset:0x4, Var, CRC32:0xE72635F2, Flags:0x0 +}; + +// cFSMUnit::cParamSetHaveThing vftable:0x1BA1084, Size:0x8, CRC32:0x445B170C +class cFSMUnit::cParamSetHaveThing /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mHaveThing' ; // Offset:0x4, Var, CRC32:0xCA499611, Flags:0x0 +}; + +// cFSMUnit::cParamSetHeadCtrl vftable:0x1BA1144, Size:0x8, CRC32:0x170CDF0F +class cFSMUnit::cParamSetHeadCtrl /*: cAICopiableParameter, cAIResource, MtObject*/ { + s16 'mHeadCtrl' ; // Offset:0x4, Var, CRC32:0xBB623B92, Flags:0x0 +}; + +// cFSMUnit::cParamSetIK vftable:0x1BA11A4, Size:0x8, CRC32:0x2C0263B6 +class cFSMUnit::cParamSetIK /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mActive' ; // Offset:0x4, Var, CRC32:0x75825533, Flags:0x0 +}; + +// cFSMUnit::cParamSetMotion vftable:0x1BA0EC4, Size:0x60, CRC32:0x5B3ADEFF +class cFSMUnit::cParamSetMotion /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mBankNo' ; // Offset:0x4, Var, CRC32:0x42BC428D, Flags:0x0 + u32 'mMotNo' ; // Offset:0x8, Var, CRC32:0xD97EE7BB, Flags:0x0 + f32 'mHokan' ; // Offset:0xC, Var, CRC32:0x63FF847D, Flags:0x0 + f32 'mStartFrame' ; // Offset:0x10, Var, CRC32:0xB54AF09A, Flags:0x0 + f32 'mEndFrame' ; // Offset:0x14, Var, CRC32:0x2F50DF0B, Flags:0x0 + f32 'mMotSpeed' ; // Offset:0x18, Var, CRC32:0xE3CA0FAA, Flags:0x0 + bool 'mIsLoop' ; // Offset:0x1C, Var, CRC32:0x3EFEA1D3, Flags:0x0 + bool 'mIsSetEndFrame' ; // Offset:0x1D, Var, CRC32:0x9CF8056C, Flags:0x0 + bool 'mIsNullTransFix' ; // Offset:0x1E, Var, CRC32:0xF12B2110, Flags:0x0 + bool 'mIsNullTransOff' ; // Offset:0x1F, Var, CRC32:0x836D3B33, Flags:0x0 + bool 'mIsNullAngleFix' ; // Offset:0x20, Var, CRC32:0xBCE550DB, Flags:0x0 + bool 'mIsSetDir' ; // Offset:0x21, Var, CRC32:0x1DBACE9F, Flags:0x0 + bool 'mIsDispItem' ; // Offset:0x22, Var, CRC32:0xFD4949EB, Flags:0x0 + vector3 'mDir' ; // Offset:0x30, Var, CRC32:0x6A50EADF, Flags:0x0 + f32 'mSpeed' ; // Offset:0x40, Var, CRC32:0xF2926437, Flags:0x0 + bool 'mIsCallVoice' ; // Offset:0x44, Var, CRC32:0xAACABBF2, Flags:0x0 + bool 'mIsUseFingerMotion' ; // Offset:0x45, Var, CRC32:0xDD917C02, Flags:0x0 + u32 'mFingerMotionNo' ; // Offset:0x48, Var, CRC32:0xAE1A112A, Flags:0x0 + f32 'mFingerHokan' ; // Offset:0x4C, Var, CRC32:0x699B52D9, Flags:0x0 + f32 'mFingerSpeed' ; // Offset:0x50, Var, CRC32:0xF8F6B293, Flags:0x0 + bool 'mIsDisableFall' ; // Offset:0x54, Var, CRC32:0xAA486E11, Flags:0x0 + s32 'mMotionSeOffBank' ; // Offset:0x58, Var, CRC32:0xFC192862, Flags:0x0 +}; + +// cFSMUnit::cParamSetMotionGoto vftable:0x1BA0EE4, Size:0xB0, CRC32:0x3EACE74C +class cFSMUnit::cParamSetMotionGoto /*: cFSMUnit::cParamSetMotion, cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mBankNo' ; // Offset:0x4, Var, CRC32:0x42BC428D, Flags:0x0 + u32 'mMotNo' ; // Offset:0x8, Var, CRC32:0xD97EE7BB, Flags:0x0 + f32 'mHokan' ; // Offset:0xC, Var, CRC32:0x63FF847D, Flags:0x0 + f32 'mStartFrame' ; // Offset:0x10, Var, CRC32:0xB54AF09A, Flags:0x0 + f32 'mEndFrame' ; // Offset:0x14, Var, CRC32:0x2F50DF0B, Flags:0x0 + f32 'mMotSpeed' ; // Offset:0x18, Var, CRC32:0xE3CA0FAA, Flags:0x0 + bool 'mIsLoop' ; // Offset:0x1C, Var, CRC32:0x3EFEA1D3, Flags:0x0 + bool 'mIsSetEndFrame' ; // Offset:0x1D, Var, CRC32:0x9CF8056C, Flags:0x0 + bool 'mIsNullTransFix' ; // Offset:0x1E, Var, CRC32:0xF12B2110, Flags:0x0 + bool 'mIsNullTransOff' ; // Offset:0x1F, Var, CRC32:0x836D3B33, Flags:0x0 + bool 'mIsNullAngleFix' ; // Offset:0x20, Var, CRC32:0xBCE550DB, Flags:0x0 + bool 'mIsSetDir' ; // Offset:0x21, Var, CRC32:0x1DBACE9F, Flags:0x0 + bool 'mIsDispItem' ; // Offset:0x22, Var, CRC32:0xFD4949EB, Flags:0x0 + vector3 'mDir' ; // Offset:0x30, Var, CRC32:0x6A50EADF, Flags:0x0 + f32 'mSpeed' ; // Offset:0x40, Var, CRC32:0xF2926437, Flags:0x0 + bool 'mIsCallVoice' ; // Offset:0x44, Var, CRC32:0xAACABBF2, Flags:0x0 + bool 'mIsUseFingerMotion' ; // Offset:0x45, Var, CRC32:0xDD917C02, Flags:0x0 + u32 'mFingerMotionNo' ; // Offset:0x48, Var, CRC32:0xAE1A112A, Flags:0x0 + f32 'mFingerHokan' ; // Offset:0x4C, Var, CRC32:0x699B52D9, Flags:0x0 + f32 'mFingerSpeed' ; // Offset:0x50, Var, CRC32:0xF8F6B293, Flags:0x0 + bool 'mIsDisableFall' ; // Offset:0x54, Var, CRC32:0xAA486E11, Flags:0x0 + s32 'mMotionSeOffBank' ; // Offset:0x58, Var, CRC32:0xFC192862, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x60, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStopBorder' ; // Offset:0x70, Var, CRC32:0x646C9760, Flags:0x0 + bool 'mIsSetVelocity' ; // Offset:0x74, Var, CRC32:0x25FE3C53, Flags:0x0 + f32 'mVelocityScalar' ; // Offset:0xA0, Var, CRC32:0x7BB57CE8, Flags:0x0 + f32 'mAccelerationScalar' ; // Offset:0xA4, Var, CRC32:0x80D1DFD, Flags:0x0 + bool 'mIsHover' ; // Offset:0xA8, Var, CRC32:0x702DB5F4, Flags:0x0 + bool 'mIsPosHokan' ; // Offset:0xA9, Var, CRC32:0x987F3056, Flags:0x0 +}; + +// cFSMUnit::cParamSetNeck vftable:0x1BA0F44, Size:0x40, CRC32:0x5D904639 +class cFSMUnit::cParamSetNeck /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsSetNeck' ; // Offset:0x4, Var, CRC32:0x8FB3B6DB, Flags:0x0 + u32 'mTargetType' ; // Offset:0x8, Var, CRC32:0xD783D92, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x10, Var, CRC32:0x97CFE05E, Flags:0x0 + u32 'mTargetGroup' ; // Offset:0x20, Var, CRC32:0xE3F06726, Flags:0x0 + u32 'mTargetSetId' ; // Offset:0x24, Var, CRC32:0xC204D851, Flags:0x0 + s32 'mTargetJointId' ; // Offset:0x28, Var, CRC32:0xAAA23845, Flags:0x0 + bool 'mDisableSequence' ; // Offset:0x2C, Var, CRC32:0xEECF40D6, Flags:0x0 + bool 'mIsAutoOffCtrl' ; // Offset:0x2D, Var, CRC32:0x26457352, Flags:0x0 + f32 'mSpeedRate' ; // Offset:0x30, Var, CRC32:0x6C7C9757, Flags:0x0 +}; + +// cFSMUnit::cParamSetParts vftable:0x1BA10E4, Size:0xC, CRC32:0x165841A5 +class cFSMUnit::cParamSetParts /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mParts' ; // Offset:0x8, Var, CRC32:0x94F43D3F, Flags:0x0 +}; + +// cFSMUnit::cParamSetShadowCast vftable:0x1BA1064, Size:0x8, CRC32:0x1B0E75D4 +class cFSMUnit::cParamSetShadowCast /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsShadowCast' ; // Offset:0x4, Var, CRC32:0x84E0246E, Flags:0x0 +}; + +// cFSMUnit::cParamSetVibUnit vftable:0x1BA1104, Size:0x8, CRC32:0x52EF9294 +class cFSMUnit::cParamSetVibUnit /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mVib' ; // Offset:0x4, Var, CRC32:0x68458DA5, Flags:0x0 +}; + +// cFSMUnit::cParamSetWait vftable:0x1BA0E64, Size:0x30, CRC32:0x6F138F +class cFSMUnit::cParamSetWait /*: cAICopiableParameter, cAIResource, MtObject*/ { + bool 'mIsSetDir' ; // Offset:0x4, Var, CRC32:0x1DBACE9F, Flags:0x0 + vector3 'mDir' ; // Offset:0x10, Var, CRC32:0x6A50EADF, Flags:0x0 + f32 'mSpeed' ; // Offset:0x20, Var, CRC32:0xF2926437, Flags:0x0 +}; + +// cFSMUnit::cParamSetWaypoint vftable:0x1BA0FA4, Size:0xC, CRC32:0x373C8C81 +class cFSMUnit::cParamSetWaypoint /*: cAICopiableParameter, cAIResource, MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + s32 'mGotoPointNo' ; // Offset:0x8, Var, CRC32:0x3C6F38D3, Flags:0x0 +}; + +// cFSMUnit::uEvHeadTarget vftable:0x1BA11C8, Size:0x140, CRC32:0x475F4C0A +class cFSMUnit::uEvHeadTarget /*: uCoord, cUnit, MtObject*/ { + u32 'mType' ; // Offset:0x100, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mGroup' ; // Offset:0x104, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mId' ; // Offset:0x108, Var, CRC32:0x2BD52F93, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x110, Var, CRC32:0x97CFE05E, Flags:0x0 + vector3 'mTargetOfsPos' ; // Offset:0x120, Var, CRC32:0x8BC28481, Flags:0x0 + s32 'mTargetJointId' ; // Offset:0x130, Var, CRC32:0xAAA23845, Flags:0x0 +}; + +// cFacialEditJointPreset vftable:0x1C5F304, Size:0x40, CRC32:0x38695F9B +class cFacialEditJointPreset /*: MtObject*/ { + s32 'mJntNo' ; // Offset:0x4, Var, CRC32:0xD3E25CCE, Flags:0x0 + vector3 'mTrans' ; // Offset:0x10, Var, CRC32:0x8D95847C, Flags:0x0 + vector3 'mRot' ; // Offset:0x20, Var, CRC32:0xCDC237AE, Flags:0x0 + vector3 'mScale' ; // Offset:0x30, Var, CRC32:0x11F2BF45, Flags:0x0 +}; + +// cFatAdjust vftable:0x1C5F420, Size:0x30, CRC32:0x72262CE2 +class cFatAdjust /*: MtObject*/ { +}; + +// cFunctionList vftable:0x1C5FE28, Size:0x10, CRC32:0x1573002B +class cFunctionList /*: MtObject*/ { + u32 'FunctionType' ; // Offset:0x4, Var, CRC32:0x9AFD9967, Flags:0x0 + u32 'SelectName' ; // Offset:0x8, Var, CRC32:0x5B0F8D40, Flags:0x0 + u32 'ClassName' ; // Offset:0xC, Var, CRC32:0xB8FDCD62, Flags:0x0 +}; + +// cFurniture vftable:0x1B12318, Size:0x40, CRC32:0x24006444 +class cFurniture /*: MtObject*/ { +}; + +// cFurniture::Info vftable:0x1B122E8, Size:0x40, CRC32:0x43B0B252 +class cFurniture::Info /*: MtObject*/ { +}; + +// cFurnitureData vftable:0x1C604F8, Size:0x40, CRC32:0x4B2ECB06 +class cFurnitureData /*: MtObject*/ { + u32 'mOmId' ; // Offset:0x4, Var, CRC32:0xB063FA0B, Flags:0x0 + u32 'mStatusFlag' ; // Offset:0x8, Var, CRC32:0x412DF376, Flags:0x0 + u32 'mKindFlag' ; // Offset:0xC, Var, CRC32:0xD0CD7E30, Flags:0x0 + u32 'mWorkFlag' ; // Offset:0x10, Var, CRC32:0x6E4D3A5F, Flags:0x0 + vector3 'mPos' ; // Offset:0x20, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mAngle' ; // Offset:0x30, Var, CRC32:0xFD35DFC8, Flags:0x0 +}; + +// cFurnitureGroup vftable:0x1C60618, Size:0x14, CRC32:0x2FCE3A7 +class cFurnitureGroup /*: MtObject*/ { + u32 'mID' ; // Offset:0x4, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mCameraNo' ; // Offset:0x8, Var, CRC32:0xE0653C06, Flags:0x0 + u32 'mGmdIdx' ; // Offset:0xC, Var, CRC32:0x6F4D053A, Flags:0x0 + u8 'mSortNo' ; // Offset:0x10, Var, CRC32:0x38B321B8, Flags:0x0 +}; + +// cFurnitureGroupListItems::cItem vftable:0x1B7A304, Size:0x10, CRC32:0x4B720EEB +class cFurnitureGroupListItems::cItem /*: cElement, cUIObject, MtObject*/ { +}; + +// cFurnitureItem vftable:0x1C607E8, Size:0x10, CRC32:0x79C61D7B +class cFurnitureItem /*: MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u32 'mLayoutId' ; // Offset:0x8, Var, CRC32:0xB41B60EB, Flags:0x0 + u32 'mOmId' ; // Offset:0xC, Var, CRC32:0xB063FA0B, Flags:0x0 +}; + +// cFurnitureLayout vftable:0x1C60700, Size:0x14, CRC32:0x4B6BB8BC +class cFurnitureLayout /*: MtObject*/ { + u32 'mID' ; // Offset:0x4, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mGroupId' ; // Offset:0x8, Var, CRC32:0x6E63FBAE, Flags:0x0 + bool 'mIsRemovable' ; // Offset:0xC, Var, CRC32:0x1F0B3139, Flags:0x0 + u8 'mSortNo' ; // Offset:0xD, Var, CRC32:0x38B321B8, Flags:0x0 + u32 'mGmdIdx' ; // Offset:0x10, Var, CRC32:0x6F4D053A, Flags:0x0 +}; + +// cFurnitureListItems::cInfo vftable:0x1B7A348, Size:0x18, CRC32:0x760A4D37 +class cFurnitureListItems::cInfo /*: cElement, cUIObject, MtObject*/ { +}; + +// cFurnitureListItems::cItem vftable:0x1B7A37C, Size:0x20, CRC32:0x2298597E +class cFurnitureListItems::cItem /*: cElement, cUIObject, MtObject*/ { +}; + +// cFurnitureMenuFlow vftable:0x1B12834, Size:0x8C, CRC32:0x5D033E9C +class cFurnitureMenuFlow /*: cUIObject, MtObject*/ { +}; + +// cGUIClanExecutor vftable:0x1B131F8, Size:0x1C, CRC32:0x1716A567 +class cGUIClanExecutor /*: cUIObject, MtObject*/ { +}; + +// cGUIContentsExecutor vftable:0x1B13714, Size:0x168, CRC32:0x78675082 +class cGUIContentsExecutor /*: cUIObject, MtObject*/ { +}; + +// cGUIControlMgr vftable:0x1B13DDC, Size:0x320, CRC32:0x7C47F226 +class cGUIControlMgr /*: cUIObject, MtObject*/ { +}; + +// cGUIDogmaOrbRes vftable:0x1C60C4C, Size:0x1C, CRC32:0x2CA9DD52 +class cGUIDogmaOrbRes /*: MtObject*/ { +}; + +// cGUIExtNetMgr vftable:0x1B14354, Size:0x2570, CRC32:0x73B063C2 +class cGUIExtNetMgr /*: MtObject*/ { +}; + +// cGUIFloorManager vftable:0x1BA3268, Size:0x34, CRC32:0x2BA195DA +class cGUIFloorManager /*: MtObject*/ { + class 'mParamArray' ; // Offset:0x4, Var, CRC32:0x2C057D15, Flags:0x0 + s32 'mFloorId' ; // Offset:0x20, Var, CRC32:0xCDE8F064, Flags:0x0 + s32 'mHitGroupNo' ; // Offset:0x2C, Var, CRC32:0x3D4C5BF0, Flags:0x0 + bool 'mIsWarpDungeon' ; // Offset:0x30, Var, CRC32:0xC219555, Flags:0x0 +}; + +// cGUIFloorManager::cParam vftable:0x1BA3240, Size:0x10, CRC32:0x4AFD334E +class cGUIFloorManager::cParam /*: MtObject*/ { + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x675BB0, Setter:0x675D30, CRC32:0xE80A92B5, Flags:0x800000 +}; + +// cGUIFontFilterBorder vftable:0x20D2CD8, Size:0x14, CRC32:0x6DF3AB1E +class cGUIFontFilterBorder /*: cGUIFontFilter, MtObject*/ { + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC470, Setter:0x17EC790, CRC32:0x58689812, Flags:0x800000 + s32 'Distance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC4F0, Setter:0x17EC7C0, CRC32:0x1A1B0728, Flags:0x800000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC590, Setter:0x17EC9A0, CRC32:0xD31307E8, Flags:0x800000 +}; + +// cGUIFontFilterGradationOverlay vftable:0x20D2D78, Size:0x10, CRC32:0x77214222 +class cGUIFontFilterGradationOverlay /*: cGUIFontFilter, MtObject*/ { + custom 'Texture' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC570, Setter:0x17EC920, CRC32:0xB224CB11, Flags:0x800000 +}; + +// cGUIFontFilterShading vftable:0x20D2D28, Size:0x10, CRC32:0x3D35D49A +class cGUIFontFilterShading /*: cGUIFontFilter, MtObject*/ { + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC480, Setter:0x17EC7A0, CRC32:0x58689812, Flags:0x800000 +}; + +// cGUIFontFilterShadow vftable:0x20D2C88, Size:0x1C, CRC32:0x5F704244 +class cGUIFontFilterShadow /*: cGUIFontFilter, MtObject*/ { + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC490, Setter:0x17EC7B0, CRC32:0x58689812, Flags:0x800000 + u32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC560, Setter:0x17EC880, CRC32:0x2FF50558, Flags:0x800000 + u32 'Distance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC500, Setter:0x17EC7E0, CRC32:0x1A1B0728, Flags:0x800000 +}; + +// cGUIFontFilterTextureBlend vftable:0x20D2DC8, Size:0x14, CRC32:0x5863E885 +class cGUIFontFilterTextureBlend /*: cGUIFontFilter, MtObject*/ { + custom 'Texture' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC580, Setter:0x17EC960, CRC32:0xB224CB11, Flags:0x800000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EC5A0, Setter:0x17EC9B0, CRC32:0xD31307E8, Flags:0x800000 +}; + +// cGUIInstAnimControl vftable:0x20C5358, Size:0x120, CRC32:0x7C431E8A +class cGUIInstAnimControl /*: cGUIInstAnimVariable, cGUIInstAnimation, cGUIInstNull, cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Variable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6CD40, Setter:0x158FFE5, CRC32:0xCAC41A24, Flags:0x800000 + u32 'Billboard' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595560, Setter:0x1596CD0, CRC32:0x8B624EAA, Flags:0x800000 + bool 'Foundation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BC0, Setter:0x1597120, CRC32:0xEF31E9B5, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957E0, Setter:0x1597140, CRC32:0x20A293F1, Flags:0x800000 + f32 'Speed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958E0, Setter:0xDF9180, CRC32:0x31182E0D, Flags:0x800000 + u32 'SequenceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958B0, Setter:0x1597780, CRC32:0xF4D85745, Flags:0x800000 + u32 'AnimationId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595550, Setter:0x1596B70, CRC32:0x948673A2, Flags:0x800000 + u32 'ResourceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595830, Setter:0x1597550, CRC32:0x3C57809E, Flags:0x800000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + bool 'UseSequence' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C10, Setter:0x1597800, CRC32:0x58C9AF11, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x800000 +}; + +// cGUIInstAnimVariable vftable:0x20C52E8, Size:0x100, CRC32:0x723D0214 +class cGUIInstAnimVariable /*: cGUIInstAnimation, cGUIInstNull, cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Billboard' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595560, Setter:0x1596CD0, CRC32:0x8B624EAA, Flags:0x800000 + bool 'Foundation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BC0, Setter:0x1597120, CRC32:0xEF31E9B5, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957E0, Setter:0x1597140, CRC32:0x20A293F1, Flags:0x800000 + f32 'Speed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958E0, Setter:0xDF9180, CRC32:0x31182E0D, Flags:0x800000 + u32 'SequenceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958B0, Setter:0x1597780, CRC32:0xF4D85745, Flags:0x800000 + u32 'AnimationId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595550, Setter:0x1596B70, CRC32:0x948673A2, Flags:0x800000 + u32 'ResourceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595830, Setter:0x1597550, CRC32:0x3C57809E, Flags:0x800000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + u32 'Variable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6CD40, Setter:0x158FFE5, CRC32:0xCAC41A24, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x800000 +}; + +// cGUIInstAnimation vftable:0x20C5280, Size:0xF0, CRC32:0x1DAA79DB +class cGUIInstAnimation /*: cGUIInstNull, cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Billboard' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595560, Setter:0x1596CD0, CRC32:0x8B624EAA, Flags:0x800000 + bool 'Foundation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BC0, Setter:0x1597120, CRC32:0xEF31E9B5, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957E0, Setter:0x1597140, CRC32:0x20A293F1, Flags:0x800000 + f32 'Speed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958E0, Setter:0xDF9180, CRC32:0x31182E0D, Flags:0x800000 + u32 'SequenceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958B0, Setter:0x1597780, CRC32:0xF4D85745, Flags:0x800000 + u32 'AnimationId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595550, Setter:0x1596B70, CRC32:0x948673A2, Flags:0x800000 + u32 'ResourceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595830, Setter:0x1597550, CRC32:0x3C57809E, Flags:0x800000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIInstMessage vftable:0x20D60F0, Size:0x180, CRC32:0x10722FE +class cGUIInstMessage /*: cGUIInstNull, cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'MessageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841320, Setter:0x18418F0, CRC32:0xD9CDDD86, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695B40, Setter:0x1841AF0, CRC32:0xA80D74AB, Flags:0x800000 + size 'FontSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16959E0, Setter:0x18417F0, CRC32:0x40CBAB9D, Flags:0x800000 + u32 'IconColorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841310, Setter:0x1841840, CRC32:0x4C874894, Flags:0x800000 + u32 'LetterVAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A40, Setter:0x18418A0, CRC32:0x28D5B245, Flags:0x800000 + u32 'LetterHAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A20, Setter:0x1841870, CRC32:0x1109D1AE, Flags:0x800000 + u32 'Layout' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A10, Setter:0x1841860, CRC32:0xC269912B, Flags:0x800000 + s32 'LetterSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A30, Setter:0x1841890, CRC32:0x4B44D117, Flags:0x800000 + s32 'LineSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695B00, Setter:0x18418C0, CRC32:0x43D510A0, Flags:0x800000 + bool 'UseRuby' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695DB0, Setter:0x1841B90, CRC32:0x8236CCEC, Flags:0x800000 + bool 'Monospace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695D70, Setter:0x1841A40, CRC32:0xF29B0106, Flags:0x800000 + bool 'AutoScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695D60, Setter:0x18416E0, CRC32:0x3E8FD7CB, Flags:0x800000 + u32 'AutoWrap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16957E0, Setter:0x1841700, CRC32:0x672712DD, Flags:0x800000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841350, Setter:0x1841AB0, CRC32:0x367FC41F, Flags:0x800000 + u32 'FontFilter1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841300, Setter:0x18417D0, CRC32:0x84A6A6CD, Flags:0x800000 + u32 'FontFilter0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x18412F0, Setter:0x18417B0, CRC32:0xF3A1965B, Flags:0x800000 + u32 'Font' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A00, Setter:0x1841830, CRC32:0x8F595813, Flags:0x800000 + color 'RGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841340, Setter:0x1841A60, CRC32:0x486C254D, Flags:0x800000 + u8 'Alpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841220, Setter:0x18416C0, CRC32:0xEEDEE991, Flags:0x800000 + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841240, Setter:0x1841760, CRC32:0x58689812, Flags:0x800000 + u32 'Billboard' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841230, Setter:0x1841720, CRC32:0x8B624EAA, Flags:0x800000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x810000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x810000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x810000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + cstring 'MessageIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841330, Setter:0x1841950, CRC32:0x52CC87C0, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 + u32 'ResolutionAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595820, Setter:0x158FFEF, CRC32:0x10E95932, Flags:0x800000 +}; + +// cGUIInstNull vftable:0x20C51B0, Size:0xD0, CRC32:0x419B2827 +class cGUIInstNull /*: cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ResolutionAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595820, Setter:0x158FFEF, CRC32:0x10E95932, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'DepthState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595720, Setter:0xF129A0, CRC32:0x697016C5, Flags:0x800000 + u32 'DrawPass' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595730, Setter:0x1597060, CRC32:0x8BA169A5, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIInstRoot vftable:0x20C5150, Size:0x80, CRC32:0x72A42D33 +class cGUIInstRoot /*: cGUIInstance, MtObject*/ { + event32 'Event15' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE0E6EF93, Flags:0xA0000 + event32 'Event14' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x97E1DF05, Flags:0xA0000 + event32 'Event13' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x9854AA6, Flags:0xA0000 + event32 'Event12' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x7E827A30, Flags:0xA0000 + event32 'Event11' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE78B2B8A, Flags:0xA0000 + event32 'Event10' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x908C1B1C, Flags:0xA0000 + event32 'Event09' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF04B92F9, Flags:0xA0000 + event32 'Event08' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x874CA26F, Flags:0xA0000 + event32 'Event07' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x17F3BFFE, Flags:0xA0000 + event32 'Event06' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x60F48F68, Flags:0xA0000 + event32 'Event05' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF9FDDED2, Flags:0xA0000 + event32 'Event04' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x8EFAEE44, Flags:0xA0000 + event32 'Event03' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x109E7BE7, Flags:0xA0000 + event32 'Event02' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67994B71, Flags:0xA0000 + event32 'Event01' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFE901ACB, Flags:0xA0000 + event32 'Event00' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x89972A5D, Flags:0xA0000 + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x810000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x810000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x810000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x810000 +}; + +// cGUIInstScissorMask vftable:0x20C5218, Size:0x100, CRC32:0x70357604 +class cGUIInstScissorMask /*: cGUIInstNull, cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + size 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE39830, Setter:0x15977C0, CRC32:0xA80D74AB, Flags:0x800000 + bool 'Enable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BB0, Setter:0x1597080, CRC32:0xBF332FB, Flags:0x800000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIInstText vftable:0x20D6180, Size:0x1A0, CRC32:0x5FDB73AF +class cGUIInstText /*: cGUIInstMessage, cGUIInstNull, cGUIInstance, MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x10000 + f32 'TypingSpeed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695B60, Setter:0x183D058, CRC32:0xAFF91817, Flags:0x800000 + cstring 'MessageIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841330, Setter:0x1841950, CRC32:0x52CC87C0, Flags:0x800000 + u32 'MessageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841320, Setter:0x18418F0, CRC32:0xD9CDDD86, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695B40, Setter:0x1841AF0, CRC32:0xA80D74AB, Flags:0x800000 + size 'FontSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16959E0, Setter:0x18417F0, CRC32:0x40CBAB9D, Flags:0x800000 + u32 'IconColorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841310, Setter:0x1841840, CRC32:0x4C874894, Flags:0x800000 + u32 'LetterVAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A40, Setter:0x18418A0, CRC32:0x28D5B245, Flags:0x800000 + u32 'LetterHAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A20, Setter:0x1841870, CRC32:0x1109D1AE, Flags:0x800000 + u32 'Layout' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A10, Setter:0x1841860, CRC32:0xC269912B, Flags:0x800000 + s32 'LetterSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A30, Setter:0x1841890, CRC32:0x4B44D117, Flags:0x800000 + s32 'LineSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695B00, Setter:0x18418C0, CRC32:0x43D510A0, Flags:0x800000 + bool 'UseRuby' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695DB0, Setter:0x1841B90, CRC32:0x8236CCEC, Flags:0x800000 + bool 'Monospace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695D70, Setter:0x1841A40, CRC32:0xF29B0106, Flags:0x800000 + bool 'AutoScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695D60, Setter:0x18416E0, CRC32:0x3E8FD7CB, Flags:0x800000 + u32 'AutoWrap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16957E0, Setter:0x1841700, CRC32:0x672712DD, Flags:0x800000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841350, Setter:0x1841AB0, CRC32:0x367FC41F, Flags:0x800000 + u32 'FontFilter1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841300, Setter:0x18417D0, CRC32:0x84A6A6CD, Flags:0x800000 + u32 'FontFilter0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x18412F0, Setter:0x18417B0, CRC32:0xF3A1965B, Flags:0x800000 + u32 'Font' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1695A00, Setter:0x1841830, CRC32:0x8F595813, Flags:0x800000 + color 'RGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841340, Setter:0x1841A60, CRC32:0x486C254D, Flags:0x800000 + u8 'Alpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841220, Setter:0x18416C0, CRC32:0xEEDEE991, Flags:0x800000 + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841240, Setter:0x1841760, CRC32:0x58689812, Flags:0x800000 + u32 'Billboard' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841230, Setter:0x1841720, CRC32:0x8B624EAA, Flags:0x800000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15958A0, Setter:0x15976D0, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595540, Setter:0xE4C530, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EA70, Setter:0x1596E30, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15956A0, Setter:0x1596E00, CRC32:0x1985C8A1, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595880, Setter:0x1597690, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595860, Setter:0x1597650, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595840, Setter:0x1597610, CRC32:0x2FF505, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C980, Setter:0x1597750, CRC32:0xF646997, Flags:0x810000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C970, Setter:0x1597720, CRC32:0x966D382D, Flags:0x810000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD2EC40, Setter:0x15976F0, CRC32:0xE16A08BB, Flags:0x810000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD8AD70, Setter:0x15972E0, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B620, Setter:0x15972B0, CRC32:0x40986039, Flags:0x800000 + bool 'TypingEvent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1841390, Setter:0x1841B10, CRC32:0x9B71EC46, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595810, Setter:0x1597450, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595800, Setter:0x1597410, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15957F0, Setter:0x15973D0, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BF0, Setter:0x1597390, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BE0, Setter:0x1597350, CRC32:0x1D3E0F73, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B600, Setter:0x1597280, CRC32:0x379F50AF, Flags:0x800000 + u32 'Alignment' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24430, Setter:0x1596B30, CRC32:0x51C06300, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBEF00, Setter:0x1597310, CRC32:0x642F418E, Flags:0x800000 + bool 'Mouse Reaction' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595BD0, Setter:0x1597160, CRC32:0xA7113BB0, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xEDE100, Setter:0xECEEB0, CRC32:0x1448E7B, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5C0, Setter:0x1597840, CRC32:0x4AF22E3A, Flags:0x800000 + u32 'ResolutionAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595820, Setter:0x158FFEF, CRC32:0x10E95932, Flags:0x800000 +}; + +// cGUIKeepString vftable:0x1B14380, Size:0x10, CRC32:0x3BC6E13B +class cGUIKeepString /*: MtObject*/ { +}; + +// cGUIMessageAnalyzer vftable:0x20CBC48, Size:0x78, CRC32:0x6DC2BF5B +class cGUIMessageAnalyzer /*: MtObject*/ { +}; + +// cGUIObjChildAnimationRoot vftable:0x20C49C8, Size:0xE0, CRC32:0x2787DB24 +class cGUIObjChildAnimationRoot /*: cGUIObjNull, cGUIObj2D, cGUIObject, MtObject*/ { + event32 'ChildAnimFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6482FFE6, Flags:0xA0000 + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'ChildSequenceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B410, Setter:0x158CA90, CRC32:0xE0B0A84A, Flags:0x800000 + bool 'ChildAnimPlay' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BC90, Setter:0x158CA70, CRC32:0x90477438, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA30, Setter:0x158DDF0, CRC32:0xF646997, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA20, Setter:0x158DDC0, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA10, Setter:0x158DD90, CRC32:0xE16A08BB, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIObjColorAdjust vftable:0x20C48A0, Size:0xA0, CRC32:0x753E61A +class cGUIObjColorAdjust /*: cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + f32 'Saturation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA00, Setter:0x158DD70, CRC32:0x9A8851A7, Flags:0x800000 + color 'AmbientColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xF24440, Setter:0xD3CB00, CRC32:0x23FABCC2, Flags:0x800000 + vector4 'ColorScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE4B800, Setter:0x158CB70, CRC32:0xBDD7BDF0, Flags:0x800000 + u32 'ColorControl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B470, Setter:0x158CB40, CRC32:0x1985C8A1, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIObjFreePolygonDDO vftable:0x1B14408, Size:0xD0, CRC32:0x367E3297 +class cGUIObjFreePolygonDDO /*: cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + color 'RGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4ED8F0, Setter:0x4EDED0, CRC32:0x486C254D, Flags:0x800000 + u8 'Alpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4ED8A0, Setter:0x4ED9C0, CRC32:0xEEDEE991, Flags:0x800000 + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4ED8C0, Setter:0x4EDBD0, CRC32:0x58689812, Flags:0x800000 + u32 'BlendState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4ED8B0, Setter:0x4EDBC0, CRC32:0x48FAEC6D, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIObjMessage vftable:0x20C4B78, Size:0x170, CRC32:0x2FB82EAE +class cGUIObjMessage /*: cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'MessageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B700, Setter:0x158D3D0, CRC32:0xD9CDDD86, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67C7A0, Setter:0x158E1D0, CRC32:0xA80D74AB, Flags:0x800000 + size 'FontSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67A5E0, Setter:0x158D010, CRC32:0x40CBAB9D, Flags:0x800000 + u32 'IconColorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5D0, Setter:0x158D250, CRC32:0x4C874894, Flags:0x800000 + u32 'LetterVAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5F0, Setter:0x158D330, CRC32:0x28D5B245, Flags:0x800000 + u32 'LetterHAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5E0, Setter:0x158D300, CRC32:0x1109D1AE, Flags:0x800000 + u32 'Layout' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C320, Setter:0x158D2F0, CRC32:0xC269912B, Flags:0x800000 + s32 'LetterSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C330, Setter:0x158D320, CRC32:0x4B44D117, Flags:0x800000 + s32 'LineSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6D0, Setter:0x158D350, CRC32:0x43D510A0, Flags:0x800000 + bool 'UseRuby' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD70, Setter:0x158E920, CRC32:0x8236CCEC, Flags:0x800000 + bool 'Monospace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD00, Setter:0x158D520, CRC32:0xF29B0106, Flags:0x800000 + bool 'AutoScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BC30, Setter:0x158C900, CRC32:0x3E8FD7CB, Flags:0x800000 + u32 'AutoWrap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE81950, Setter:0x158C920, CRC32:0x672712DD, Flags:0x800000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9E0, Setter:0x158DD00, CRC32:0x367FC41F, Flags:0x800000 + u32 'FontFilter1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5C0, Setter:0x158CFF0, CRC32:0x84A6A6CD, Flags:0x800000 + u32 'FontFilter0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5B0, Setter:0x158CFD0, CRC32:0xF3A1965B, Flags:0x800000 + u32 'Font' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6BDD0, Setter:0x158D050, CRC32:0x8F595813, Flags:0x800000 + color 'RGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B800, Setter:0x158D890, CRC32:0x486C254D, Flags:0x800000 + u8 'Alpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B280, Setter:0x158C8A0, CRC32:0xEEDEE991, Flags:0x800000 + cstring 'MessageIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B710, Setter:0x158D430, CRC32:0x52CC87C0, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ResolutionAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B930, Setter:0x158DA20, CRC32:0x10E95932, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD37190, Setter:0x158CAE0, CRC32:0x58689812, Flags:0x800000 +}; + +// cGUIObjNull vftable:0x20C4968, Size:0xC0, CRC32:0x2F7F374C +class cGUIObjNull /*: cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA30, Setter:0x158DDF0, CRC32:0xF646997, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA20, Setter:0x158DDC0, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA10, Setter:0x158DD90, CRC32:0xE16A08BB, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIObjPolygon vftable:0x20C4A28, Size:0xE0, CRC32:0x5EA13FC3 +class cGUIObjPolygon /*: cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u8 'VertexAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAB0, Setter:0x1580E6E, CRC32:0x2C0EEFE4, Flags:0x800000 + color 'VertexColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD3BD70, Setter:0x1580E69, CRC32:0x9AB89E67, Flags:0x800000 + color 'VertexColorRight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB20, Setter:0x158EB20, CRC32:0x85475DFF, Flags:0x800000 + color 'VertexColorLeft' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAF0, Setter:0x158EA90, CRC32:0x96AB93E0, Flags:0x800000 + color 'VertexColorDown' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAC0, Setter:0x158EA00, CRC32:0xF033E4B3, Flags:0x800000 + color 'VertexColorUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB30, Setter:0x158EB50, CRC32:0xAAC201B6, Flags:0x800000 + color 'VertexColorRB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB00, Setter:0x158EAC0, CRC32:0x2D54C6F1, Flags:0x800000 + color 'VertexColorLB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAD0, Setter:0x158EA30, CRC32:0xF915F92E, Flags:0x800000 + color 'VertexColorRT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB10, Setter:0x158EAF0, CRC32:0xD98073A0, Flags:0x800000 + color 'VertexColorLT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAE0, Setter:0x158EA60, CRC32:0xDC14C7F, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6F0, Setter:0x158D390, CRC32:0x20A293F1, Flags:0x800000 + bool 'Reverse' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD50, Setter:0x158DA60, CRC32:0x9A355774, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4F0C20, Setter:0x1580E78, CRC32:0xA80D74AB, Flags:0x800000 + u32 'BlendState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDA6C00, Setter:0xD71EE0, CRC32:0x48FAEC6D, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + color 'VertexRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB40, Setter:0x1580E73, CRC32:0xDC7A8049, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 +}; + +// cGUIObjRoot vftable:0x20C4838, Size:0xB0, CRC32:0x1C403258 +class cGUIObjRoot /*: cGUIObject, MtObject*/ { + event32 'Event15' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE0E6EF93, Flags:0xA0000 + event32 'Event14' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x97E1DF05, Flags:0xA0000 + event32 'Event13' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x9854AA6, Flags:0xA0000 + event32 'Event12' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x7E827A30, Flags:0xA0000 + event32 'Event11' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE78B2B8A, Flags:0xA0000 + event32 'Event10' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x908C1B1C, Flags:0xA0000 + event32 'Event09' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF04B92F9, Flags:0xA0000 + event32 'Event08' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x874CA26F, Flags:0xA0000 + event32 'Event07' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x17F3BFFE, Flags:0xA0000 + event32 'Event06' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x60F48F68, Flags:0xA0000 + event32 'Event05' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF9FDDED2, Flags:0xA0000 + event32 'Event04' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x8EFAEE44, Flags:0xA0000 + event32 'Event03' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x109E7BE7, Flags:0xA0000 + event32 'Event02' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67994B71, Flags:0xA0000 + event32 'Event01' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFE901ACB, Flags:0xA0000 + event32 'Event00' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x89972A5D, Flags:0xA0000 + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x810000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x810000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x810000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x810000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x810000 +}; + +// cGUIObjScissorMask vftable:0x20C4908, Size:0xE0, CRC32:0xDA93F7A +class cGUIObjScissorMask /*: cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + size 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA40, Setter:0x158E230, CRC32:0xA80D74AB, Flags:0x800000 + bool 'Enable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCE0, Setter:0x158CEA0, CRC32:0xBF332FB, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIObjSoundReq vftable:0x1BA37A8, Size:0xE0, CRC32:0xD56C5B +class cGUIObjSoundReq /*: cGUIObjNull, cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x675FA0, Setter:0x6760C0, CRC32:0xBA1869BF, Flags:0x800000 + s32 'ReqNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x675F80, Setter:0x6760A0, CRC32:0x91328F5D, Flags:0x800000 + s32 'ReqType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x675F90, Setter:0x6760B0, CRC32:0x47FAA882, Flags:0x800000 + f32 'SclZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA30, Setter:0x158DDF0, CRC32:0xF646997, Flags:0x800000 + f32 'SclY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA20, Setter:0x158DDC0, CRC32:0x966D382D, Flags:0x800000 + f32 'SclX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA10, Setter:0x158DD90, CRC32:0xE16A08BB, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 +}; + +// cGUIObjText vftable:0x20C4C00, Size:0x190, CRC32:0x313F6CC4 +class cGUIObjText /*: cGUIObjMessage, cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + f32 'TypingSpeed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA80, Setter:0x1580E7D, CRC32:0xAFF91817, Flags:0x800000 + cstring 'MessageIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B710, Setter:0x158D430, CRC32:0x52CC87C0, Flags:0x800000 + u32 'MessageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B700, Setter:0x158D3D0, CRC32:0xD9CDDD86, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67C7A0, Setter:0x158E1D0, CRC32:0xA80D74AB, Flags:0x800000 + size 'FontSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67A5E0, Setter:0x158D010, CRC32:0x40CBAB9D, Flags:0x800000 + u32 'IconColorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5D0, Setter:0x158D250, CRC32:0x4C874894, Flags:0x800000 + u32 'LetterVAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5F0, Setter:0x158D330, CRC32:0x28D5B245, Flags:0x800000 + u32 'LetterHAlign' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5E0, Setter:0x158D300, CRC32:0x1109D1AE, Flags:0x800000 + u32 'Layout' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C320, Setter:0x158D2F0, CRC32:0xC269912B, Flags:0x800000 + s32 'LetterSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6C330, Setter:0x158D320, CRC32:0x4B44D117, Flags:0x800000 + s32 'LineSpace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6D0, Setter:0x158D350, CRC32:0x43D510A0, Flags:0x800000 + bool 'UseRuby' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD70, Setter:0x158E920, CRC32:0x8236CCEC, Flags:0x800000 + bool 'Monospace' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD00, Setter:0x158D520, CRC32:0xF29B0106, Flags:0x800000 + bool 'AutoScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BC30, Setter:0x158C900, CRC32:0x3E8FD7CB, Flags:0x800000 + u32 'AutoWrap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE81950, Setter:0x158C920, CRC32:0x672712DD, Flags:0x800000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9E0, Setter:0x158DD00, CRC32:0x367FC41F, Flags:0x800000 + u32 'FontFilter1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5C0, Setter:0x158CFF0, CRC32:0x84A6A6CD, Flags:0x800000 + u32 'FontFilter0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B5B0, Setter:0x158CFD0, CRC32:0xF3A1965B, Flags:0x800000 + u32 'Font' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6BDD0, Setter:0x158D050, CRC32:0x8F595813, Flags:0x800000 + color 'RGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B800, Setter:0x158D890, CRC32:0x486C254D, Flags:0x800000 + u8 'Alpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B280, Setter:0x158C8A0, CRC32:0xEEDEE991, Flags:0x800000 + color 'Color' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD37190, Setter:0x158CAE0, CRC32:0x58689812, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + bool 'TypingEvent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD60, Setter:0x158E850, CRC32:0x9B71EC46, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ResolutionAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B930, Setter:0x158DA20, CRC32:0x10E95932, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 +}; + +// cGUIObjTexture vftable:0x20C4A98, Size:0x110, CRC32:0x1B6313A3 +class cGUIObjTexture /*: cGUIObjPolygon, cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Texture' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA60, Setter:0x158E6E0, CRC32:0xB224CB11, Flags:0x800000 + u32 'Tiling' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA70, Setter:0x158E7E0, CRC32:0x535E0B47, Flags:0x800000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9F0, Setter:0x158DD40, CRC32:0x367FC41F, Flags:0x800000 + color 'VertexRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB40, Setter:0x1580E73, CRC32:0xDC7A8049, Flags:0x800000 + u8 'VertexAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAB0, Setter:0x1580E6E, CRC32:0x2C0EEFE4, Flags:0x800000 + color 'VertexColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD3BD70, Setter:0x1580E69, CRC32:0x9AB89E67, Flags:0x800000 + color 'VertexColorRight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB20, Setter:0x158EB20, CRC32:0x85475DFF, Flags:0x800000 + color 'VertexColorLeft' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAF0, Setter:0x158EA90, CRC32:0x96AB93E0, Flags:0x800000 + color 'VertexColorDown' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAC0, Setter:0x158EA00, CRC32:0xF033E4B3, Flags:0x800000 + color 'VertexColorUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB30, Setter:0x158EB50, CRC32:0xAAC201B6, Flags:0x800000 + color 'VertexColorRB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB00, Setter:0x158EAC0, CRC32:0x2D54C6F1, Flags:0x800000 + color 'VertexColorLB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAD0, Setter:0x158EA30, CRC32:0xF915F92E, Flags:0x800000 + color 'VertexColorRT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB10, Setter:0x158EAF0, CRC32:0xD98073A0, Flags:0x800000 + color 'VertexColorLT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAE0, Setter:0x158EA60, CRC32:0xDC14C7F, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6F0, Setter:0x158D390, CRC32:0x20A293F1, Flags:0x800000 + bool 'Reverse' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD50, Setter:0x158DA60, CRC32:0x9A355774, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4F0C20, Setter:0x1580E78, CRC32:0xA80D74AB, Flags:0x800000 + u32 'BlendState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDA6C00, Setter:0xD71EE0, CRC32:0x48FAEC6D, Flags:0x800000 + float4 'mTextureRect' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6CBE0, Setter:0x158E740, CRC32:0x31D7239B, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 +}; + +// cGUIObjTextureRef vftable:0x1BA3CE8, Size:0x160, CRC32:0x3D093383 +class cGUIObjTextureRef /*: cGUIObjTexture, cGUIObjPolygon, cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Texture' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA60, Setter:0x158E6E0, CRC32:0xB224CB11, Flags:0x800000 + u32 'Tiling' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA70, Setter:0x158E7E0, CRC32:0x535E0B47, Flags:0x800000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9F0, Setter:0x158DD40, CRC32:0x367FC41F, Flags:0x800000 + color 'VertexRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB40, Setter:0x1580E73, CRC32:0xDC7A8049, Flags:0x800000 + u8 'VertexAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAB0, Setter:0x1580E6E, CRC32:0x2C0EEFE4, Flags:0x800000 + color 'VertexColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD3BD70, Setter:0x1580E69, CRC32:0x9AB89E67, Flags:0x800000 + color 'VertexColorRight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB20, Setter:0x158EB20, CRC32:0x85475DFF, Flags:0x800000 + color 'VertexColorLeft' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAF0, Setter:0x158EA90, CRC32:0x96AB93E0, Flags:0x800000 + color 'VertexColorDown' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAC0, Setter:0x158EA00, CRC32:0xF033E4B3, Flags:0x800000 + color 'VertexColorUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB30, Setter:0x158EB50, CRC32:0xAAC201B6, Flags:0x800000 + color 'VertexColorRB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB00, Setter:0x158EAC0, CRC32:0x2D54C6F1, Flags:0x800000 + color 'VertexColorLB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAD0, Setter:0x158EA30, CRC32:0xF915F92E, Flags:0x800000 + color 'VertexColorRT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB10, Setter:0x158EAF0, CRC32:0xD98073A0, Flags:0x800000 + color 'VertexColorLT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAE0, Setter:0x158EA60, CRC32:0xDC14C7F, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6F0, Setter:0x158D390, CRC32:0x20A293F1, Flags:0x800000 + bool 'Reverse' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD50, Setter:0x158DA60, CRC32:0x9A355774, Flags:0x800000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4F0C20, Setter:0x1580E78, CRC32:0xA80D74AB, Flags:0x800000 + u32 'BlendState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDA6C00, Setter:0xD71EE0, CRC32:0x48FAEC6D, Flags:0x800000 + float4 'mTextureRect' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6CBE0, Setter:0x158E740, CRC32:0x31D7239B, Flags:0x800000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x800000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 +}; + +// cGUIObjTextureSet vftable:0x20C4B08, Size:0x120, CRC32:0x4F7228FC +class cGUIObjTextureSet /*: cGUIObjTexture, cGUIObjPolygon, cGUIObj2D, cGUIObject, MtObject*/ { + u32 'mId' ; // Offset:0x50, Var, CRC32:0x2BD52F93, Flags:0x10000 + u32 'Texture' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA60, Setter:0x158E6E0, CRC32:0xB224CB11, Flags:0x800000 + u32 'Tiling' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BA70, Setter:0x158E7E0, CRC32:0x535E0B47, Flags:0x810000 + u32 'SamplerState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9F0, Setter:0x158DD40, CRC32:0x367FC41F, Flags:0x800000 + color 'VertexRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB40, Setter:0x1580E73, CRC32:0xDC7A8049, Flags:0x800000 + u8 'VertexAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAB0, Setter:0x1580E6E, CRC32:0x2C0EEFE4, Flags:0x800000 + color 'VertexColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD3BD70, Setter:0x1580E69, CRC32:0x9AB89E67, Flags:0x800000 + color 'VertexColorRight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB20, Setter:0x158EB20, CRC32:0x85475DFF, Flags:0x800000 + color 'VertexColorLeft' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAF0, Setter:0x158EA90, CRC32:0x96AB93E0, Flags:0x800000 + color 'VertexColorDown' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAC0, Setter:0x158EA00, CRC32:0xF033E4B3, Flags:0x800000 + color 'VertexColorUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB30, Setter:0x158EB50, CRC32:0xAAC201B6, Flags:0x800000 + color 'VertexColorRB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB00, Setter:0x158EAC0, CRC32:0x2D54C6F1, Flags:0x800000 + color 'VertexColorLB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAD0, Setter:0x158EA30, CRC32:0xF915F92E, Flags:0x800000 + color 'VertexColorRT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BB10, Setter:0x158EAF0, CRC32:0xD98073A0, Flags:0x800000 + color 'VertexColorLT' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BAE0, Setter:0x158EA60, CRC32:0xDC14C7F, Flags:0x800000 + u32 'Mask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6F0, Setter:0x158D390, CRC32:0x20A293F1, Flags:0x800000 + bool 'Reverse' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD50, Setter:0x158DA60, CRC32:0x9A355774, Flags:0x810000 + float2 'Size' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4F0C20, Setter:0x1580E78, CRC32:0xA80D74AB, Flags:0x810000 + u32 'BlendState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDA6C00, Setter:0xD71EE0, CRC32:0x48FAEC6D, Flags:0x800000 + float4 'mTextureRect' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6CBE0, Setter:0x158E740, CRC32:0x31D7239B, Flags:0x810000 + f32 'RotationZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0xEE219429, Flags:0x800000 + f32 'RotationY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9A0, Setter:0x158DAF0, CRC32:0x7728C593, Flags:0x800000 + f32 'RotationX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B980, Setter:0x158DAB0, CRC32:0x2FF505, Flags:0x800000 + f32 'PosZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7E0, Setter:0x158D820, CRC32:0xD9913183, Flags:0x800000 + f32 'PosY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B630, Setter:0x158D7F0, CRC32:0x40986039, Flags:0x800000 + f32 'PosX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67B610, Setter:0x158D7C0, CRC32:0x379F50AF, Flags:0x800000 + u32 'ReferenceScaleZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B920, Setter:0x158D9E0, CRC32:0x9F8A1EA0, Flags:0x800000 + u32 'ReferenceScaleY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B910, Setter:0x158D9A0, CRC32:0x6834F1A, Flags:0x800000 + u32 'ReferenceScaleX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B900, Setter:0x158D960, CRC32:0x71847F8C, Flags:0x800000 + bool 'ReferenceRotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD40, Setter:0x158D920, CRC32:0x726E7377, Flags:0x800000 + bool 'ReferencePosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BD30, Setter:0x158D8E0, CRC32:0x1D3E0F73, Flags:0x800000 + u32 'ControlPoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xE819B0, Setter:0x158CBD0, CRC32:0x3E61D689, Flags:0x810000 + bool 'FixFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CD30, Setter:0xD73510, CRC32:0x3E6B89B2, Flags:0x800000 + u32 'LoopStartFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B6E0, Setter:0x158D380, CRC32:0x721D2BB3, Flags:0x800000 + bool 'Loop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158BCF0, Setter:0x158D360, CRC32:0xFE924D2F, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B7F0, Setter:0x158D850, CRC32:0x642F418E, Flags:0x800000 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A5D0, Setter:0x158ECA0, CRC32:0x4AF22E3A, Flags:0x800000 + f32 'Rotation' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x158B9C0, Setter:0x158DB30, CRC32:0x2FF50558, Flags:0x800000 +}; + +// cGUIPawnThinkScroll::cData vftable:0x1B14ECC, Size:0x18, CRC32:0x74A66ED6 +class cGUIPawnThinkScroll::cData /*: cUIObject, MtObject*/ { +}; + +// cGUIPawnThinkScroll::cElement vftable:0x1B14F2C, Size:0x14, CRC32:0x227AEA25 +class cGUIPawnThinkScroll::cElement /*: cUIObject, MtObject*/ { +}; + +// cGUIPawnThinkScroll::cHeader vftable:0x1B14EFC, Size:0x18, CRC32:0x38A7D66F +class cGUIPawnThinkScroll::cHeader /*: cUIObject, MtObject*/ { +}; + +// cGUIPhotoFrameRes vftable:0x1C60EA4, Size:0xC, CRC32:0xBD05D41 +class cGUIPhotoFrameRes /*: MtObject*/ { +}; + +// cGUIVarFloat vftable:0x20D0E38, Size:0x24, CRC32:0x3FBDE402 +class cGUIVarFloat /*: cGUIVariable, MtObject*/ { + u32 'Id' ; // Offset:0x4, Var, CRC32:0xD542BC0D, Flags:0x10000 + f32 'InitValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6BFA0, Setter:0x159CDE0, CRC32:0x3AAF2A48, Flags:0x800000 + f32 'OldValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6D30, Setter:0x17A7030, CRC32:0xAF871B27, Flags:0x810000 + f32 'Value' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6B3D0, Setter:0x17A7050, CRC32:0x234988CF, Flags:0x800000 + f32 'MaxValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6CF0, Setter:0x159CE30, CRC32:0xF861BF7A, Flags:0x800000 + f32 'MinValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6D10, Setter:0x159CEE0, CRC32:0x1E01109B, Flags:0x800000 + bool 'LoopValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6E00, Setter:0x17A7010, CRC32:0x44D318B5, Flags:0x800000 +}; + +// cGUIVarInt vftable:0x20D0E10, Size:0x24, CRC32:0x3CED137F +class cGUIVarInt /*: cGUIVariable, MtObject*/ { + u32 'Id' ; // Offset:0x4, Var, CRC32:0xD542BC0D, Flags:0x10000 + s32 'InitValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4F0C10, Setter:0x159CDF0, CRC32:0x3AAF2A48, Flags:0x800000 + s32 'OldValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6D40, Setter:0x17A7040, CRC32:0xAF871B27, Flags:0x810000 + s32 'Value' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6B3E0, Setter:0x17A70F0, CRC32:0x234988CF, Flags:0x800000 + s32 'MaxValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6D00, Setter:0x159CE40, CRC32:0xF861BF7A, Flags:0x800000 + s32 'MinValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6D20, Setter:0x159CEF0, CRC32:0x1E01109B, Flags:0x800000 + bool 'LoopValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17A6E00, Setter:0x17A7010, CRC32:0x44D318B5, Flags:0x800000 +}; + +// cGameDataCache vftable:0x1BA2810, Size:0x108, CRC32:0x36BE642 +class cGameDataCache /*: MtObject*/ { +}; + +// cGameHttpClient vftable:0x1C92970, Size:0x8350, CRC32:0xE7AE0F8 +class cGameHttpClient /*: cHttpClient, MtObject*/ { +}; + +// cGameHttpClient::cLoginBackDoorInfo vftable:0x1C9295C, Size:0x18, CRC32:0x3957818E +class cGameHttpClient::cLoginBackDoorInfo /*: MtObject*/ { +}; + +// cGameHttpClient::cServerEnvironmentInfo vftable:0x1C92940, Size:0x14, CRC32:0x72B8381 +class cGameHttpClient::cServerEnvironmentInfo /*: MtObject*/ { +}; + +// cGamePadInfo vftable:0x1C9B690, Size:0x74, CRC32:0x69A789D6 +class cGamePadInfo /*: MtObject*/ { + string '' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xBC9B90, Setter:0x0, CRC32:0xA41D93F0, Flags:0x830000 +}; + +// cGatherItemList vftable:0x1B36A14, Size:0x13C, CRC32:0x7A6EEC28 +class cGatherItemList /*: MtObject*/ { +}; + +// cGatheringItem vftable:0x1C60B4C, Size:0xC, CRC32:0x401435D0 +class cGatheringItem /*: MtObject*/ { + u32 'mItemNo' ; // Offset:0x4, Var, CRC32:0x53F7510F, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x0 +}; + +// cGeneralPoint vftable:0x1BA2840, Size:0x60, CRC32:0x73D4AE60 +class cGeneralPoint /*: MtObject*/ { +}; + +// cGeneralPointLifeArea vftable:0x1BA2860, Size:0x70, CRC32:0x78C5FB98 +class cGeneralPointLifeArea /*: cGeneralPoint, MtObject*/ { +}; + +// cGeomConvexHull vftable:0x20C9F00, Size:0xB0, CRC32:0x21828CA0 +class cGeomConvexHull /*: MtGeomConvex, MtGeometry, MtObject*/ { + matrix44 'Transform' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1916750, Setter:0x1917010, CRC32:0xABCFCF1, Flags:0x800000 + custom 'Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19167C0, Setter:0x1917AB0, CRC32:0xBA1869BF, Flags:0x900000 +}; + +// cGeomIterator vftable:0x1B155CC, Size:0x1C, CRC32:0x52D865CC +class cGeomIterator /*: MtObject*/ { +}; + +// cGridCollision vftable:0x20D3F84, Size:0x170, CRC32:0x1AD71D56 +class cGridCollision /*: MtObject*/ { +}; + +// cGroundAttrInfo vftable:0x1C0164C, Size:0xF0, CRC32:0x3AEF2599 +class cGroundAttrInfo /*: MtObject*/ { +}; + +// cGroupParam vftable:0x1C65288, Size:0x280, CRC32:0x60DDAD6A +class cGroupParam /*: MtObject*/ { + class 'mLayoutDataList' ; // Offset:0x4, Var, CRC32:0x989CB938, Flags:0x20000 + class 'mAreaHitShapeList' ; // Offset:0x44, Var, CRC32:0xBA96A4EC, Flags:0x0 + class 'mLifeAreaArray' ; // Offset:0xA8, Var, CRC32:0x93559C76, Flags:0x0 + s32 'KILLGA^Cv' ; // Offset:0xBC, Var, CRC32:0x85471C39, Flags:0x0 + class 'mKillAreaList' ; // Offset:0xC0, Var, CRC32:0x5A5650F, Flags:0x0 + class 'mLayoutIDArray' ; // Offset:0xF4, Var, CRC32:0x55BB1578, Flags:0x0 + bool 'ZbgǗtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x750C40, Setter:0xAA7270, CRC32:0x3C72F54, Flags:0x8800000 + bool 'CAEgtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x750C20, Setter:0xAA7230, CRC32:0xD91A4DA9, Flags:0x8800000 + bool 'LOTtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x750C30, Setter:0xAA7250, CRC32:0x271A04F8, Flags:0x8800000 + bool 'GAqbg' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5D50, Setter:0xAA77E0, CRC32:0x86D0DA2A, Flags:0x8800000 + s32 'ő吔' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5880, Setter:0xAA7800, CRC32:0xE110773C, Flags:0x8800000 + bool '__Ŵ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8C0480, Setter:0xAA7650, CRC32:0x99BF348E, Flags:0x8810000 + bool 'VvCxgŋ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x752140, Setter:0xAA7870, CRC32:0xB3208E36, Flags:0x8800000 + bool 'I~bg' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5CD0, Setter:0xAA7630, CRC32:0x3FFB9335, Flags:0x8800000 + u32 'o[WNo.' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA57D0, Setter:0xAA76E0, CRC32:0xE702D802, Flags:0x800000 + bool 'o[Ww' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5D00, Setter:0xAA76C0, CRC32:0x6C30F4C4, Flags:0x8800000 + u32 'Xe[WNo.' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA57C0, Setter:0xAA76B0, CRC32:0xBB687722, Flags:0x800000 + bool 'Xe[Ww' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5CF0, Setter:0xAA7690, CRC32:0x5702BEA3, Flags:0x8800000 + u32 'ZbgǗtONo.' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x5B9950, Setter:0xAA7820, CRC32:0x8773DDC6, Flags:0x800000 + u8 'ZbgǗtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5890, Setter:0xAA7860, CRC32:0xB210DF92, Flags:0x800000 + bool 'ZbgǗCAEgtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5CE0, Setter:0xAA7670, CRC32:0xAB792DE1, Flags:0x8800000 + u32 'CAEgtONo.' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5780, Setter:0xAA75B0, CRC32:0x2D9322B6, Flags:0x800000 + u32 'NGXgNo.' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5840, Setter:0xAA77A0, CRC32:0xCBAB7880, Flags:0x800000 + bool 'NGXgCAEgtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5CB0, Setter:0xAA75F0, CRC32:0x36367738, Flags:0x8800000 + u32 'tONo.' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x750930, Setter:0xAA76F0, CRC32:0x9FF3A58A, Flags:0x800000 + bool 'LOTtO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5CC0, Setter:0xAA7610, CRC32:0x75C4888D, Flags:0x8800000 + vector3 '}[J[W' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA57E0, Setter:0xAA7700, CRC32:0x8F40F5E7, Flags:0x800000 + bool '}[J[Wݒ肷' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA58C0, Setter:0xAA7570, CRC32:0xD026099F, Flags:0x800000 + u32 'Num' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5550, Setter:0xAA7320, CRC32:0x1BF11671, Flags:0x800000 + bool 'OMO[vSn[hɋZbgiÓu𖳌ɂvONj' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x753E10, Setter:0xAA7590, CRC32:0xA47C5309, Flags:0x800000 + bool '𖳌ɂ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5A40, Setter:0x8C04E0, CRC32:0x48240C9A, Flags:0x800000 + u32 'mGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x5A0780, Setter:0x8C04C0, CRC32:0x9074DE04, Flags:0x810000 +}; + +// cGroupParam::DropItemInfo vftable:0x1C6523C, Size:0x40, CRC32:0x33C663A6 +class cGroupParam::DropItemInfo /*: MtObject*/ { +}; + +// cGroupParam::EmSetInfo vftable:0x1C65274, Size:0x50, CRC32:0x6E135420 +class cGroupParam::EmSetInfo /*: MtObject*/ { +}; + +// cGroupParam::OmSetInfo vftable:0x1C65258, Size:0xC, CRC32:0x7B3DDEBE +class cGroupParam::OmSetInfo /*: MtObject*/ { +}; + +// cGroupParam::cID vftable:0x1C65218, Size:0xC, CRC32:0x593047E5 +class cGroupParam::cID /*: MtObject*/ { + u32 'SplitZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA58B0, Setter:0xAA78A0, CRC32:0xCBEE78C6, Flags:0x800000 + u32 'SplitX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA58A0, Setter:0xAA7890, CRC32:0x25E019EA, Flags:0x800000 + u32 'Group' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA5620, Setter:0xAA7560, CRC32:0x53FE943E, Flags:0x800000 + u32 'Area' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA54B0, Setter:0xAA7000, CRC32:0x88596DA9, Flags:0x800000 +}; + +// cGroupParam::cLifeArea vftable:0x1C651D0, Size:0x18, CRC32:0x613EF77E +class cGroupParam::cLifeArea /*: MtObject*/ { + class 'mShapeList' ; // Offset:0x4, Var, CRC32:0xC232E463, Flags:0x0 +}; + +// cGroupParam::cUnitData vftable:0x1C651F4, Size:0x10, CRC32:0x11DC211C +class cGroupParam::cUnitData /*: MtObject*/ { + string 'name' ; // Offset:0x4, Var, CRC32:0xA1DC81F9, Flags:0x0 + bool 'isBelong' ; // Offset:0x8, Var, CRC32:0x8168749E, Flags:0x10000 +}; + +// cGuardInfo vftable:0x1BA2D58, Size:0x5C, CRC32:0x3580A2A3 +class cGuardInfo /*: MtObject*/ { +}; + +// cHeadCtrl vftable:0x1C60F9C, Size:0x30, CRC32:0x73A0E000 +class cHeadCtrl /*: MtObject*/ { +}; + +// cHealedInfo vftable:0x1BA58E8, Size:0x5C, CRC32:0x68F4B530 +class cHealedInfo /*: MtObject*/ { +}; + +// cHemLeoBattlePerform vftable:0x1B1BC78, Size:0x28, CRC32:0x2F9AAFF +class cHemLeoBattlePerform /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoChangeDown vftable:0x1B1BBE8, Size:0x2C, CRC32:0x59221195 +class cHemLeoChangeDown /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoChangeDownEnd vftable:0x1B1BC30, Size:0x28, CRC32:0x3A91B475 +class cHemLeoChangeDownEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoDash vftable:0x1B1BD98, Size:0x2C, CRC32:0x57D144A5 +class cHemLeoDash /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoDashStop vftable:0x1B1BDE0, Size:0x28, CRC32:0x582A9AB6 +class cHemLeoDashStop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoMove vftable:0x1B1BD50, Size:0x2C, CRC32:0x2381AEDD +class cHemLeoMove /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoMultiShootAction vftable:0x1B1BD08, Size:0x28, CRC32:0x58D98B81 +class cHemLeoMultiShootAction /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHemLeoMultiShootPrepare vftable:0x1B1BCC0, Size:0x28, CRC32:0x32E46FDE +class cHemLeoMultiShootPrepare /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHideNpcNameInfo vftable:0x1C61098, Size:0x10, CRC32:0x7387D9CE +class cHideNpcNameInfo /*: MtObject*/ { +}; + +// cHitGeom vftable:0x1B155B0, Size:0x70, CRC32:0x94DA78F +class cHitGeom /*: MtObject*/ { + classref 'mpSrcGeom' ; // Offset:0x8, Var, CRC32:0xB764D8D, Flags:0x0 + classref 'mpSrcNode' ; // Offset:0xC, Var, CRC32:0x96C6D628, Flags:0x0 +}; + +// cHitInfo vftable:0x1BF9A0C, Size:0x740, CRC32:0x5A0BE538 +class cHitInfo /*: MtObject*/ { +}; + +// cHitInfoAfter vftable:0x1B8A2A0, Size:0x9B0, CRC32:0x9D51661 +class cHitInfoAfter /*: MtObject*/ { +}; + +// cHitInfoAfterCommon vftable:0x1BA58B0, Size:0x60, CRC32:0xE403BD +class cHitInfoAfterCommon /*: MtObject*/ { +}; + +// cHitInfoAfterLocal vftable:0x1AF7444, Size:0x30, CRC32:0x3C16D296 +class cHitInfoAfterLocal /*: MtObject*/ { +}; + +// cHitNode vftable:0x1B15650, Size:0x90, CRC32:0x14FD3C2A +class cHitNode /*: MtObject*/ { + class 'mGeomArray' ; // Offset:0x50, Var, CRC32:0x75EFCE7E, Flags:0x0 + classref 'mpCollIndex' ; // Offset:0x78, Var, CRC32:0xA315CBC9, Flags:0x0 + classref 'mpCollNode' ; // Offset:0x7C, Var, CRC32:0x35DEEF94, Flags:0x0 + classref 'mpAttackParam' ; // Offset:0x80, Var, CRC32:0xBF005EE9, Flags:0x0 + bool 'mMotionSync' ; // Offset:0x8C, Var, CRC32:0xA36F30EE, Flags:0x0 + bool 'mIsActive' ; // Offset:0x8E, Var, CRC32:0xA2F8C645, Flags:0x0 +}; + +// cHitNodeIterator vftable:0x1B1566C, Size:0x14, CRC32:0x732D0D85 +class cHitNodeIterator /*: MtObject*/ { +}; + +// cHmActAfterLifeWarp vftable:0x1BAC818, Size:0x38, CRC32:0x3C88C6A0 +class cHmActAfterLifeWarp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBlowJumpSide vftable:0x1BAC500, Size:0x2C, CRC32:0x3CFFB645 +class cHmActBlowJumpSide /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBlowJumpSideEnd vftable:0x1BAC548, Size:0x2C, CRC32:0x2E3C05E7 +class cHmActBlowJumpSideEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBlowJumpUp vftable:0x1BAC470, Size:0x50, CRC32:0x592D3279 +class cHmActBlowJumpUp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBlowJumpUpEnd vftable:0x1BAC4B8, Size:0x28, CRC32:0x347FF741 +class cHmActBlowJumpUpEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMCancel vftable:0x1BA6870, Size:0x2C, CRC32:0x7D309A5D +class cHmActBringOMCancel /*: cHmActCatchCancel, cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMFall vftable:0x1BA6708, Size:0x2C, CRC32:0x1E92CFF7 +class cHmActBringOMFall /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMJump vftable:0x1BA6678, Size:0x34, CRC32:0x427116ED +class cHmActBringOMJump /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMJumpLand vftable:0x1BA66C0, Size:0x28, CRC32:0x568608F6 +class cHmActBringOMJumpLand /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMLoop vftable:0x1BA6630, Size:0x28, CRC32:0x449D0D15 +class cHmActBringOMLoop /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMRelease vftable:0x1BA67E0, Size:0x40, CRC32:0x673FF796 +class cHmActBringOMRelease /*: cHmActCatchRelease, cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMReleaseAir vftable:0x1BA6828, Size:0x2C, CRC32:0x6F69B9EB +class cHmActBringOMReleaseAir /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMSuccess vftable:0x1BA65E8, Size:0x28, CRC32:0x16782B39 +class cHmActBringOMSuccess /*: cHmActCatchSuccess, cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMThrow vftable:0x1BA6750, Size:0x2C, CRC32:0x379B473E +class cHmActBringOMThrow /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActBringOMThrowAir vftable:0x1BA6798, Size:0x2C, CRC32:0xD7C7C2A +class cHmActBringOMThrowAir /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchAttack vftable:0x1BA6090, Size:0x28, CRC32:0x76A2E803 +class cHmActCatchAttack /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchCancel vftable:0x1BA6048, Size:0x28, CRC32:0x6774004A +class cHmActCatchCancel /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchFailed vftable:0x1BA5FB8, Size:0x2C, CRC32:0x2FE9664F +class cHmActCatchFailed /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchLoop vftable:0x1BA5F70, Size:0x28, CRC32:0x3970E94A +class cHmActCatchLoop /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchRelease vftable:0x1BA6000, Size:0x28, CRC32:0x647636CB +class cHmActCatchRelease /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchStart vftable:0x1BA5E98, Size:0x2C, CRC32:0x1C58F207 +class cHmActCatchStart /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchSuccess vftable:0x1BA5F28, Size:0x28, CRC32:0x1531EA64 +class cHmActCatchSuccess /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCatchWait vftable:0x1BA5EE0, Size:0x30, CRC32:0x65C17741 +class cHmActCatchWait /*: cHumanActCatchBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBeardownCancel vftable:0x1BA63F0, Size:0x28, CRC32:0x3DC51086 +class cHmActCaughtBeardownCancel /*: cHmActCaughtCancel, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBeardownEscape vftable:0x1BA63A8, Size:0x28, CRC32:0x4E3B657A +class cHmActCaughtBeardownEscape /*: cHmActCaughtEscape, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBeardownFailed vftable:0x1BA6360, Size:0x28, CRC32:0x75587683 +class cHmActCaughtBeardownFailed /*: cHmActCaughtFailed, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBeardownLoop vftable:0x1BA6318, Size:0x2C, CRC32:0x2A0B73EE +class cHmActCaughtBeardownLoop /*: cHmActCaughtLoop, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBeardownStart vftable:0x1BA6288, Size:0x28, CRC32:0x4DF0EE6C +class cHmActCaughtBeardownStart /*: cHmActCaughtStart, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBeardownSuccess vftable:0x1BA62D0, Size:0x28, CRC32:0x739D5EF +class cHmActCaughtBeardownSuccess /*: cHmActCaughtSuccess, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBindCancel vftable:0x1BA65A0, Size:0x28, CRC32:0x55D7CDC2 +class cHmActCaughtBindCancel /*: cHmActCaughtCancel, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBindEscape vftable:0x1BA6558, Size:0x28, CRC32:0x2629B83E +class cHmActCaughtBindEscape /*: cHmActCaughtEscape, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBindFailed vftable:0x1BA6510, Size:0x28, CRC32:0x1D4AABC7 +class cHmActCaughtBindFailed /*: cHmActCaughtFailed, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBindLoop vftable:0x1BA64C8, Size:0x28, CRC32:0x29306B80 +class cHmActCaughtBindLoop /*: cHmActCaughtLoop, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBindStart vftable:0x1BA6438, Size:0x28, CRC32:0x67F9992B +class cHmActCaughtBindStart /*: cHmActCaughtStart, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtBindSuccess vftable:0x1BA6480, Size:0x28, CRC32:0x766042BB +class cHmActCaughtBindSuccess /*: cHmActCaughtSuccess, cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtCancel vftable:0x1BA6240, Size:0x28, CRC32:0x62917CD9 +class cHmActCaughtCancel /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtEscape vftable:0x1BA61F8, Size:0x28, CRC32:0x116F0925 +class cHmActCaughtEscape /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtFailed vftable:0x1BA61B0, Size:0x28, CRC32:0x2A0C1ADC +class cHmActCaughtFailed /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtLoop vftable:0x1BA6168, Size:0x28, CRC32:0x105C70DF +class cHmActCaughtLoop /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtLoopDrag vftable:0x1BA6990, Size:0x2C, CRC32:0x4D4C1EEA +class cHmActCaughtLoopDrag /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtLoopDrawOff vftable:0x1BA6900, Size:0x2C, CRC32:0x33F7F2F1 +class cHmActCaughtLoopDrawOff /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtStart vftable:0x1BA60D8, Size:0x28, CRC32:0x1C14B955 +class cHmActCaughtStart /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtSuccess vftable:0x1BA6120, Size:0x28, CRC32:0x7CB2CDE6 +class cHmActCaughtSuccess /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtSuccessDrag vftable:0x1BA6948, Size:0x28, CRC32:0x64A8B4B3 +class cHmActCaughtSuccessDrag /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActCaughtSuccessDrawOff vftable:0x1BA68B8, Size:0x2C, CRC32:0x231595E5 +class cHmActCaughtSuccessDrawOff /*: cHumanActCaughtBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActDeathCountDeath vftable:0x1BAC590, Size:0x30, CRC32:0x4301B081 +class cHmActDeathCountDeath /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActDeathCountDeathAir vftable:0x1BAC5D8, Size:0x30, CRC32:0x859C853 +class cHmActDeathCountDeathAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActDeathRecoverByPawn vftable:0x1BAC6F8, Size:0x30, CRC32:0x2F1794C2 +class cHmActDeathRecoverByPawn /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActDragPoint vftable:0x1BAC7D0, Size:0x28, CRC32:0x387F3949 +class cHmActDragPoint /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActGreatestBlow vftable:0x1BAC668, Size:0x30, CRC32:0x55C2C792 +class cHmActGreatestBlow /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenBase vftable:0x1BAC860, Size:0x2C, CRC32:0x7D1D636E +class cHmActJankenBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenCall vftable:0x1BAC8A8, Size:0x30, CRC32:0x7127B231 +class cHmActJankenCall /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenCallEnd vftable:0x1BAC938, Size:0x2C, CRC32:0x11A05A44 +class cHmActJankenCallEnd /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenCallJudge vftable:0x1BAC8F0, Size:0x2C, CRC32:0xD878CB3 +class cHmActJankenCallJudge /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenEnd vftable:0x1BACAA0, Size:0x2C, CRC32:0x7E9E9BF2 +class cHmActJankenEnd /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenJoin vftable:0x1BAC980, Size:0x60, CRC32:0x15C845D8 +class cHmActJankenJoin /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenJoinEnd vftable:0x1BACA10, Size:0x2C, CRC32:0x5CDB391C +class cHmActJankenJoinEnd /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenJoinJudge vftable:0x1BAC9C8, Size:0x2C, CRC32:0x2B5EA676 +class cHmActJankenJoinJudge /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenPonPon vftable:0x1BACA58, Size:0x30, CRC32:0x16570529 +class cHmActJankenPonPon /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActJankenRandamPon vftable:0x1BACAE8, Size:0x30, CRC32:0x1225366C +class cHmActJankenRandamPon /*: cHmActJankenBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActMandraLoop vftable:0x1BAC350, Size:0x28, CRC32:0x14E14E83 +class cHmActMandraLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActMandraPickup vftable:0x1BAC308, Size:0x28, CRC32:0x22768B18 +class cHmActMandraPickup /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActMandraPut vftable:0x1BAC398, Size:0x28, CRC32:0x4F66A54F +class cHmActMandraPut /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActMandraStroke vftable:0x1BAC3E0, Size:0x28, CRC32:0x6AA2E997 +class cHmActMandraStroke /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActMandraStrokeEnd vftable:0x1BAC428, Size:0x28, CRC32:0x8C8883D +class cHmActMandraStrokeEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActPawnSpecialityBase vftable:0x1BAC6B0, Size:0x4C, CRC32:0x3CA7E71F +class cHmActPawnSpecialityBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmActSpearBlow vftable:0x1BAC620, Size:0x38, CRC32:0x7F6D7F15 +class cHmActSpearBlow /*: cHumanActBlow, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmFreeMagic vftable:0x1BA7550, Size:0x150, CRC32:0x5FDBD0FE +class cHmFreeMagic /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantBase vftable:0x1BA73B8, Size:0x70, CRC32:0x2B292F51 +class cHmMagicChantBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantCustomBase vftable:0x1BA7218, Size:0x70, CRC32:0x6BE4453B +class cHmMagicChantCustomBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantCustomBegin vftable:0x1BA7268, Size:0x80, CRC32:0x239292C9 +class cHmMagicChantCustomBegin /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantCustomNextChant vftable:0x1BA72B8, Size:0x80, CRC32:0x7EE83CCC +class cHmMagicChantCustomNextChant /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantCustomPreShot vftable:0x1BA7308, Size:0xA0, CRC32:0x3E7DF763 +class cHmMagicChantCustomPreShot /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantCustomShot vftable:0x1BA7358, Size:0x80, CRC32:0x5733E1 +class cHmMagicChantCustomShot /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantNormalBegin vftable:0x1BA7408, Size:0x80, CRC32:0x37665854 +class cHmMagicChantNormalBegin /*: cHmMagicChantBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantNormalPreShot vftable:0x1BA7458, Size:0x80, CRC32:0x1233C6E +class cHmMagicChantNormalPreShot /*: cHmMagicChantBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantNormalShot vftable:0x1BA74A8, Size:0x80, CRC32:0x75C1E1FD +class cHmMagicChantNormalShot /*: cHmMagicChantBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHmMagicChantWalk vftable:0x1BA7500, Size:0xA0, CRC32:0x660CAB65 +class cHmMagicChantWalk /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHpDamageInfo vftable:0x1BA58CC, Size:0xA4, CRC32:0x3F45DABC +class cHpDamageInfo /*: MtObject*/ { +}; + +// cHttpClient vftable:0x20C82B4, Size:0x82B0, CRC32:0x48348426 +class cHttpClient /*: MtObject*/ { +}; + +// cHumanActAirCatchLadder vftable:0x1BABDB0, Size:0x60, CRC32:0x116DF740 +class cHumanActAirCatchLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActAltitudeFall vftable:0x1BAB418, Size:0x30, CRC32:0x180BE1FD +class cHumanActAltitudeFall /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActAltitudeFallLand vftable:0x1BAB460, Size:0x28, CRC32:0x687A13AA +class cHumanActAltitudeFallLand /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActAtkHerald vftable:0x1B162F8, Size:0x28, CRC32:0x1C4A6818 +class cHumanActAtkHerald /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActAutoRunBase vftable:0x1BA9BC0, Size:0x40, CRC32:0x2307F919 +class cHumanActAutoRunBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBaphometEXMWarp vftable:0x1BAC230, Size:0x3C, CRC32:0x43FB9E33 +class cHumanActBaphometEXMWarp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBaphometEXMWarpEnd vftable:0x1BAC278, Size:0x28, CRC32:0x24707BC9 +class cHumanActBaphometEXMWarpEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBase vftable:0x1B15BA0, Size:0x28, CRC32:0x71445389 +class cHumanActBase /*: cAction, MtObject*/ { +}; + +// cHumanActBlow vftable:0x1BAA5A8, Size:0x34, CRC32:0x6C52ECCF +class cHumanActBlow /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBlowLanding vftable:0x1BAA680, Size:0x28, CRC32:0x551BC87C +class cHumanActBlowLanding /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBowAttackBase vftable:0x1BAA170, Size:0x28, CRC32:0x77EF3100 +class cHumanActBowAttackBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBowAttackEnd vftable:0x1BAA248, Size:0x28, CRC32:0xC62D27C +class cHumanActBowAttackEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBowAttackMove vftable:0x1BAA200, Size:0x28, CRC32:0x5865F819 +class cHumanActBowAttackMove /*: cHumanActBowAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBowAttackWait vftable:0x1BAA1B8, Size:0x28, CRC32:0x4AB54C84 +class cHumanActBowAttackWait /*: cHumanActBowAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereFall vftable:0x1BACC98, Size:0x2C, CRC32:0x35F58A6E +class cHumanActBringPhotoSphereFall /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereJump vftable:0x1BACC08, Size:0x34, CRC32:0x69165374 +class cHumanActBringPhotoSphereJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereJumpLand vftable:0x1BACC50, Size:0x28, CRC32:0xB276EF3 +class cHumanActBringPhotoSphereJumpLand /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereLoop vftable:0x1BACBC0, Size:0x28, CRC32:0x6FFA488C +class cHumanActBringPhotoSphereLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereRelease vftable:0x1BACD70, Size:0x30, CRC32:0x4B253BF9 +class cHumanActBringPhotoSphereRelease /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereStart vftable:0x1BACB78, Size:0x2C, CRC32:0x6E091F23 +class cHumanActBringPhotoSphereStart /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereThrow vftable:0x1BACCE0, Size:0x2C, CRC32:0x3EE30B9B +class cHumanActBringPhotoSphereThrow /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActBringPhotoSphereThrowAir vftable:0x1BACD28, Size:0x28, CRC32:0x50DD1A2F +class cHumanActBringPhotoSphereThrowAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCallWaitting vftable:0x1BABF60, Size:0x2C, CRC32:0x35E91C2A +class cHumanActCallWaitting /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCallWaittingEnd vftable:0x1BABFA8, Size:0x2C, CRC32:0x4D8B68C1 +class cHumanActCallWaittingEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCatapult vftable:0x1BAB538, Size:0x2C, CRC32:0x4EB6AFBC +class cHumanActCatapult /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCatapultJump vftable:0x1BA9FB0, Size:0x80, CRC32:0x6D067BC2 +class cHumanActCatapultJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCatchBase vftable:0x1BA5E10, Size:0x28, CRC32:0x48FC641B +class cHumanActCatchBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCatchLadder vftable:0x1BABBB8, Size:0x60, CRC32:0x336E4DB4 +class cHumanActCatchLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCaughtBase vftable:0x1BA5E50, Size:0x28, CRC32:0x104C0BED +class cHumanActCaughtBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActChangeBattleMode vftable:0x1BAAFD8, Size:0x34, CRC32:0x70CFC9C4 +class cHumanActChangeBattleMode /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActChangeBattleModeAir vftable:0x1BAB020, Size:0x38, CRC32:0x7C29AAC3 +class cHumanActChangeBattleModeAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCliffClimb vftable:0x1BAE858, Size:0x90, CRC32:0x41B0E545 +class cHumanActCliffClimb /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCliffHang vftable:0x1BAE810, Size:0x70, CRC32:0x44D24E42 +class cHumanActCliffHang /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActClimbLadder vftable:0x1BABC90, Size:0x50, CRC32:0x2AE52E5E +class cHumanActClimbLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActClutched vftable:0x1BAA0D0, Size:0x28, CRC32:0x561A6654 +class cHumanActClutched /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCommonLand vftable:0x1BA9ED8, Size:0x2C, CRC32:0xC41318D +class cHumanActCommonLand /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActCustomSkillChange vftable:0x1BAC1E8, Size:0x2C, CRC32:0x47839F88 +class cHumanActCustomSkillChange /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDash vftable:0x1BA9D28, Size:0x40, CRC32:0x2A9E70E8 +class cHumanActDash /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDashJump vftable:0x1BA9F20, Size:0x30, CRC32:0x558619F1 +class cHumanActDashJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDashLand vftable:0x1BA9F68, Size:0x2C, CRC32:0x5A35CA3F +class cHumanActDashLand /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDashStop vftable:0x1BA9D70, Size:0x34, CRC32:0x4B630951 +class cHumanActDashStop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDashTurn vftable:0x1BA9DB8, Size:0x60, CRC32:0x52150AA0 +class cHumanActDashTurn /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDead vftable:0x1BA9FF8, Size:0x30, CRC32:0x5CD5E4CC +class cHumanActDead /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDeathWarp vftable:0x1BABA08, Size:0x50, CRC32:0x10E3F465 +class cHumanActDeathWarp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDisconnectRecover vftable:0x1BAC038, Size:0x28, CRC32:0x8C4B7EA +class cHumanActDisconnectRecover /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDisconnectWait vftable:0x1BABFF0, Size:0x2C, CRC32:0x2A7B0654 +class cHumanActDisconnectWait /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDown vftable:0x1BAA6C8, Size:0x34, CRC32:0x2D0F3DD3 +class cHumanActDown /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActDownDamage vftable:0x1BAA710, Size:0x28, CRC32:0x637E3C2A +class cHumanActDownDamage /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEarthQuake vftable:0x1BAA638, Size:0x28, CRC32:0x27670CD5 +class cHumanActEarthQuake /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActElectric vftable:0x1BAA8C0, Size:0x28, CRC32:0x2FCDB5F5 +class cHumanActElectric /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActElectricRecovery vftable:0x1BAA908, Size:0x28, CRC32:0x75D051F2 +class cHumanActElectricRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEm011040Kick vftable:0x1B16388, Size:0x28, CRC32:0x6AEE9FE4 +class cHumanActEm011040Kick /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEm011040Summon vftable:0x1B163D0, Size:0x2C, CRC32:0x3C0A1810 +class cHumanActEm011040Summon /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEm011041Magic vftable:0x1B16418, Size:0x2C, CRC32:0x47213CA8 +class cHumanActEm011041Magic /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEm011041Summon vftable:0x1B164A8, Size:0x28, CRC32:0x1A7D13A4 +class cHumanActEm011041Summon /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEm011041SummonPre vftable:0x1B16460, Size:0x28, CRC32:0x5D4719A6 +class cHumanActEm011041SummonPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotion vftable:0x1BAACB8, Size:0x2C, CRC32:0x7E7AD474 +class cHumanActEmotion /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionBase vftable:0x1BAAC68, Size:0x2C, CRC32:0x20CA6A03 +class cHumanActEmotionBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionLoop vftable:0x1BAAD58, Size:0x2C, CRC32:0x4121898C +class cHumanActEmotionLoop /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionLoopBegin vftable:0x1BAAD08, Size:0x2C, CRC32:0x724F23F6 +class cHumanActEmotionLoopBegin /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionLoopEnd vftable:0x1BAADA8, Size:0x2C, CRC32:0x9F77D3A +class cHumanActEmotionLoopEnd /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionLoopEndManual vftable:0x1BAADF8, Size:0x2C, CRC32:0x774314F5 +class cHumanActEmotionLoopEndManual /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionLoopEndNoIK vftable:0x1BAAE48, Size:0x2C, CRC32:0x74D3607F +class cHumanActEmotionLoopEndNoIK /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionMoving vftable:0x1BAAE98, Size:0x30, CRC32:0x5E40CC7F +class cHumanActEmotionMoving /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionRabbitJump vftable:0x1BAAEE8, Size:0x30, CRC32:0x42EAAE3A +class cHumanActEmotionRabbitJump /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionRabbitJumpEnd vftable:0x1BAAF88, Size:0x2C, CRC32:0x1E5756C6 +class cHumanActEmotionRabbitJumpEnd /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEmotionRabbitJumpJump vftable:0x1BAAF38, Size:0x34, CRC32:0x3B4EA661 +class cHumanActEmotionRabbitJumpJump /*: cHumanActEmotionBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimb vftable:0x1BAE450, Size:0x110, CRC32:0x45704C7F +class cHumanActEnemyClimb /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbBase vftable:0x1BAE3B0, Size:0xA0, CRC32:0x4F2F05E4 +class cHumanActEnemyClimbBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbBegin vftable:0x1BAE400, Size:0x130, CRC32:0x355A96CC +class cHumanActEnemyClimbBegin /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbEnd vftable:0x1BAE680, Size:0xB0, CRC32:0x1494F2DE +class cHumanActEnemyClimbEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbEndure vftable:0x1BAE4F0, Size:0xB0, CRC32:0x2414E8D4 +class cHumanActEnemyClimbEndure /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbEndureEnd vftable:0x1BAE540, Size:0xA0, CRC32:0x410D9C12 +class cHumanActEnemyClimbEndureEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbJolt vftable:0x1BAE590, Size:0xB0, CRC32:0x27EF2E6D +class cHumanActEnemyClimbJolt /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbJoltEnd vftable:0x1BAE630, Size:0xA0, CRC32:0x3C4D0252 +class cHumanActEnemyClimbJoltEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbLargeJolt vftable:0x1BAE5E0, Size:0xC0, CRC32:0x4E5477AB +class cHumanActEnemyClimbLargeJolt /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbShakeDamageL vftable:0x1BAE720, Size:0xB0, CRC32:0x6CD396A8 +class cHumanActEnemyClimbShakeDamageL /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbShakeDamageLEnd vftable:0x1BAE770, Size:0xA0, CRC32:0x285A0E85 +class cHumanActEnemyClimbShakeDamageLEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbShakeDamageS vftable:0x1BAE6D0, Size:0xA0, CRC32:0x61DB9B5D +class cHumanActEnemyClimbShakeDamageS /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbShrink vftable:0x1BAE7C0, Size:0xA0, CRC32:0x1F5ADEFF +class cHumanActEnemyClimbShrink /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActEnemyClimbStep vftable:0x1BAE4A0, Size:0xD0, CRC32:0x4C2205B9 +class cHumanActEnemyClimbStep /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActErosionLost vftable:0x1BAAB48, Size:0x38, CRC32:0x7C5BC3B4 +class cHumanActErosionLost /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActErosionRescue vftable:0x1BAB738, Size:0x60, CRC32:0x751D236 +class cHumanActErosionRescue /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActFall vftable:0x1BAA040, Size:0x30, CRC32:0x4AA072E4 +class cHumanActFall /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActFallDown vftable:0x1BAA088, Size:0x2C, CRC32:0x2BEF9E2F +class cHumanActFallDown /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActFastClimb vftable:0x1BABDF8, Size:0x2C, CRC32:0x6BD51025 +class cHumanActFastClimb /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActFootwork vftable:0x1BA9AE0, Size:0x30, CRC32:0x42571C1A +class cHumanActFootwork /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActFreeze vftable:0x1BAA9E0, Size:0x30, CRC32:0x3988F1A4 +class cHumanActFreeze /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActFreezeRecovery vftable:0x1BAAA28, Size:0x2C, CRC32:0x5DCBBAAF +class cHumanActFreezeRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActGetOffLadder vftable:0x1BABC00, Size:0x28, CRC32:0x2C7A335B +class cHumanActGetOffLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActGetOffLadderSummit vftable:0x1BABC48, Size:0x50, CRC32:0x514D91E +class cHumanActGetOffLadderSummit /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActGraspedLoop vftable:0x1BAA118, Size:0x28, CRC32:0x1482DA79 +class cHumanActGraspedLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActHomingAutoDash vftable:0x1BA9CE0, Size:0x60, CRC32:0x4C67D5C6 +class cHumanActHomingAutoDash /*: cHumanActHomingAutoRun, cHumanActAutoRunBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActHomingAutoRun vftable:0x1BA9C50, Size:0x60, CRC32:0x5BC6FC07 +class cHumanActHomingAutoRun /*: cHumanActAutoRunBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActHugeble vftable:0x1BAAC20, Size:0x2C, CRC32:0x18572BD3 +class cHumanActHugeble /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActHumitodomari vftable:0x1BAB268, Size:0x28, CRC32:0x51A4B34E +class cHumanActHumitodomari /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActInjuredLoop vftable:0x1BAA2D8, Size:0x28, CRC32:0x28C3166A +class cHumanActInjuredLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActInjuredLoopNext vftable:0x1BAA320, Size:0x28, CRC32:0x1C0B84CC +class cHumanActInjuredLoopNext /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActInjuredRecover vftable:0x1BAA368, Size:0x34, CRC32:0x76B89D2E +class cHumanActInjuredRecover /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActInjuredStart vftable:0x1BAA290, Size:0x28, CRC32:0x27276130 +class cHumanActInjuredStart /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActItemFinish vftable:0x1BAB3D0, Size:0x28, CRC32:0x662F889 +class cHumanActItemFinish /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActItemPickOut vftable:0x1BAB2F8, Size:0x28, CRC32:0x4780397F +class cHumanActItemPickOut /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActItemPickOutWait vftable:0x1BAB2B0, Size:0x28, CRC32:0x3745D16A +class cHumanActItemPickOutWait /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActItemThrow vftable:0x1BAB340, Size:0x2C, CRC32:0x32DA0C21 +class cHumanActItemThrow /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActItemThrowPre vftable:0x1BAB388, Size:0x30, CRC32:0x3F51F830 +class cHumanActItemThrowPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActJob09FrightBoardJump vftable:0x1BAC080, Size:0x38, CRC32:0x72CB12 +class cHumanActJob09FrightBoardJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActJump vftable:0x1BA9E48, Size:0x38, CRC32:0x1643ABFE +class cHumanActJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActJumpLadder vftable:0x1BABD68, Size:0x2C, CRC32:0x38B6E64F +class cHumanActJumpLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActKousokuYarare vftable:0x1BAA830, Size:0x28, CRC32:0x5AEE6250 +class cHumanActKousokuYarare /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActKousokuYarareRecovery vftable:0x1BAA878, Size:0x28, CRC32:0x78F52D64 +class cHumanActKousokuYarareRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActLadderBase vftable:0x1BABB70, Size:0x28, CRC32:0x53609D36 +class cHumanActLadderBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActLost vftable:0x1BAA3B0, Size:0x2C, CRC32:0x71B52942 +class cHumanActLost /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActLostEnd vftable:0x1BAAB90, Size:0x34, CRC32:0x4BA32DF4 +class cHumanActLostEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActMotionPlay vftable:0x1BA9E00, Size:0x28, CRC32:0x73BA044F +class cHumanActMotionPlay /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActNpcTalk vftable:0x1BABB28, Size:0x48, CRC32:0x73A32500 +class cHumanActNpcTalk /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActNpcTurn vftable:0x1BAC0C8, Size:0x60, CRC32:0x4CA7E5FC +class cHumanActNpcTurn /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActOcdRescue vftable:0x1BAB6F0, Size:0x30, CRC32:0x21CCF029 +class cHumanActOcdRescue /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActOnsenIn vftable:0x1BAB618, Size:0x2C, CRC32:0x57BA264C +class cHumanActOnsenIn /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPawnFollowWarp vftable:0x1BABE88, Size:0x28, CRC32:0x2A43DBE9 +class cHumanActPawnFollowWarp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPawnPartyIn vftable:0x1BABED0, Size:0x2C, CRC32:0x48DB86B8 +class cHumanActPawnPartyIn /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPawnTalk vftable:0x1BABF18, Size:0x28, CRC32:0x131423B +class cHumanActPawnTalk /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPurgatoryRecovery vftable:0x1BACB30, Size:0x2C, CRC32:0x4C40925D +class cHumanActPurgatoryRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPutLever vftable:0x1BAB810, Size:0x50, CRC32:0x4B62CD94 +class cHumanActPutLever /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPutLoopLever vftable:0x1BAB858, Size:0x50, CRC32:0x24A1ADC6 +class cHumanActPutLoopLever /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActPutLoopLeverEnd vftable:0x1BAB8A0, Size:0x2C, CRC32:0x68AA174F +class cHumanActPutLoopLeverEnd /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActReceiveErosionRescue vftable:0x1BAB780, Size:0x28, CRC32:0x16E6C65E +class cHumanActReceiveErosionRescue /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActReceiveErosionRescueEnd vftable:0x1BAB7C8, Size:0x28, CRC32:0x751B986A +class cHumanActReceiveErosionRescueEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActRescue vftable:0x1BAA3F8, Size:0x30, CRC32:0x5689285 +class cHumanActRescue /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActRescueEnd vftable:0x1BAA440, Size:0x28, CRC32:0x2010745F +class cHumanActRescueEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActReturnTerritoryWarp vftable:0x1B16340, Size:0x28, CRC32:0x7E789EB8 +class cHumanActReturnTerritoryWarp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActRun vftable:0x1BA9B78, Size:0x2C, CRC32:0x245818DD +class cHumanActRun /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSacrificeHigh vftable:0x1BAC788, Size:0x70, CRC32:0x34DB6A71 +class cHumanActSacrificeHigh /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSacrificeLow vftable:0x1BAC740, Size:0x2C, CRC32:0x7957923F +class cHumanActSacrificeLow /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSetMotion vftable:0x1BABA98, Size:0x28, CRC32:0x4506E2D6 +class cHumanActSetMotion /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSetNpcMotMyRoom vftable:0x1BAC110, Size:0x44, CRC32:0x3C0B20C +class cHumanActSetNpcMotMyRoom /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSetNpcMotion vftable:0x1BABAE0, Size:0x50, CRC32:0x1EB0FB5D +class cHumanActSetNpcMotion /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActShrink vftable:0x1BAA4D0, Size:0x50, CRC32:0x4D0181BF +class cHumanActShrink /*: cHumanActShrinkBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActShrinkAir vftable:0x1BAA518, Size:0x28, CRC32:0x60F107F5 +class cHumanActShrinkAir /*: cHumanActShrinkBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActShrinkBase vftable:0x1BAA488, Size:0x28, CRC32:0x7552AD54 +class cHumanActShrinkBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActShrinkLadder vftable:0x1BABE40, Size:0x40, CRC32:0x263759C4 +class cHumanActShrinkLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActShrinkLanding vftable:0x1BAA560, Size:0x28, CRC32:0x6A247993 +class cHumanActShrinkLanding /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSitChairBegin vftable:0x1BAB8E8, Size:0x50, CRC32:0x3BD8C9E3 +class cHumanActSitChairBegin /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSitChairSuccess vftable:0x1BAB930, Size:0x3C, CRC32:0xEE257F4 +class cHumanActSitChairSuccess /*: cHumanActTouchAct, cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSiteFootwork vftable:0x1BAC2C0, Size:0x28, CRC32:0x54660C0B +class cHumanActSiteFootwork /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSleep vftable:0x1BAA758, Size:0x28, CRC32:0x7351B7C6 +class cHumanActSleep /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSlideLadder vftable:0x1BABCD8, Size:0x2C, CRC32:0x5EFBCF30 +class cHumanActSlideLadder /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSlideLadderEnd vftable:0x1BABD20, Size:0x28, CRC32:0x596A918 +class cHumanActSlideLadderEnd /*: cHumanActLadderBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSlipSlope vftable:0x1BAB4A8, Size:0x90, CRC32:0x4BDD91D3 +class cHumanActSlipSlope /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSlipSlopeEnd vftable:0x1BAB4F0, Size:0x50, CRC32:0x580732D3 +class cHumanActSlipSlopeEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSpread vftable:0x1BAA950, Size:0x28, CRC32:0x3ACA5C6 +class cHumanActSpread /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActSpreadRecovery vftable:0x1BAA998, Size:0x28, CRC32:0x6F3337CA +class cHumanActSpreadRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStaminaOutLand vftable:0x1BAB1D8, Size:0x2C, CRC32:0x57E8BDBB +class cHumanActStaminaOutLand /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStaminaOutWalk vftable:0x1BAB100, Size:0x34, CRC32:0x72791236 +class cHumanActStaminaOutWalk /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStaminaRecover vftable:0x1BAB190, Size:0x28, CRC32:0x3C39D003 +class cHumanActStaminaRecover /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStaminaRefresh vftable:0x1BAB148, Size:0x30, CRC32:0x293081B5 +class cHumanActStaminaRefresh /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStaminaRescue vftable:0x1BAB6A8, Size:0x30, CRC32:0x2D7DE4FB +class cHumanActStaminaRescue /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStone vftable:0x1BAAA70, Size:0x28, CRC32:0x65427040 +class cHumanActStone /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStoneLost vftable:0x1BAAB00, Size:0x30, CRC32:0x71417CB5 +class cHumanActStoneLost /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStoneRecovery vftable:0x1BAAAB8, Size:0x2C, CRC32:0x39A06F6A +class cHumanActStoneRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStraightAutoDash vftable:0x1BA9C98, Size:0x40, CRC32:0x6762A7DA +class cHumanActStraightAutoDash /*: cHumanActStraightAutoRun, cHumanActAutoRunBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStraightAutoRun vftable:0x1BA9C08, Size:0x40, CRC32:0x6AEE72BD +class cHumanActStraightAutoRun /*: cHumanActAutoRunBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStun vftable:0x1BAA7A0, Size:0x28, CRC32:0x42847CE6 +class cHumanActStun /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActStunRecovery vftable:0x1BAA7E8, Size:0x28, CRC32:0x2672E5A8 +class cHumanActStunRecovery /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActTouchAct vftable:0x1BAB588, Size:0x38, CRC32:0x683C42E5 +class cHumanActTouchAct /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActTouchActBase vftable:0x1B15BE0, Size:0x2C, CRC32:0x63E7F672 +class cHumanActTouchActBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActTouchActLoop vftable:0x1BAB5D0, Size:0x30, CRC32:0x20C15FD +class cHumanActTouchActLoop /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActUkemi vftable:0x1BAA5F0, Size:0x28, CRC32:0x4D745817 +class cHumanActUkemi /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActVerticalJump vftable:0x1BA9E90, Size:0x38, CRC32:0x29D9A9BC +class cHumanActVerticalJump /*: cHumanActJump, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWakeUp vftable:0x1BAABD8, Size:0x2C, CRC32:0x495C667D +class cHumanActWakeUp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWalk vftable:0x1BA9B30, Size:0x2C, CRC32:0x3C61D7BD +class cHumanActWalk /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimb vftable:0x1BAE978, Size:0xD0, CRC32:0x2E7D2AC6 +class cHumanActWallClimb /*: cHumanActWallClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbBase vftable:0x1BAE8A0, Size:0xC0, CRC32:0x6179F6DB +class cHumanActWallClimbBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbBegin vftable:0x1BAE8E8, Size:0x50, CRC32:0x392ED02 +class cHumanActWallClimbBegin /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbBeginTop vftable:0x1BAE930, Size:0x80, CRC32:0x2F802B1C +class cHumanActWallClimbBeginTop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbDetach vftable:0x1BAEA50, Size:0x2C, CRC32:0x2AC2E32 +class cHumanActWallClimbDetach /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbFastMove vftable:0x1BAEA98, Size:0xD0, CRC32:0x33D65519 +class cHumanActWallClimbFastMove /*: cHumanActWallClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbJump vftable:0x1BAEA08, Size:0x2C, CRC32:0x67E0EAC +class cHumanActWallClimbJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbLand vftable:0x1BAE9C0, Size:0x60, CRC32:0x9CDDD62 +class cHumanActWallClimbLand /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallClimbShrink vftable:0x1BAEAE0, Size:0xD0, CRC32:0x6330F933 +class cHumanActWallClimbShrink /*: cHumanActWallClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWallStop vftable:0x1BAB220, Size:0x28, CRC32:0x3E572917 +class cHumanActWallStop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWarpBegin vftable:0x1BAB978, Size:0x34, CRC32:0x4AA4CDAA +class cHumanActWarpBegin /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWarpEnd vftable:0x1BAB9C0, Size:0x28, CRC32:0x26723A57 +class cHumanActWarpEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActWeatherForecast vftable:0x1BAB660, Size:0x2C, CRC32:0x25E07FE8 +class cHumanActWeatherForecast /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActionCannon vftable:0x1B15C78, Size:0x70, CRC32:0x13A609BD +class cHumanActionCannon /*: cHumanActionCannonBase, cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActionCannonBase vftable:0x1B15C28, Size:0x2C, CRC32:0x3050FA1A +class cHumanActionCannonBase /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActionCannonEnd vftable:0x1B15D68, Size:0x2C, CRC32:0x64017C07 +class cHumanActionCannonEnd /*: cHumanActionCannonBase, cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActionCannonReload vftable:0x1B15D18, Size:0x30, CRC32:0x28C7486A +class cHumanActionCannonReload /*: cHumanActionCannonBase, cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanActionCannonShot vftable:0x1B15CC8, Size:0x40, CRC32:0x5BE38CC0 +class cHumanActionCannonShot /*: cHumanActionCannonBase, cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanBathtubAction vftable:0x1BAC1A0, Size:0x80, CRC32:0x1AFA447E +class cHumanBathtubAction /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanBedAction vftable:0x1BAC158, Size:0x70, CRC32:0x20E920A0 +class cHumanBedAction /*: cHumanActTouchActBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanCustomDodgeAfterBase vftable:0x1BAB0B8, Size:0x28, CRC32:0x6015665F +class cHumanCustomDodgeAfterBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanCustomDodgeBeforeBase vftable:0x1BAB070, Size:0x28, CRC32:0x4CE41307 +class cHumanCustomDodgeBeforeBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cHumanEnemyCustomSkill vftable:0x1C61198, Size:0x28, CRC32:0x52479D04 +class cHumanEnemyCustomSkill /*: MtObject*/ { +}; + +// cHumanEnemyEquip vftable:0x1C612A0, Size:0x30, CRC32:0x571C92FC +class cHumanEnemyEquip /*: MtObject*/ { +}; + +// cHumanEnemyParam vftable:0x1C613A4, Size:0x88, CRC32:0x1952DC5 +class cHumanEnemyParam /*: nJobParam::cJobInfo, MtObject*/ { +}; + +// cHumanEnemyPreset vftable:0x1C614BC, Size:0x18, CRC32:0x1126955 +class cHumanEnemyPreset /*: MtObject*/ { +}; + +// cHumanPickUp vftable:0x1BABA50, Size:0x2C, CRC32:0x2F9D79BA +class cHumanPickUp /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cIKCtrl vftable:0x1C615BC, Size:0x8, CRC32:0x5CED455D +class cIKCtrl /*: MtObject*/ { +}; + +// cIKHandle vftable:0x1BEF760, Size:0x90, CRC32:0x2B282A39 +class cIKHandle /*: MtObject*/ { + u32 'mBehavior' ; // Offset:0x4, Var, CRC32:0x1325902D, Flags:0x0 + bool 'mActive' ; // Offset:0x8, Var, CRC32:0x75825533, Flags:0x0 + f32 'mBlend' ; // Offset:0x10, Var, CRC32:0x5629EBE9, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x14, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mResist' ; // Offset:0x18, Var, CRC32:0xF5903CA8, Flags:0x0 + matrix44 'mEff' ; // Offset:0x20, Var, CRC32:0xF6D0485A, Flags:0x0 + vector3 'mOffset' ; // Offset:0x60, Var, CRC32:0x679663E1, Flags:0x0 + classref 'mpTargetModel' ; // Offset:0x70, Var, CRC32:0xF66C87E5, Flags:0x0 + u32 'mTargetJntNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x91B6B0, Setter:0x91C440, CRC32:0xA066E5EC, Flags:0x800000 +}; + +// cImageDownloadMap vftable:0x1B16A88, Size:0x18, CRC32:0x6F24DDB9 +class cImageDownloadMap /*: MtObject*/ { +}; + +// cImageDownloadMap::cLoader vftable:0x1B16A60, Size:0x28, CRC32:0x27FEB069 +class cImageDownloadMap::cLoader /*: MtObject*/ { +}; + +// cIncreaseParam2 vftable:0x1C63064, Size:0x18, CRC32:0x26EB2C95 +class cIncreaseParam2 /*: MtObject*/ { + u32 'mLv' ; // Offset:0x4, Var, CRC32:0xA51BAA9E, Flags:0x0 + u32 'mAtk' ; // Offset:0x8, Var, CRC32:0xF79CECE8, Flags:0x0 + u32 'mDef' ; // Offset:0xC, Var, CRC32:0xDC3F71AE, Flags:0x0 + u32 'mMAtk' ; // Offset:0x10, Var, CRC32:0xD16AD82B, Flags:0x0 + u32 'mMDef' ; // Offset:0x14, Var, CRC32:0xFAC9456D, Flags:0x0 +}; + +// cIndoorSkyFogParam vftable:0x1C14778, Size:0x1C, CRC32:0x73DCE9E2 +class cIndoorSkyFogParam /*: MtObject*/ { + s32 'mWeatherId' ; // Offset:0x4, Var, CRC32:0x928D4421, Flags:0x0 + f32 'mIntensity' ; // Offset:0x8, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mDensity' ; // Offset:0xC, Var, CRC32:0x434A19E4, Flags:0x0 + f32 'mStart' ; // Offset:0x10, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x14, Var, CRC32:0xD007A37E, Flags:0x0 +}; + +// cInstancingFromMatrices vftable:0x20D1078, Size:0x1180, CRC32:0x56D12A44 +class cInstancingFromMatrices /*: cInstancingDynamic, cInstancingCulling, MtObject*/ { + bool 'mUseBillboard' ; // Offset:0x24, Var, CRC32:0xDF16707C, Flags:0x0 + bool 'mUseLodFade' ; // Offset:0x26, Var, CRC32:0xDCB86762, Flags:0x0 + bool 'mDebug' ; // Offset:0x28, Var, CRC32:0x9111DD66, Flags:0x0 + custom 'mpBillboardTexture' ; // Offset:0x2C, Var, CRC32:0x24E0546B, Flags:0x0 + f32 'mLodBillboardDistance' ; // Offset:0x30, Var, CRC32:0x4DD8A119, Flags:0x0 + u32 'mBillboardPattern' ; // Offset:0x34, Var, CRC32:0xBA41A6B3, Flags:0x0 + vector2 'mBillboardSize' ; // Offset:0x38, Var, CRC32:0xE62D9E59, Flags:0x0 + bool 'mUVSwitchEnable' ; // Offset:0x40, Var, CRC32:0x23693D39, Flags:0x0 + bool 'mUseFastCulling' ; // Offset:0x41, Var, CRC32:0xF07DAD1, Flags:0x0 + bool 'mPartsLevel' ; // Offset:0x464, Var, CRC32:0x1BD98F33, Flags:0x0 + f32 'mClusterSize' ; // Offset:0x468, Var, CRC32:0x9BF752B9, Flags:0x0 +}; + +// cInstancingFromNulls vftable:0x20D1000, Size:0x480, CRC32:0x5A49527B +class cInstancingFromNulls /*: cInstancingDynamic, cInstancingCulling, MtObject*/ { + bool 'mUseBillboard' ; // Offset:0x24, Var, CRC32:0xDF16707C, Flags:0x0 + bool 'mUseLodFade' ; // Offset:0x26, Var, CRC32:0xDCB86762, Flags:0x0 + bool 'mDebug' ; // Offset:0x28, Var, CRC32:0x9111DD66, Flags:0x0 + custom 'mpBillboardTexture' ; // Offset:0x2C, Var, CRC32:0x24E0546B, Flags:0x0 + f32 'mLodBillboardDistance' ; // Offset:0x30, Var, CRC32:0x4DD8A119, Flags:0x0 + u32 'mBillboardPattern' ; // Offset:0x34, Var, CRC32:0xBA41A6B3, Flags:0x0 + vector2 'mBillboardSize' ; // Offset:0x38, Var, CRC32:0xE62D9E59, Flags:0x0 + bool 'mUVSwitchEnable' ; // Offset:0x40, Var, CRC32:0x23693D39, Flags:0x0 + bool 'mUseFastCulling' ; // Offset:0x41, Var, CRC32:0xF07DAD1, Flags:0x0 + bool 'mPartsLevel' ; // Offset:0x464, Var, CRC32:0x1BD98F33, Flags:0x0 + f32 'mClusterSize' ; // Offset:0x468, Var, CRC32:0x9BF752B9, Flags:0x0 + custom 'mpNulls' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17ACDF0, Setter:0x17AD2A0, CRC32:0x797B808A, Flags:0x800000 +}; + +// cInterfaceBase vftable:0x1BAF0DC, Size:0x8, CRC32:0x27D6E86E +class cInterfaceBase /*: MtObject*/ { +}; + +// cItemBase vftable:0x1C61F68, Size:0x14, CRC32:0x2AB4D898 +class cItemBase /*: cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemBaseParam vftable:0x1B16F70, Size:0x18, CRC32:0xCB3C3D3 +class cItemBaseParam /*: MtObject*/ { +}; + +// cItemCore vftable:0x1C61EF0, Size:0xC, CRC32:0x18DA3B6 +class cItemCore /*: MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemDisplayParam vftable:0x1B16FA4, Size:0x1C, CRC32:0x787BCD07 +class cItemDisplayParam /*: cItemBaseParam, MtObject*/ { +}; + +// cItemEquipBase vftable:0x1C62238, Size:0xC, CRC32:0x1B72A06C +class cItemEquipBase /*: cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemEquipGroupBase vftable:0x1C62368, Size:0x20, CRC32:0x4CF11DC7 +class cItemEquipGroupBase /*: MtObject*/ { + class 'mModelBase' ; // Offset:0x4, Var, CRC32:0x24BAAC1E, Flags:0x0 + u32 'mNameId' ; // Offset:0x10, Var, CRC32:0xF5C64F5D, Flags:0x0 + u16 'mFlag' ; // Offset:0x14, Var, CRC32:0x8FD20A6, Flags:0x0 + u16 'mIconNo' ; // Offset:0x16, Var, CRC32:0xECCC44A0, Flags:0x0 + u16 'mUseLimit.mData' ; // Offset:0x18, Var, CRC32:0x79F5BC67, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x1A, Var, CRC32:0xBBE66A7A, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x1B, Var, CRC32:0xD515B1A1, Flags:0x0 + u8 'mSexType' ; // Offset:0x1C, Var, CRC32:0x5F3D743A, Flags:0x0 +}; + +// cItemEquipJewelry vftable:0x1C62600, Size:0x34, CRC32:0x7922D4BF +class cItemEquipJewelry /*: cItemEquipBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0xC, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x10, Var, CRC32:0x5EA11098, Flags:0x0 + u32 'mPriceData.mData' ; // Offset:0x14, Var, CRC32:0xF8ED0267, Flags:0x0 + u32 'mNameId' ; // Offset:0x18, Var, CRC32:0xF5C64F5D, Flags:0x0 + u16 'mIconNo' ; // Offset:0x20, Var, CRC32:0xECCC44A0, Flags:0x0 + u16 'mUseLimit.mData' ; // Offset:0x22, Var, CRC32:0x79F5BC67, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x2E, Var, CRC32:0xBBE66A7A, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x2F, Var, CRC32:0xD515B1A1, Flags:0x0 + u8 'mSlotData.mData' ; // Offset:0x30, Var, CRC32:0xE4112AE1, Flags:0x0 + u8 'mParamS8Num' ; // Offset:0x31, Var, CRC32:0xDB891E72, Flags:0x0 + u16 'mRank' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED83, Setter:0x0, CRC32:0x517023D9, Flags:0x830000 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemEquipJobInfo vftable:0x1C61830, Size:0x8, CRC32:0x43A349C7 +class cItemEquipJobInfo /*: MtObject*/ { +}; + +// cItemEquipJobInfoData vftable:0x1C6180C, Size:0x8, CRC32:0x52AB1CB1 +class cItemEquipJobInfoData /*: MtObject*/ { +}; + +// cItemEquipNpcProtector vftable:0x1C62548, Size:0x20, CRC32:0x4CA0DC2E +class cItemEquipNpcProtector /*: cItemEquipBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + class 'mModelBase' ; // Offset:0x10, Var, CRC32:0x24BAAC1E, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x1C, Var, CRC32:0xBBE66A7A, Flags:0x0 + u8 'mWepCategory' ; // Offset:0x1D, Var, CRC32:0x3E2734CE, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemEquipParam vftable:0x1B174E8, Size:0x78, CRC32:0x89229E7 +class cItemEquipParam /*: MtObject*/ { +}; + +// cItemEquipProtector vftable:0x1C62490, Size:0x2C, CRC32:0xCB8872 +class cItemEquipProtector /*: cItemEquipBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0xC, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x10, Var, CRC32:0x5EA11098, Flags:0x0 + u32 'mPriceData.mData' ; // Offset:0x14, Var, CRC32:0xF8ED0267, Flags:0x0 + u16 'mAttack' ; // Offset:0x1C, Var, CRC32:0x795C840A, Flags:0x0 + u16 'mMagicAttack' ; // Offset:0x1E, Var, CRC32:0xAD78E7FB, Flags:0x0 + u16 'mDefense' ; // Offset:0x20, Var, CRC32:0x5847866B, Flags:0x0 + u16 'mMagicDefense' ; // Offset:0x22, Var, CRC32:0x92296082, Flags:0x0 + u16 'mWeight' ; // Offset:0x24, Var, CRC32:0x3951FC70, Flags:0x0 + u8 'mSlotData.mData' ; // Offset:0x28, Var, CRC32:0xE4112AE1, Flags:0x0 + u8 'mParamS8Num' ; // Offset:0x29, Var, CRC32:0xDB891E72, Flags:0x0 + u16 'mRank' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED83, Setter:0x0, CRC32:0x517023D9, Flags:0x830000 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemEquipProtectorGroup vftable:0x1C623B0, Size:0x20, CRC32:0x67A5504D +class cItemEquipProtectorGroup /*: cItemEquipGroupBase, MtObject*/ { + class 'mModelBase' ; // Offset:0x4, Var, CRC32:0x24BAAC1E, Flags:0x0 + u32 'mNameId' ; // Offset:0x10, Var, CRC32:0xF5C64F5D, Flags:0x0 + u16 'mFlag' ; // Offset:0x14, Var, CRC32:0x8FD20A6, Flags:0x0 + u16 'mIconNo' ; // Offset:0x16, Var, CRC32:0xECCC44A0, Flags:0x0 + u16 'mUseLimit.mData' ; // Offset:0x18, Var, CRC32:0x79F5BC67, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x1A, Var, CRC32:0xBBE66A7A, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x1B, Var, CRC32:0xD515B1A1, Flags:0x0 + u8 'mSexType' ; // Offset:0x1C, Var, CRC32:0x5F3D743A, Flags:0x0 +}; + +// cItemEquipWeapon vftable:0x1C623D8, Size:0x28, CRC32:0x11976C61 +class cItemEquipWeapon /*: cItemEquipBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0xC, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x10, Var, CRC32:0x5EA11098, Flags:0x0 + u32 'mPriceData.mData' ; // Offset:0x14, Var, CRC32:0xF8ED0267, Flags:0x0 + u16 'mAttack' ; // Offset:0x1C, Var, CRC32:0x795C840A, Flags:0x0 + u16 'mMagicAttack' ; // Offset:0x1E, Var, CRC32:0xAD78E7FB, Flags:0x0 + u16 'mWeight' ; // Offset:0x20, Var, CRC32:0x3951FC70, Flags:0x0 + u8 'mSlotData.mData' ; // Offset:0x24, Var, CRC32:0xE4112AE1, Flags:0x0 + u8 'mParamS8Num' ; // Offset:0x25, Var, CRC32:0xDB891E72, Flags:0x0 + u16 'mRank' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED83, Setter:0x0, CRC32:0x517023D9, Flags:0x830000 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemEquipWeaponGroup vftable:0x1C6238C, Size:0x24, CRC32:0x140407FF +class cItemEquipWeaponGroup /*: cItemEquipGroupBase, MtObject*/ { + class 'mModelBase' ; // Offset:0x4, Var, CRC32:0x24BAAC1E, Flags:0x0 + u32 'mNameId' ; // Offset:0x10, Var, CRC32:0xF5C64F5D, Flags:0x0 + u16 'mFlag' ; // Offset:0x14, Var, CRC32:0x8FD20A6, Flags:0x0 + u16 'mIconNo' ; // Offset:0x16, Var, CRC32:0xECCC44A0, Flags:0x0 + u16 'mUseLimit.mData' ; // Offset:0x18, Var, CRC32:0x79F5BC67, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x1A, Var, CRC32:0xBBE66A7A, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x1B, Var, CRC32:0xD515B1A1, Flags:0x0 + u8 'mSexType' ; // Offset:0x1C, Var, CRC32:0x5F3D743A, Flags:0x0 + u8 'mWepCategory' ; // Offset:0x20, Var, CRC32:0x3E2734CE, Flags:0x0 + u8 'mPhysicalType' ; // Offset:0x21, Var, CRC32:0x4B72F33E, Flags:0x0 + u8 'mElementType' ; // Offset:0x22, Var, CRC32:0xE98318C8, Flags:0x0 +}; + +// cItemIconBase vftable:0x1C61FE0, Size:0x18, CRC32:0x288F7F64 +class cItemIconBase /*: cItemBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mIconNo' ; // Offset:0x14, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x16, Var, CRC32:0xD515B1A1, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemIndex vftable:0x1C61DE0, Size:0x8, CRC32:0x16FAC212 +class cItemIndex /*: MtObject*/ { + u32 'mIndexData.mData' ; // Offset:0x4, Var, CRC32:0x4BC96B54, Flags:0x0 +}; + +// cItemJob vftable:0x1C621C0, Size:0x2C, CRC32:0x21D3505A +class cItemJob /*: cItemIconBase, cItemBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mIconNo' ; // Offset:0x14, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x16, Var, CRC32:0xD515B1A1, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0x18, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x1C, Var, CRC32:0x5EA11098, Flags:0x0 + u32 'mPriceData.mData' ; // Offset:0x20, Var, CRC32:0xF8ED0267, Flags:0x0 + u16 'mUseLimit.mData' ; // Offset:0x28, Var, CRC32:0x79F5BC67, Flags:0x0 + u8 'mParamNum' ; // Offset:0x2A, Var, CRC32:0xFC86D440, Flags:0x0 + u8 'mStackMax' ; // Offset:0x2B, Var, CRC32:0xDC3391A4, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemKey vftable:0x1C62148, Size:0x24, CRC32:0x509B1B0B +class cItemKey /*: cItemIconBase, cItemBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mIconNo' ; // Offset:0x14, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x16, Var, CRC32:0xD515B1A1, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0x18, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x1C, Var, CRC32:0x5EA11098, Flags:0x0 + u8 'mStackMax' ; // Offset:0x20, Var, CRC32:0xDC3391A4, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemMaterial vftable:0x1C620D0, Size:0x2C, CRC32:0x5A8BC290 +class cItemMaterial /*: cItemIconBase, cItemBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mIconNo' ; // Offset:0x14, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x16, Var, CRC32:0xD515B1A1, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0x18, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x1C, Var, CRC32:0x5EA11098, Flags:0x0 + u32 'mPriceData.mData' ; // Offset:0x20, Var, CRC32:0xF8ED0267, Flags:0x0 + u8 'mStackMax' ; // Offset:0x29, Var, CRC32:0xDC3391A4, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemModelBase vftable:0x1C61EBC, Size:0xC, CRC32:0x5AE00CEF +class cItemModelBase /*: MtObject*/ { + u32 'mModel.mModelTagId' ; // Offset:0x4, Var, CRC32:0x3890DF68, Flags:0x0 + u8 'mModel.mColorNo' ; // Offset:0x8, Var, CRC32:0xDE492B90, Flags:0x0 + u8 'mModel.mModelParts' ; // Offset:0x9, Var, CRC32:0x3EC6D54A, Flags:0x0 +}; + +// cItemNormal vftable:0x1C622F0, Size:0x24, CRC32:0x772F4F12 +class cItemNormal /*: cItemIconBase, cItemBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mIconNo' ; // Offset:0x14, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x16, Var, CRC32:0xD515B1A1, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0x18, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x1C, Var, CRC32:0x5EA11098, Flags:0x0 + u8 'mRank' ; // Offset:0x20, Var, CRC32:0x517023D9, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cItemParam vftable:0x1B17A0C, Size:0x2C, CRC32:0x3273D99A +class cItemParam /*: cItemDisplayParam, cItemBaseParam, MtObject*/ { +}; + +// cItemParamStorage vftable:0x1AF9818, Size:0x10, CRC32:0x712B854D +class cItemParamStorage /*: MtObject*/ { +}; + +// cItemUse vftable:0x1C62058, Size:0x2C, CRC32:0x4EBA7CE9 +class cItemUse /*: cItemIconBase, cItemBase, cItemCore, MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u16 'mFlag' ; // Offset:0x8, Var, CRC32:0x8FD20A6, Flags:0x0 + u8 'mCategory' ; // Offset:0xA, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mNameId' ; // Offset:0xC, Var, CRC32:0xF5C64F5D, Flags:0x0 + u8 'mSubCategory.mCategory2' ; // Offset:0x10, Var, CRC32:0xBBE66A7A, Flags:0x0 + u16 'mIconNo' ; // Offset:0x14, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x16, Var, CRC32:0xD515B1A1, Flags:0x0 + u32 'mSortData.mSortNo' ; // Offset:0x18, Var, CRC32:0x71796563, Flags:0x0 + u32 'mSortData.mNameSortNo' ; // Offset:0x1C, Var, CRC32:0x5EA11098, Flags:0x0 + u32 'mPriceData.mData' ; // Offset:0x20, Var, CRC32:0xF8ED0267, Flags:0x0 + u8 'mParamNum' ; // Offset:0x28, Var, CRC32:0xFC86D440, Flags:0x0 + u8 'mStackMax' ; // Offset:0x29, Var, CRC32:0xDC3391A4, Flags:0x0 + u16 'mUseLv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED7E, Setter:0x0, CRC32:0xD898D0DA, Flags:0x830000 + u8 'mGrade' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA8ED79, Setter:0x0, CRC32:0xA4EE34F5, Flags:0x830000 +}; + +// cJob010Custom01AirStrike vftable:0x1B18448, Size:0x30, CRC32:0x7FA5F177 +class cJob010Custom01AirStrike /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob010Custom01MoreJump vftable:0x1B18490, Size:0x30, CRC32:0x4B37FF10 +class cJob010Custom01MoreJump /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackAirL00 vftable:0x1BAF720, Size:0x30, CRC32:0x41B4F249 +class cJob01AttackAirL00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackAirL01 vftable:0x1BAF768, Size:0x30, CRC32:0x36B3C2DF +class cJob01AttackAirL01 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackAirS vftable:0x1BAF6D8, Size:0x30, CRC32:0x55B9B4BF +class cJob01AttackAirS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackDelayCombo vftable:0x1BAF7B0, Size:0x28, CRC32:0x29C1E2D7 +class cJob01AttackDelayCombo /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackL vftable:0x1BAF600, Size:0x28, CRC32:0x267B5823 +class cJob01AttackL /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackL_Charge_Begin vftable:0x1BAF648, Size:0x28, CRC32:0x2DF8ED02 +class cJob01AttackL_Charge_Begin /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackL_Charge_Loop vftable:0x1BAF690, Size:0x2C, CRC32:0x5E9F9429 +class cJob01AttackL_Charge_Loop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01AttackS vftable:0x1BAF5B8, Size:0x28, CRC32:0x2B7355D6 +class cJob01AttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01ClimeEnemyAttackEnd vftable:0x1BAF848, Size:0xA0, CRC32:0x42BDB576 +class cJob01ClimeEnemyAttackEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01ClimeEnemyAttackLoop vftable:0x1BAF7F8, Size:0xB0, CRC32:0x769FE4F6 +class cJob01ClimeEnemyAttackLoop /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom01 vftable:0x1BAFBF8, Size:0x3C, CRC32:0x6F99DB63 +class cJob01Custom01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom01Finish vftable:0x1BAFC40, Size:0x2C, CRC32:0x65215E02 +class cJob01Custom01Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom02 vftable:0x1BAFC88, Size:0x2C, CRC32:0x76908AD9 +class cJob01Custom02 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom02_01 vftable:0x1BAFCD0, Size:0x2C, CRC32:0x5A43B288 +class cJob01Custom02_01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom02_02 vftable:0x1BAFD18, Size:0x38, CRC32:0x434AE332 +class cJob01Custom02_02 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom02_03 vftable:0x1BAFD60, Size:0x2C, CRC32:0x344DD3A4 +class cJob01Custom02_03 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom02_04 vftable:0x1BAFDA8, Size:0x2C, CRC32:0x2A294607 +class cJob01Custom02_04 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom03 vftable:0x1BAFE38, Size:0x28, CRC32:0x197BA4F +class cJob01Custom03 /*: cJob01Custom03Base, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom03Base vftable:0x1BAFDF0, Size:0x28, CRC32:0x6EC31285 +class cJob01Custom03Base /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom03_Loop vftable:0x1BAFE80, Size:0x28, CRC32:0x68C253CF +class cJob01Custom03_Loop /*: cJob01Custom03Base, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom04 vftable:0x1BAFEC8, Size:0x2C, CRC32:0x1FF32FEC +class cJob01Custom04 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom05 vftable:0x1BAFF10, Size:0x50, CRC32:0x68F41F7A +class cJob01Custom05 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom05_End vftable:0x1BAFF58, Size:0x28, CRC32:0x74DFDAD1 +class cJob01Custom05_End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom06 vftable:0x1BAFFA0, Size:0x2C, CRC32:0x71FD4EC0 +class cJob01Custom06 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom07 vftable:0x1BAFFE8, Size:0x2C, CRC32:0x6FA7E56 +class cJob01Custom07 /*: cHumanCustomDodgeBeforeBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom07_Attack vftable:0x1BB0030, Size:0x2C, CRC32:0x1FA801D7 +class cJob01Custom07_Attack /*: cHumanCustomDodgeAfterBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom07_Attack_2 vftable:0x1BB0078, Size:0x28, CRC32:0x4C8AECFD +class cJob01Custom07_Attack_2 /*: cHumanCustomDodgeAfterBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom08 vftable:0x1BB00C0, Size:0x28, CRC32:0x164563C7 +class cJob01Custom08 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom08_AirStartAir vftable:0x1BB0158, Size:0x38, CRC32:0x7CC88E8D +class cJob01Custom08_AirStartAir /*: cJob01Custom08_AirBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom08_AirStartLand vftable:0x1BB0110, Size:0x38, CRC32:0x4324466A +class cJob01Custom08_AirStartLand /*: cJob01Custom08_AirBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom08_End vftable:0x1BB01A0, Size:0x28, CRC32:0xC4F1E60 +class cJob01Custom08_End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom09 vftable:0x1BB01E8, Size:0x50, CRC32:0x61425351 +class cJob01Custom09 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom10 vftable:0x1BB0230, Size:0x28, CRC32:0x185DAB4 +class cJob01Custom10 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom10Fail vftable:0x1BB0278, Size:0x28, CRC32:0x24AC6ED8 +class cJob01Custom10Fail /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom11 vftable:0x1BB02C0, Size:0x34, CRC32:0x7682EA22 +class cJob01Custom11 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom11Success vftable:0x1BB0350, Size:0x28, CRC32:0x575E35B3 +class cJob01Custom11Success /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom11SuccessStart vftable:0x1BB0308, Size:0x2C, CRC32:0x1BD03FE8 +class cJob01Custom11SuccessStart /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom12 vftable:0x1BB0398, Size:0x2C, CRC32:0x6F8BBB98 +class cJob01Custom12 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom12Additional vftable:0x1BB03E0, Size:0x2C, CRC32:0x44F3EE6F +class cJob01Custom12Additional /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom13 vftable:0x1BB0428, Size:0xC0, CRC32:0x188C8B0E +class cJob01Custom13 /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom13CancelAttack vftable:0x1BB04C8, Size:0xB0, CRC32:0x6951CCD6 +class cJob01Custom13CancelAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom13End vftable:0x1BB0478, Size:0xB0, CRC32:0x71170F5A +class cJob01Custom13End /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom14 vftable:0x1BB0518, Size:0x30, CRC32:0x6E81EAD +class cJob01Custom14 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom14AirStrike vftable:0x1BB05A8, Size:0x2C, CRC32:0x5CDFA34C +class cJob01Custom14AirStrike /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom14Finish vftable:0x1BB05F0, Size:0x28, CRC32:0x7BB3713B +class cJob01Custom14Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Custom14Success vftable:0x1BB0560, Size:0x30, CRC32:0x1FBE3BD7 +class cJob01Custom14Success /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01Guard vftable:0x1BAFA00, Size:0x34, CRC32:0xA767A7F +class cJob01Guard /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardAirEnd vftable:0x1BAFA90, Size:0x34, CRC32:0x5C35354D +class cJob01GuardAirEnd /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardAirReaction vftable:0x1BAFB20, Size:0x34, CRC32:0x422AADFD +class cJob01GuardAirReaction /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardAirStart vftable:0x1BAFA48, Size:0x34, CRC32:0xFCA103D +class cJob01GuardAirStart /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardBase vftable:0x1BAF898, Size:0x30, CRC32:0x3248E461 +class cJob01GuardBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardCounter vftable:0x1BAFB68, Size:0x30, CRC32:0x3A4509F4 +class cJob01GuardCounter /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardCounterAir vftable:0x1BAFBB0, Size:0x34, CRC32:0x1ED5F269 +class cJob01GuardCounterAir /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardEnd vftable:0x1BAF928, Size:0x30, CRC32:0x74EBC651 +class cJob01GuardEnd /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardJump vftable:0x1BAF970, Size:0x34, CRC32:0x554F1C16 +class cJob01GuardJump /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardLand vftable:0x1BAF9B8, Size:0x30, CRC32:0x5AFCCFD8 +class cJob01GuardLand /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardReaction vftable:0x1BAFAD8, Size:0x30, CRC32:0x122040EC +class cJob01GuardReaction /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob01GuardStart vftable:0x1BAF8E0, Size:0x30, CRC32:0x4D094618 +class cJob01GuardStart /*: cJob01GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackAirL00 vftable:0x1BB1710, Size:0x2C, CRC32:0x7C7E9E87 +class cJob02AttackAirL00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackAirLLand00 vftable:0x1BB1758, Size:0x28, CRC32:0x169F3F65 +class cJob02AttackAirLLand00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackAirS00 vftable:0x1BB10C8, Size:0x2C, CRC32:0x6B047ACA +class cJob02AttackAirS00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackAirS01 vftable:0x1BB1110, Size:0x2C, CRC32:0x1C034A5C +class cJob02AttackAirS01 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackDelayCombo vftable:0x1BB0FF0, Size:0x28, CRC32:0x7A5BB953 +class cJob02AttackDelayCombo /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackL vftable:0x1BB1038, Size:0x40, CRC32:0x28F45FC0 +class cJob02AttackL /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackLEnd vftable:0x1BB1080, Size:0x28, CRC32:0x51AC4DB5 +class cJob02AttackLEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02AttackS vftable:0x1BB0FA8, Size:0x28, CRC32:0x25FC5235 +class cJob02AttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02ClimeEnemyAttack vftable:0x1BB1830, Size:0xC0, CRC32:0x2D8D47DF +class cJob02ClimeEnemyAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02ClimeEnemyAttackEnd vftable:0x1BB1880, Size:0xA0, CRC32:0x6D14F8BC +class cJob02ClimeEnemyAttackEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom01 vftable:0x1BB1918, Size:0x60, CRC32:0x5614E7A6 +class cJob02Custom01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom01Base vftable:0x1BB18D0, Size:0x28, CRC32:0x29C92D2B +class cJob02Custom01Base /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom01_attack01 vftable:0x1BB1960, Size:0x50, CRC32:0x2908055C +class cJob02Custom01_attack01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom02Begin vftable:0x1BB19A8, Size:0x30, CRC32:0x38F3DD6B +class cJob02Custom02Begin /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom02Finish vftable:0x1BB19F0, Size:0x28, CRC32:0x45B42EE6 +class cJob02Custom02Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom03 vftable:0x1BB1A38, Size:0x28, CRC32:0x381A868A +class cJob02Custom03 /*: cHumanCustomDodgeBeforeBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom03_Attack vftable:0x1BB1A80, Size:0x28, CRC32:0x322ABBDF +class cJob02Custom03_Attack /*: cHumanCustomDodgeAfterBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom03_AvoidAttack vftable:0x1BB1AC8, Size:0x28, CRC32:0x36C3E9C9 +class cJob02Custom03_AvoidAttack /*: cHumanCustomDodgeAfterBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom04PullUp vftable:0x1BB1BF8, Size:0x90, CRC32:0x2A8B91CB +class cJob02Custom04PullUp /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom04WireThrow vftable:0x1BB1BA8, Size:0xA0, CRC32:0x3ED1E87 +class cJob02Custom04WireThrow /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom05DropAttack vftable:0x1BB1D38, Size:0xB0, CRC32:0x2F35A171 +class cJob02Custom05DropAttack /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom05JumpWire vftable:0x1BB1C98, Size:0xC0, CRC32:0x2265C98D +class cJob02Custom05JumpWire /*: cJob02Custom05WireThrowBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom05JumpWireAir vftable:0x1BB1CE8, Size:0xB0, CRC32:0x356156A8 +class cJob02Custom05JumpWireAir /*: cJob02Custom05WireThrowBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom05Land vftable:0x1BB1D88, Size:0x28, CRC32:0x34FDA052 +class cJob02Custom05Land /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom05WireThrowBase vftable:0x1BB1C48, Size:0xA0, CRC32:0x4822B3D6 +class cJob02Custom05WireThrowBase /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom06 vftable:0x1BB1DD0, Size:0x30, CRC32:0x48707205 +class cJob02Custom06 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom07 vftable:0x1BB1E18, Size:0x30, CRC32:0x3F774293 +class cJob02Custom07 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom07Air vftable:0x1BB1EF0, Size:0x30, CRC32:0x817E807 +class cJob02Custom07Air /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom07Air_Failed vftable:0x1BB1F80, Size:0x2C, CRC32:0x38E5EC9B +class cJob02Custom07Air_Failed /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom07Air_Jump vftable:0x1BB1F38, Size:0x30, CRC32:0x575E3C5F +class cJob02Custom07Air_Jump /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom07_Failed vftable:0x1BB1EA8, Size:0x2C, CRC32:0x6F2B3B69 +class cJob02Custom07_Failed /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom07_Jump vftable:0x1BB1E60, Size:0x38, CRC32:0x9DE2FFA +class cJob02Custom07_Jump /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom08 vftable:0x1BB1FC8, Size:0x28, CRC32:0x2FC85F02 +class cJob02Custom08 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom08_Ignite vftable:0x1BB2058, Size:0x28, CRC32:0x77DF8764 +class cJob02Custom08_Ignite /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom08_Ignite_Pre vftable:0x1BB2010, Size:0x28, CRC32:0x47FCEFF9 +class cJob02Custom08_Ignite_Pre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom09 vftable:0x1BB20A0, Size:0x38, CRC32:0x58CF6F94 +class cJob02Custom09 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom09Finish vftable:0x1BB2130, Size:0x28, CRC32:0x47B37A1C +class cJob02Custom09Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom09Land vftable:0x1BB20E8, Size:0x38, CRC32:0x710D4D53 +class cJob02Custom09Land /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom10 vftable:0x1BB2178, Size:0xA0, CRC32:0x3808E671 +class cJob02Custom10 /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom10Fall vftable:0x1BB2218, Size:0x2C, CRC32:0x6411F653 +class cJob02Custom10Fall /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom10Slide vftable:0x1BB21C8, Size:0xB0, CRC32:0x5B260CA3 +class cJob02Custom10Slide /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom11 vftable:0x1BB2260, Size:0x28, CRC32:0x4F0FD6E7 +class cJob02Custom11 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom11End vftable:0x1BB22F0, Size:0x28, CRC32:0x2C801521 +class cJob02Custom11End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom11Start vftable:0x1BB22A8, Size:0x28, CRC32:0x7DEC64EB +class cJob02Custom11Start /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom12 vftable:0x1BB2338, Size:0x40, CRC32:0x5606875D +class cJob02Custom12 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom12End vftable:0x1BB2380, Size:0x28, CRC32:0x3E35BACF +class cJob02Custom12End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom12Success vftable:0x1BB2418, Size:0x60, CRC32:0x701986A2 +class cJob02Custom12Success /*: cJob02Custom12SuccessBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom12SuccessLarge vftable:0x1BB2468, Size:0x70, CRC32:0x1B16ADF4 +class cJob02Custom12SuccessLarge /*: cJob02Custom12SuccessBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom13 vftable:0x1BB24B8, Size:0x28, CRC32:0x2101B7CB +class cJob02Custom13 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom13_Air vftable:0x1BB2500, Size:0x30, CRC32:0x31951B50 +class cJob02Custom13_Air /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom13_Air2 vftable:0x1BB2548, Size:0x2C, CRC32:0x238D956F +class cJob02Custom13_Air2 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14 vftable:0x1BB2590, Size:0xA0, CRC32:0x3F652268 +class cJob02Custom14 /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Air vftable:0x1BB25E0, Size:0xA0, CRC32:0x3B5C740 +class cJob02Custom14_Air /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Stop vftable:0x1BB2A80, Size:0x2C, CRC32:0x37D84640 +class cJob02Custom14_Stop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_UpperCut vftable:0x1BB2A38, Size:0x2C, CRC32:0x4035A567 +class cJob02Custom14_UpperCut /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuAir_Down vftable:0x1BB2900, Size:0xB0, CRC32:0x4DE4C3EE +class cJob02Custom14_ZentyuAir_Down /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuAir_DownDown vftable:0x1BB2950, Size:0xB0, CRC32:0xABFF5CE +class cJob02Custom14_ZentyuAir_DownDown /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuAir_Mid vftable:0x1BB28B0, Size:0xB0, CRC32:0xB976BD9 +class cJob02Custom14_ZentyuAir_Mid /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuAir_UP vftable:0x1BB2860, Size:0xB0, CRC32:0x74CD236F +class cJob02Custom14_ZentyuAir_UP /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuAir_UPUP vftable:0x1BB2810, Size:0xB0, CRC32:0x6CA50A32 +class cJob02Custom14_ZentyuAir_UPUP /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuBase vftable:0x1BB2630, Size:0xB0, CRC32:0x39B92166 +class cJob02Custom14_ZentyuBase /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuLand vftable:0x1BB29A0, Size:0x28, CRC32:0x510D0ADF +class cJob02Custom14_ZentyuLand /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuLandFnish vftable:0x1BB2AC8, Size:0x2C, CRC32:0x4357E983 +class cJob02Custom14_ZentyuLandFnish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_ZentyuLoop vftable:0x1BB29E8, Size:0x90, CRC32:0x5852C2E9 +class cJob02Custom14_ZentyuLoop /*: cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Zentyu_Down vftable:0x1BB2770, Size:0xB0, CRC32:0x6CB617EB +class cJob02Custom14_Zentyu_Down /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Zentyu_DownDown vftable:0x1BB27C0, Size:0xB0, CRC32:0x7305B798 +class cJob02Custom14_Zentyu_DownDown /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Zentyu_Mid vftable:0x1BB2720, Size:0xB0, CRC32:0x6DB7DBED +class cJob02Custom14_Zentyu_Mid /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Zentyu_UP vftable:0x1BB26D0, Size:0xB0, CRC32:0x37211620 +class cJob02Custom14_Zentyu_UP /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Custom14_Zentyu_UPUP vftable:0x1BB2680, Size:0xB0, CRC32:0x4DF7DE37 +class cJob02Custom14_Zentyu_UPUP /*: cJob02Custom14_ZentyuBase, cJob02WireThrowCustomBase, cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02Evasion00 vftable:0x1BB17A0, Size:0x38, CRC32:0x539BEE70 +class cJob02Evasion00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02EvasionFall vftable:0x1BB17E8, Size:0x2C, CRC32:0x46EB570D +class cJob02EvasionFall /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02FallFromCS06 vftable:0x1BB1230, Size:0x2C, CRC32:0x2F0990DF +class cJob02FallFromCS06 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02SecondJump vftable:0x1BB11E8, Size:0x38, CRC32:0x6134B0C0 +class cJob02SecondJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WallJump vftable:0x1BB11A0, Size:0x2C, CRC32:0x1473F37C +class cJob02WallJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WallJumpPre vftable:0x1BB1158, Size:0x2C, CRC32:0x671BA3CB +class cJob02WallJumpPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireBase vftable:0x1BB1278, Size:0x2C, CRC32:0x745744F6 +class cJob02WireBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireCustomBase vftable:0x1BB1B10, Size:0x2C, CRC32:0x6D1F9C13 +class cJob02WireCustomBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJump vftable:0x1BB14D0, Size:0x60, CRC32:0x1350BC81 +class cJob02WireJump /*: cJob02WireJumpBase, cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJumpAir vftable:0x1BB1518, Size:0x60, CRC32:0x3880E6ED +class cJob02WireJumpAir /*: cJob02WireJumpBase, cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJumpBase vftable:0x1BB1488, Size:0x60, CRC32:0x666644E3 +class cJob02WireJumpBase /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJumpFall vftable:0x1BB15F0, Size:0x2C, CRC32:0x5D82658E +class cJob02WireJumpFall /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJumpHitKick vftable:0x1BB1560, Size:0x30, CRC32:0x72388956 +class cJob02WireJumpHitKick /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJumpHitLand vftable:0x1BB15A8, Size:0x30, CRC32:0x44ED838B +class cJob02WireJumpHitLand /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireJumpThroughLand vftable:0x1BB1638, Size:0x30, CRC32:0x549F1C28 +class cJob02WireJumpThroughLand /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireLand vftable:0x1BB16C8, Size:0x2C, CRC32:0x1CE36F4F +class cJob02WireLand /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireReady vftable:0x1BB12C0, Size:0x30, CRC32:0x14488F7F +class cJob02WireReady /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireReadyEnd vftable:0x1BB1680, Size:0x30, CRC32:0x5C41CE9C +class cJob02WireReadyEnd /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireThrow vftable:0x1BB13E8, Size:0xA0, CRC32:0x734E4BE7 +class cJob02WireThrow /*: cJob02WireThrowBase, cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireThrowAir vftable:0x1BB1438, Size:0xA0, CRC32:0x55281B86 +class cJob02WireThrowAir /*: cJob02WireThrowBase, cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireThrowBase vftable:0x1BB1398, Size:0x90, CRC32:0x3CEB54CE +class cJob02WireThrowBase /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireThrowCustomBase vftable:0x1BB1B58, Size:0x90, CRC32:0x4CFBA30B +class cJob02WireThrowCustomBase /*: cJob02WireCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireWait vftable:0x1BB1308, Size:0x2C, CRC32:0x490D3972 +class cJob02WireWait /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob02WireWaitAir vftable:0x1BB1350, Size:0x2C, CRC32:0x5C2C6AF9 +class cJob02WireWaitAir /*: cJob02WireBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ArrowChange vftable:0x1BB3A40, Size:0x30, CRC32:0x3E7BF4E1 +class cJob03ArrowChange /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ArrowChangeAir vftable:0x1BB3A88, Size:0x30, CRC32:0x644B11AD +class cJob03ArrowChangeAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ArrowReload vftable:0x1BB3968, Size:0x28, CRC32:0x5C94C494 +class cJob03ArrowReload /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ArrowReloadEnd vftable:0x1BB39B0, Size:0x28, CRC32:0x651EF9A4 +class cJob03ArrowReloadEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ClimbAttack vftable:0x1BB3B20, Size:0xB0, CRC32:0x1B147D8 +class cJob03ClimbAttack /*: cJob03ClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ClimbAttackEnd vftable:0x1BB3B70, Size:0xA0, CRC32:0x47349212 +class cJob03ClimbAttackEnd /*: cJob03ClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03ClimbBase vftable:0x1BB3AD0, Size:0xA0, CRC32:0x468A44D9 +class cJob03ClimbBase /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom07 vftable:0x1BB39F8, Size:0x28, CRC32:0x280C56D0 +class cJob03Custom07 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom09 vftable:0x1BB3BC0, Size:0x28, CRC32:0x4FB47BD7 +class cJob03Custom09 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom13 vftable:0x1BB3C08, Size:0x2C, CRC32:0x367AA388 +class cJob03Custom13 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom13Atk vftable:0x1BB3C50, Size:0x2C, CRC32:0x3AB7DE53 +class cJob03Custom13Atk /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom14Attack vftable:0x1BB3E88, Size:0x30, CRC32:0x343C0689 +class cJob03Custom14Attack /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom14ClimbAttack vftable:0x1BB3EE8, Size:0xB0, CRC32:0x5C19D70B +class cJob03Custom14ClimbAttack /*: cJob03ClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom14ClimbLoop vftable:0x1BB3E20, Size:0xF0, CRC32:0x16DCF029 +class cJob03Custom14ClimbLoop /*: cJob03ClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob03Custom14Loop vftable:0x1BB3DC0, Size:0x70, CRC32:0x16084BF4 +class cJob03Custom14Loop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04AttackAirLEnd vftable:0x1BB4648, Size:0x30, CRC32:0x373F5C8B +class cJob04AttackAirLEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04AttackAirS vftable:0x1BB4560, Size:0x60, CRC32:0x24EE18FD +class cJob04AttackAirS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04AttackLEnd vftable:0x1BB4600, Size:0x2C, CRC32:0x391987F6 +class cJob04AttackLEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04AttackS vftable:0x1BB44D0, Size:0x60, CRC32:0x63935BB2 +class cJob04AttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04BulastOption vftable:0x1BB4B10, Size:0x80, CRC32:0x4E382246 +class cJob04BulastOption /*: cJob04CustomCircleShot, cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04BulastOptionPre vftable:0x1BB4AC0, Size:0xA0, CRC32:0x37CAAF11 +class cJob04BulastOptionPre /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04CircleShift vftable:0x1BB4A30, Size:0x50, CRC32:0x735F24CB +class cJob04CircleShift /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04CircleShiftBegin vftable:0x1BB49E8, Size:0x28, CRC32:0x1482775C +class cJob04CircleShiftBegin /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04CircleShiftEnd vftable:0x1BB4A78, Size:0x30, CRC32:0x503678D2 +class cJob04CircleShiftEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04Custom03Shot vftable:0x1BB46E0, Size:0x80, CRC32:0x185FD74C +class cJob04Custom03Shot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04Custom04Shot vftable:0x1BB4740, Size:0x80, CRC32:0x2A7F0B5C +class cJob04Custom04Shot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04Custom10Shot vftable:0x1BB47A0, Size:0x80, CRC32:0x14A37E39 +class cJob04Custom10Shot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04CustomCircleShot vftable:0x1BB4800, Size:0x80, CRC32:0x264F6999 +class cJob04CustomCircleShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04Floating vftable:0x1BB49A0, Size:0x40, CRC32:0x659D6F1E +class cJob04Floating /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04HolyWind vftable:0x1BB4860, Size:0x80, CRC32:0x3C759836 +class cJob04HolyWind /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04NormalCircleShot vftable:0x1BB45A8, Size:0x80, CRC32:0xA4A8803 +class cJob04NormalCircleShot /*: cHmMagicChantNormalShot, cHmMagicChantBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04PreAttackAirS vftable:0x1BB4518, Size:0x30, CRC32:0x62ADE2D2 +class cJob04PreAttackAirS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04PreAttackS vftable:0x1BB4488, Size:0x30, CRC32:0x2AF23208 +class cJob04PreAttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04PreClimbEnemyAttack vftable:0x1BB4690, Size:0xB0, CRC32:0x77E9E0E6 +class cJob04PreClimbEnemyAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04ShortChargeEnd vftable:0x1BB4958, Size:0x28, CRC32:0x22A4B1FD +class cJob04ShortChargeEnd /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04ShortChargeShot vftable:0x1BB4908, Size:0x80, CRC32:0x64D320F +class cJob04ShortChargeShot /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob04SoulImpact vftable:0x1BB48C0, Size:0x30, CRC32:0x1D7D7F2D +class cJob04SoulImpact /*: cHumanActDead, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05AttackAirS vftable:0x1BB5238, Size:0x2C, CRC32:0x6560C73D +class cJob05AttackAirS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05AttackS vftable:0x1BB51F0, Size:0x28, CRC32:0x2F395B2C +class cJob05AttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Chant vftable:0x1BB6078, Size:0x80, CRC32:0x3DD45CD2 +class cJob05Chant /*: cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ClimbEnemyAttackEnd vftable:0x1BB5C20, Size:0xA0, CRC32:0x17515135 +class cJob05ClimbEnemyAttackEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ClimbEnemyAttackLoop vftable:0x1BB5BD0, Size:0xB0, CRC32:0x199F1838 +class cJob05ClimbEnemyAttackLoop /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ClimbEnemyAttackStart vftable:0x1BB5B80, Size:0xB0, CRC32:0x22F30DE6 +class cJob05ClimbEnemyAttackStart /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom02_Pre vftable:0x1BB5CB8, Size:0x2C, CRC32:0xDDB6007 +class cJob05Custom02_Pre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom02_Shot vftable:0x1BB5D00, Size:0x28, CRC32:0x306A9A24 +class cJob05Custom02_Shot /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom03 vftable:0x1BB5E28, Size:0x28, CRC32:0x5C7BEB43 +class cJob05Custom03 /*: cJob05LightBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom03_End vftable:0x1BB5EC0, Size:0x28, CRC32:0x3B2645E7 +class cJob05Custom03_End /*: cJob05LightBase_End, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom03_Loop vftable:0x1BB5E70, Size:0x80, CRC32:0x716EDCD4 +class cJob05Custom03_Loop /*: cJob05LightBase_Loop, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom04 vftable:0x1BB5F08, Size:0x28, CRC32:0x421F7EE0 +class cJob05Custom04 /*: cJob05LightBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom04_End vftable:0x1BB5FA0, Size:0x28, CRC32:0x90699F7 +class cJob05Custom04_End /*: cJob05LightBase_End, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom04_Loop vftable:0x1BB5F50, Size:0x80, CRC32:0x6C6BEC6C +class cJob05Custom04_Loop /*: cJob05LightBase_Loop, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom05 vftable:0x1BB5FE8, Size:0x3C, CRC32:0x35184E76 +class cJob05Custom05 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom05_End vftable:0x1BB6030, Size:0x2C, CRC32:0x3466B047 +class cJob05Custom05_End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom06Chant vftable:0x1BB60C8, Size:0x80, CRC32:0x3F0BD7DF +class cJob05Custom06Chant /*: cJob05Chant, cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom06_Shot vftable:0x1BB6118, Size:0x2C, CRC32:0x2BFBD832 +class cJob05Custom06_Shot /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom07_Bomb_Begin vftable:0x1BB61A8, Size:0x38, CRC32:0x54023CE +class cJob05Custom07_Bomb_Begin /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom07_Bomb_Shot vftable:0x1BB61F0, Size:0x40, CRC32:0x6EB15344 +class cJob05Custom07_Bomb_Shot /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom07_Shot vftable:0x1BB6160, Size:0x28, CRC32:0x60A70B97 +class cJob05Custom07_Shot /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_CatchEnd vftable:0x1BB6498, Size:0x28, CRC32:0x1AAD989A +class cJob05Custom08_CatchEnd /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_CatchFailed vftable:0x1BB63F8, Size:0x28, CRC32:0x44DD73E +class cJob05Custom08_CatchFailed /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_CatchLoop vftable:0x1BB6450, Size:0x48, CRC32:0x5FFB5A88 +class cJob05Custom08_CatchLoop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_CatchSuccess vftable:0x1BB63A0, Size:0x28, CRC32:0x32980F7F +class cJob05Custom08_CatchSuccess /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_CatchWait vftable:0x1BB6348, Size:0x2C, CRC32:0x34AC483 +class cJob05Custom08_CatchWait /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_Pre vftable:0x1BB6280, Size:0xA0, CRC32:0x476B78A6 +class cJob05Custom08_Pre /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom08_Shot vftable:0x1BB62E0, Size:0x90, CRC32:0x11F1B942 +class cJob05Custom08_Shot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom09 vftable:0x1BB64F0, Size:0x28, CRC32:0x3CAE025D +class cJob05Custom09 /*: cJob05LightBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom09_End vftable:0x1BB6588, Size:0x28, CRC32:0x71965D46 +class cJob05Custom09_End /*: cJob05LightBase_End, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom09_Loop vftable:0x1BB6538, Size:0x80, CRC32:0x50F5FFB2 +class cJob05Custom09_Loop /*: cJob05LightBase_Loop, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom10 vftable:0x1BB65D0, Size:0x38, CRC32:0x5C698BB8 +class cJob05Custom10 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom10Failed vftable:0x1BB6618, Size:0x28, CRC32:0x3BC27824 +class cJob05Custom10Failed /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom10Success vftable:0x1BB6660, Size:0x28, CRC32:0x4FC579AA +class cJob05Custom10Success /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom11End vftable:0x1BB6738, Size:0x28, CRC32:0x5818FCAE +class cJob05Custom11End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom11Pre vftable:0x1BB66A8, Size:0x28, CRC32:0x5385F0FE +class cJob05Custom11Pre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom11Shot vftable:0x1BB66F0, Size:0x30, CRC32:0x74558E0C +class cJob05Custom11Shot /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom12End vftable:0x1BB6908, Size:0x28, CRC32:0x4AAD5340 +class cJob05Custom12End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom12Failed vftable:0x1BB6830, Size:0x28, CRC32:0x2C5D690D +class cJob05Custom12Failed /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom12Loop vftable:0x1BB68C0, Size:0x48, CRC32:0x39AD6189 +class cJob05Custom12Loop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom12Pre vftable:0x1BB6780, Size:0xA0, CRC32:0x41305F10 +class cJob05Custom12Pre /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom12Shot vftable:0x1BB67D0, Size:0x90, CRC32:0x33F5F4DC +class cJob05Custom12Shot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom12Success vftable:0x1BB6878, Size:0x28, CRC32:0xDE07ED7 +class cJob05Custom12Success /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom13 vftable:0x1BB6950, Size:0x60, CRC32:0x4560DA02 +class cJob05Custom13 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom13Attack vftable:0x1BB6998, Size:0x2C, CRC32:0x5361ECF5 +class cJob05Custom13Attack /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom13Cancel vftable:0x1BB69E0, Size:0x28, CRC32:0x42B704BC +class cJob05Custom13Cancel /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom14 vftable:0x1BB6A28, Size:0x28, CRC32:0x5B044FA1 +class cJob05Custom14 /*: cJob05LightBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom14_End vftable:0x1BB6AC0, Size:0x28, CRC32:0x425A4A52 +class cJob05Custom14_End /*: cJob05LightBase_End, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Custom14_Loop vftable:0x1BB6A70, Size:0x80, CRC32:0x4A1CE7D8 +class cJob05Custom14_Loop /*: cJob05LightBase_Loop, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05CustomAnchorLoopBase vftable:0x1BB6238, Size:0x48, CRC32:0xFA9CD1B +class cJob05CustomAnchorLoopBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05EelementEnchant vftable:0x1BB5AF0, Size:0x28, CRC32:0x18DF7503 +class cJob05EelementEnchant /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05EelementEnchantAir vftable:0x1BB5B38, Size:0x2C, CRC32:0x3D0EDB3E +class cJob05EelementEnchantAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05EelementEnchantAirPre vftable:0x1BB5A60, Size:0x2C, CRC32:0x67EC5967 +class cJob05EelementEnchantAirPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05EelementEnchantPre vftable:0x1BB5A18, Size:0x28, CRC32:0xA0F5C24 +class cJob05EelementEnchantPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ElementAttackBase vftable:0x1BB5868, Size:0x28, CRC32:0x501A25BE +class cJob05ElementAttackBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ElementChangeAirLoop vftable:0x1BB59D0, Size:0x2C, CRC32:0x19D944E6 +class cJob05ElementChangeAirLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ElementChangeEnd vftable:0x1BB5988, Size:0x34, CRC32:0x2F3A1AA0 +class cJob05ElementChangeEnd /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ElementChangeLoop vftable:0x1BB5940, Size:0x28, CRC32:0x194214B8 +class cJob05ElementChangeLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ElementEnchantBase vftable:0x1BB5AA8, Size:0x28, CRC32:0x1EE448EC +class cJob05ElementEnchantBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ElementalGuard vftable:0x1BB5C70, Size:0x28, CRC32:0x735EAC62 +class cJob05ElementalGuard /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GCBackStep vftable:0x1BB5790, Size:0x40, CRC32:0x28861A48 +class cJob05GCBackStep /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GCHateAttack vftable:0x1BB5748, Size:0x28, CRC32:0x5B4E1DCE +class cJob05GCHateAttack /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GCHateAttackPre vftable:0x1BB5700, Size:0x2C, CRC32:0x39541B09 +class cJob05GCHateAttackPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05Guard vftable:0x1BB5550, Size:0x2C, CRC32:0x11E73869 +class cJob05Guard /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardAir vftable:0x1BB56B8, Size:0x2C, CRC32:0x159B1C17 +class cJob05GuardAir /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardAirEnd vftable:0x1BB55E0, Size:0x2C, CRC32:0x5F330E32 +class cJob05GuardAirEnd /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardAirReaction vftable:0x1BB5670, Size:0x2C, CRC32:0x31228A32 +class cJob05GuardAirReaction /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardAirStart vftable:0x1BB5598, Size:0x2C, CRC32:0x16669F26 +class cJob05GuardAirStart /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardBase vftable:0x1BB53E8, Size:0x28, CRC32:0x3BA3441B +class cJob05GuardBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardEnd vftable:0x1BB5478, Size:0x28, CRC32:0x2907975D +class cJob05GuardEnd /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardJump vftable:0x1BB54C0, Size:0x2C, CRC32:0x5CA4BC6C +class cJob05GuardJump /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardLand vftable:0x1BB5508, Size:0x28, CRC32:0x53176FA2 +class cJob05GuardLand /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardReaction vftable:0x1BB5628, Size:0x28, CRC32:0xB8CCFF7 +class cJob05GuardReaction /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05GuardStart vftable:0x1BB5430, Size:0x28, CRC32:0x7DD0359A +class cJob05GuardStart /*: cJob05GuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05LightBase vftable:0x1BB5D48, Size:0x28, CRC32:0x339F7DE7 +class cJob05LightBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05LightBase_End vftable:0x1BB5DE0, Size:0x28, CRC32:0x67AE45D6 +class cJob05LightBase_End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05LightBase_Loop vftable:0x1BB5D90, Size:0x80, CRC32:0x206C54EE +class cJob05LightBase_Loop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ProvokeEnd00 vftable:0x1BB5310, Size:0x28, CRC32:0xAD8C9BD +class cJob05ProvokeEnd00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ProvokeEndAir vftable:0x1BB53A0, Size:0x2C, CRC32:0x359BE392 +class cJob05ProvokeEndAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ProvokeLoop00 vftable:0x1BB52C8, Size:0x2C, CRC32:0x2EF755ED +class cJob05ProvokeLoop00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ProvokeLoopAir vftable:0x1BB5358, Size:0x2C, CRC32:0x5ED49DFA +class cJob05ProvokeLoopAir /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob05ProvokeStart vftable:0x1BB5280, Size:0x28, CRC32:0x6FE97681 +class cJob05ProvokeStart /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06AnchorDischarge vftable:0x1BB81D8, Size:0x44, CRC32:0x78143F8C +class cJob06AnchorDischarge /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06AnchorDischargeEnd vftable:0x1BB8220, Size:0x28, CRC32:0x6DDBB09E +class cJob06AnchorDischargeEnd /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06AnchorDischargeStart vftable:0x1BB8190, Size:0x28, CRC32:0x380DC0A0 +class cJob06AnchorDischargeStart /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06AnchorFailed vftable:0x1BB8268, Size:0x28, CRC32:0x54C593D +class cJob06AnchorFailed /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BackStep vftable:0x1BB7848, Size:0x50, CRC32:0x5AB80BD0 +class cJob06BackStep /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BlackHizePreShot vftable:0x1BB7998, Size:0xA0, CRC32:0x4F75A9FD +class cJob06BlackHizePreShot /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BlackHizeShot vftable:0x1BB79E8, Size:0x80, CRC32:0x6169EFF0 +class cJob06BlackHizeShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BlackZoneShot vftable:0x1BB7BF8, Size:0x80, CRC32:0x2460AC11 +class cJob06BlackZoneShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BlizzardArrowBegin vftable:0x1BB7C58, Size:0x80, CRC32:0x3722A126 +class cJob06BlizzardArrowBegin /*: cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BlizzardArrowNextBegin vftable:0x1BB7CA8, Size:0x80, CRC32:0x5162AECC +class cJob06BlizzardArrowNextBegin /*: cHmMagicChantCustomNextChant, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06BlizzardArrowShot vftable:0x1BB7CF8, Size:0x80, CRC32:0x313893FD +class cJob06BlizzardArrowShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ChantClimbEnemyAttack vftable:0x1BB7708, Size:0xB0, CRC32:0xEA4BC38 +class cJob06ChantClimbEnemyAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ClimbEnemyAttack vftable:0x1BB77A8, Size:0xA0, CRC32:0x2A1D899F +class cJob06ClimbEnemyAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ClimbEnemyAttackCancel vftable:0x1BB77F8, Size:0xA0, CRC32:0x46224066 +class cJob06ClimbEnemyAttackCancel /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06FireBreath vftable:0x1BB78D8, Size:0x80, CRC32:0x16E336E4 +class cJob06FireBreath /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06FireBreathLv2 vftable:0x1BB7938, Size:0x80, CRC32:0x56C6A189 +class cJob06FireBreathLv2 /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06Floating vftable:0x1BB7890, Size:0x40, CRC32:0x4B6B4798 +class cJob06Floating /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06FrameWall vftable:0x1BB7A48, Size:0x80, CRC32:0x518B6A2B +class cJob06FrameWall /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06IceSpearBegin vftable:0x1BB7EF8, Size:0x80, CRC32:0x39811411 +class cJob06IceSpearBegin /*: cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06IceSpearChargeShotSpear vftable:0x1BB80D0, Size:0x80, CRC32:0x3130596D +class cJob06IceSpearChargeShotSpear /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06IceSpearMode vftable:0x1BB7FA8, Size:0x160, CRC32:0x10AF9270 +class cJob06IceSpearMode /*: cHmFreeMagic, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06IceSpearShot vftable:0x1BB7F48, Size:0x80, CRC32:0x2C625D60 +class cJob06IceSpearShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06IceSpearShotEnd vftable:0x1BB8088, Size:0x28, CRC32:0x238E44A2 +class cJob06IceSpearShotEnd /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06IceSpearShotSpearPre vftable:0x1BB8038, Size:0xA0, CRC32:0x24F3D814 +class cJob06IceSpearShotSpearPre /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06LightningAnchorShot vftable:0x1BB8130, Size:0x80, CRC32:0x382A86A0 +class cJob06LightningAnchorShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06MeteorFallBegin vftable:0x1BB7AA8, Size:0x90, CRC32:0x2F7E5447 +class cJob06MeteorFallBegin /*: cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06MeteorFallNextBegin vftable:0x1BB7AF8, Size:0x90, CRC32:0x92D86BF +class cJob06MeteorFallNextBegin /*: cHmMagicChantCustomNextChant, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06MeteorFallPreShot vftable:0x1BB7B48, Size:0xA0, CRC32:0x697AA9CF +class cJob06MeteorFallPreShot /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06MeteorFallShot vftable:0x1BB7B98, Size:0x80, CRC32:0x3FED4EBF +class cJob06MeteorFallShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06PreClimbEnemyAttack vftable:0x1BB7758, Size:0xB0, CRC32:0x3D27966A +class cJob06PreClimbEnemyAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ProminentSphereBegin vftable:0x1BB7D58, Size:0x80, CRC32:0x3B22B084 +class cJob06ProminentSphereBegin /*: cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ProminentSphereControlSphere vftable:0x1BB7DF8, Size:0xB0, CRC32:0x19930BE2 +class cJob06ProminentSphereControlSphere /*: cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ProminentSphereNextChant vftable:0x1BB7DA8, Size:0xA0, CRC32:0x5BF6184C +class cJob06ProminentSphereNextChant /*: cHmMagicChantCustomNextChant, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ProminentSpherePreShot vftable:0x1BB7E48, Size:0xB0, CRC32:0x2ECA9F7F +class cJob06ProminentSpherePreShot /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ProminentSphereShot vftable:0x1BB7E98, Size:0x80, CRC32:0x7320936 +class cJob06ProminentSphereShot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ThunderCageExtra02Chant vftable:0x1BB82B0, Size:0x90, CRC32:0x74AAC303 +class cJob06ThunderCageExtra02Chant /*: cHmMagicChantCustomBegin, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ThunderCageExtra02PreShot vftable:0x1BB8300, Size:0xB0, CRC32:0xACB0D28 +class cJob06ThunderCageExtra02PreShot /*: cHmMagicChantCustomPreShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob06ThunderCageExtra02Shot vftable:0x1BB8350, Size:0x80, CRC32:0x28E91A9C +class cJob06ThunderCageExtra02Shot /*: cHmMagicChantCustomShot, cHmMagicChantCustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07AttackAirL00 vftable:0x1BB8D58, Size:0x30, CRC32:0x61512D94 +class cJob07AttackAirL00 /*: cJob07NormalBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07AttackAirL01 vftable:0x1BB8DA0, Size:0x34, CRC32:0x16561D02 +class cJob07AttackAirL01 /*: cJob07NormalBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07AttackAirS00 vftable:0x1BB8D10, Size:0x30, CRC32:0x762BC9D9 +class cJob07AttackAirS00 /*: cJob07NormalBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07AttackL_Charge vftable:0x1BB8DE8, Size:0x28, CRC32:0x6CE87391 +class cJob07AttackL_Charge /*: cJob07NormalBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07AttackL_Release vftable:0x1BB8E30, Size:0x30, CRC32:0x6A403820 +class cJob07AttackL_Release /*: cJob07NormalBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07AttackS vftable:0x1BB8CC8, Size:0x28, CRC32:0x6D1C5C51 +class cJob07AttackS /*: cJob07NormalBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07ClimbEnemyAttack vftable:0x1BB8F10, Size:0xB0, CRC32:0x2DBB42DC +class cJob07ClimbEnemyAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07ClimbEnemyAttackEnd vftable:0x1BB8F60, Size:0xA0, CRC32:0x5D9F27B9 +class cJob07ClimbEnemyAttackEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07ClimbEnemyAttackStart vftable:0x1BB8EC0, Size:0xB0, CRC32:0xCA3C466 +class cJob07ClimbEnemyAttackStart /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom01UpthrustChop vftable:0x1BB8FB0, Size:0x2C, CRC32:0x55CC7B38 +class cJob07Custom01UpthrustChop /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom02ShaftImpetus vftable:0x1BB8FF8, Size:0x30, CRC32:0x46FA04BB +class cJob07Custom02ShaftImpetus /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom02ShaftImpetusSndAtk vftable:0x1BB9088, Size:0x30, CRC32:0x60767233 +class cJob07Custom02ShaftImpetusSndAtk /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom02ShaftImpetusSndAtkPre vftable:0x1BB9040, Size:0x2C, CRC32:0x4E2F3447 +class cJob07Custom02ShaftImpetusSndAtkPre /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom03MajinStab vftable:0x1BB9118, Size:0x50, CRC32:0x775BCFC1 +class cJob07Custom03MajinStab /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom03MajinStabBegin vftable:0x1BB90D0, Size:0x2C, CRC32:0x3C29C41C +class cJob07Custom03MajinStabBegin /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom03MajinStabEnd vftable:0x1BB9160, Size:0x2C, CRC32:0x6746133E +class cJob07Custom03MajinStabEnd /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom04 vftable:0x1BB91A8, Size:0x28, CRC32:0x6CE95666 +class cJob07Custom04 /*: cHumanCustomDodgeBeforeBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom04Pursuit vftable:0x1BB91F0, Size:0x28, CRC32:0x554A7948 +class cJob07Custom04Pursuit /*: cHumanCustomDodgeAfterBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom05ColossalHelix vftable:0x1BB9238, Size:0x30, CRC32:0x210ED9D5 +class cJob07Custom05ColossalHelix /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom06MajinBreakCharge vftable:0x1BB9280, Size:0x30, CRC32:0x71B9210B +class cJob07Custom06MajinBreakCharge /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom06MajinBreakRelease vftable:0x1BB92C8, Size:0x34, CRC32:0x7A871328 +class cJob07Custom06MajinBreakRelease /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom07DivineCounter00 vftable:0x1BB9310, Size:0x34, CRC32:0x26217F71 +class cJob07Custom07DivineCounter00 /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom07DivineCounter01 vftable:0x1BB9358, Size:0x2C, CRC32:0x51264FE7 +class cJob07Custom07DivineCounter01 /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom08AirStrike vftable:0x1BB93A0, Size:0x2C, CRC32:0x9112087 +class cJob07Custom08AirStrike /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom09AttitudeOfFury vftable:0x1BB93E8, Size:0x34, CRC32:0x7CF25A83 +class cJob07Custom09AttitudeOfFury /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom10WindmillSword vftable:0x1BB9430, Size:0x50, CRC32:0x1DA68201 +class cJob07Custom10WindmillSword /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom10WindmillSwordFinish vftable:0x1BB9478, Size:0x2C, CRC32:0xB1612A0 +class cJob07Custom10WindmillSwordFinish /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom11PurificationBringerBegin vftable:0x1BB94C0, Size:0x2C, CRC32:0x1A61A2B9 +class cJob07Custom11PurificationBringerBegin /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom11PurificationBringerFinish vftable:0x1BB9550, Size:0x2C, CRC32:0x2DCB0F61 +class cJob07Custom11PurificationBringerFinish /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom11PurificationBringerLoop vftable:0x1BB9508, Size:0x30, CRC32:0x7A8C1457 +class cJob07Custom11PurificationBringerLoop /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom12CaelumMitte vftable:0x1BB9598, Size:0x2C, CRC32:0x62A1B3A +class cJob07Custom12CaelumMitte /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom12CaelumMitteJump vftable:0x1BB95E0, Size:0x30, CRC32:0x2F284B7D +class cJob07Custom12CaelumMitteJump /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom12CaelumMitteLand vftable:0x1BB9628, Size:0x3C, CRC32:0x209B98B3 +class cJob07Custom12CaelumMitteLand /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom13 vftable:0x1BB9670, Size:0xC0, CRC32:0x6B96F284 +class cJob07Custom13 /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom13End vftable:0x1BB96C0, Size:0xA0, CRC32:0x1E2AAABA +class cJob07Custom13End /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom14 vftable:0x1BB9710, Size:0x30, CRC32:0x75F26727 +class cJob07Custom14 /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom14Air vftable:0x1BB97A0, Size:0x30, CRC32:0x3F611949 +class cJob07Custom14Air /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom14End vftable:0x1BB9830, Size:0x2C, CRC32:0x3FD9203 +class cJob07Custom14End /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom14Land vftable:0x1BB97E8, Size:0x2C, CRC32:0x5FEEE954 +class cJob07Custom14Land /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Custom14Release vftable:0x1BB9758, Size:0x2C, CRC32:0x3D688E9C +class cJob07Custom14Release /*: cJob07CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07CustomBase vftable:0x1BB8C80, Size:0x2C, CRC32:0x23246FA7 +class cJob07CustomBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07Endure vftable:0x1BB8E78, Size:0x28, CRC32:0x6A49EEC2 +class cJob07Endure /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob07NormalBase vftable:0x1BB8C38, Size:0x28, CRC32:0x56B2BDBB +class cJob07NormalBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob08ClimbAttack vftable:0x1BBA1E0, Size:0xB0, CRC32:0x7023E3D6 +class cJob08ClimbAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob08Custom12 vftable:0x1BBA230, Size:0x70, CRC32:0x43280DC3 +class cJob08Custom12 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob08Custom12End vftable:0x1BBA278, Size:0x28, CRC32:0x540252AE +class cJob08Custom12End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob08MyHeal vftable:0x1BBA198, Size:0x30, CRC32:0x4C631D14 +class cJob08MyHeal /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AirAttackS vftable:0x1BBA970, Size:0x30, CRC32:0x71E17147 +class cJob09AirAttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLClimbBase vftable:0x1BBA920, Size:0xA0, CRC32:0x12AA5A43 +class cJob09AttackLClimbBase /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLFinish vftable:0x1BBB518, Size:0x50, CRC32:0x4D6EA466 +class cJob09AttackLFinish /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLFinishClimb vftable:0x1BBB578, Size:0xC0, CRC32:0x9AF54CE +class cJob09AttackLFinishClimb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLLoop vftable:0x1BBB450, Size:0x50, CRC32:0x573C20A +class cJob09AttackLLoop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLLoopClimb vftable:0x1BBB4B0, Size:0xC0, CRC32:0x677E9373 +class cJob09AttackLLoopClimb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLStart vftable:0x1BBB388, Size:0x50, CRC32:0x6AB8B0BC +class cJob09AttackLStart /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLStartClimb vftable:0x1BBB3E8, Size:0xC0, CRC32:0x7DD39052 +class cJob09AttackLStartClimb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLStop vftable:0x1BBB5E0, Size:0x2C, CRC32:0x1D7AC952 +class cJob09AttackLStop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackLStopClimb vftable:0x1BBB640, Size:0xB0, CRC32:0x35D633AE +class cJob09AttackLStopClimb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AttackS vftable:0x1BBA7B8, Size:0x30, CRC32:0x78964E63 +class cJob09AttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09AvoidAlchemy vftable:0x1BBA8D8, Size:0x50, CRC32:0x3FEA31D9 +class cJob09AvoidAlchemy /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom01 vftable:0x1BBAA00, Size:0x2C, CRC32:0x5441797B +class cJob09Custom01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom01Attack vftable:0x1BBAA48, Size:0x2C, CRC32:0x4DA154A6 +class cJob09Custom01Attack /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom02 vftable:0x1BBAA90, Size:0x28, CRC32:0x4D4828C1 +class cJob09Custom02 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom02AirStart vftable:0x1BBAAD8, Size:0x2C, CRC32:0x2C5FCEB2 +class cJob09Custom02AirStart /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom02Finish vftable:0x1BBAB20, Size:0x30, CRC32:0x1B408818 +class cJob09Custom02Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom03 vftable:0x1BBAB68, Size:0x50, CRC32:0x3A4F1857 +class cJob09Custom03 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom03Attack vftable:0x1BBABB0, Size:0x50, CRC32:0x5A3E458F +class cJob09Custom03Attack /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom03Ex01Climb vftable:0x1BBAC40, Size:0xB0, CRC32:0x7870155E +class cJob09Custom03Ex01Climb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom03Stop vftable:0x1BBABF8, Size:0x28, CRC32:0x4D22293F +class cJob09Custom03Stop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom04 vftable:0x1BBAC90, Size:0x28, CRC32:0x242B8DF4 +class cJob09Custom04 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom05 vftable:0x1BBACD8, Size:0x28, CRC32:0x532CBD62 +class cJob09Custom05 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom05Finish vftable:0x1BBAD20, Size:0x28, CRC32:0x5EE7B696 +class cJob09Custom05Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom06 vftable:0x1BBAD68, Size:0x38, CRC32:0x4A25ECD8 +class cJob09Custom06 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom06Air vftable:0x1BBAE40, Size:0x38, CRC32:0x41392B6C +class cJob09Custom06Air /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom06AirPre vftable:0x1BBADF8, Size:0x2C, CRC32:0x24D5E777 +class cJob09Custom06AirPre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom06Jump vftable:0x1BBADB0, Size:0x2C, CRC32:0x1B27B6EF +class cJob09Custom06Jump /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom07 vftable:0x1BBAE88, Size:0x28, CRC32:0x3D22DC4E +class cJob09Custom07 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom08 vftable:0x1BBAED0, Size:0x30, CRC32:0x2D9DC1DF +class cJob09Custom08 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom08Finish vftable:0x1BBAF18, Size:0x30, CRC32:0x3F30D756 +class cJob09Custom08Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom09 vftable:0x1BBB848, Size:0x30, CRC32:0x5A9AF149 +class cJob09Custom09 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom09Climb vftable:0x1BBB8A0, Size:0xB0, CRC32:0x3A20D45A +class cJob09Custom09Climb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom09Finish vftable:0x1BBB900, Size:0x30, CRC32:0x1947DCE2 +class cJob09Custom09Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom09FinishClimb vftable:0x1BBB960, Size:0xB0, CRC32:0x318AB79B +class cJob09Custom09FinishClimb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom09Release vftable:0x1BBB9C8, Size:0x2C, CRC32:0x119479A5 +class cJob09Custom09Release /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom09ReleaseClimb vftable:0x1BBBA28, Size:0xB0, CRC32:0x5D7943DF +class cJob09Custom09ReleaseClimb /*: cJob09AttackLClimbBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom10AirStart vftable:0x1BBAFA8, Size:0x2C, CRC32:0x6D6B8D0A +class cJob09Custom10AirStart /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom10ComAction vftable:0x1BBAFF0, Size:0x30, CRC32:0x7161CB4E +class cJob09Custom10ComAction /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom10ComLand vftable:0x1BBB038, Size:0x28, CRC32:0x11A3575F +class cJob09Custom10ComLand /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom10LandStart vftable:0x1BBAF60, Size:0x2C, CRC32:0x70E7E4ED +class cJob09Custom10LandStart /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom11 vftable:0x1BBB080, Size:0x2C, CRC32:0x4D5A483A +class cJob09Custom11 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom11Air vftable:0x1BBB110, Size:0x34, CRC32:0x618E3A65 +class cJob09Custom11Air /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom11AirShot vftable:0x1BBB158, Size:0x30, CRC32:0x7D78F8C5 +class cJob09Custom11AirShot /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom11Shot vftable:0x1BBB0C8, Size:0x2C, CRC32:0x6EEF37F7 +class cJob09Custom11Shot /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom12BarrierAlchem vftable:0x1BBB230, Size:0x30, CRC32:0x15888EA8 +class cJob09Custom12BarrierAlchem /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom12BarrierAlchemFinish vftable:0x1BBB2C0, Size:0x28, CRC32:0x3E0B3632 +class cJob09Custom12BarrierAlchemFinish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom12BarrierPre vftable:0x1BBB1E8, Size:0x28, CRC32:0x5DF2BF94 +class cJob09Custom12BarrierPre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom12End vftable:0x1BBB278, Size:0x28, CRC32:0x4FA71EC1 +class cJob09Custom12End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09Custom12StartLoop vftable:0x1BBB1A0, Size:0x30, CRC32:0x2416B105 +class cJob09Custom12StartLoop /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09DelayAttack vftable:0x1BBA800, Size:0x34, CRC32:0x464909C4 +class cJob09DelayAttack /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09ReleaseAlchemy vftable:0x1BBA890, Size:0x30, CRC32:0x184837E +class cJob09ReleaseAlchemy /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09ReleaseAlchemyPre vftable:0x1BBA848, Size:0x30, CRC32:0x687969F9 +class cJob09ReleaseAlchemyPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob09SecondJump vftable:0x1BBA9B8, Size:0x30, CRC32:0x42153784 +class cJob09SecondJump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10ActCustom01 vftable:0x1B18370, Size:0x2C, CRC32:0x4C4CE0C2 +class cJob10ActCustom01 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10ActCustom01Jump vftable:0x1B183B8, Size:0x2C, CRC32:0x1D7D0E8B +class cJob10ActCustom01Jump /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10ActCustom01Land vftable:0x1B18400, Size:0x28, CRC32:0x12CEDD45 +class cJob10ActCustom01Land /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AirAttackL vftable:0x1B18090, Size:0x30, CRC32:0x1C010E58 +class cJob10AirAttackL /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AirAttackLLand vftable:0x1B180D8, Size:0x2C, CRC32:0x4DF34193 +class cJob10AirAttackLLand /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AirAttackS vftable:0x1B18048, Size:0x30, CRC32:0x110903AD +class cJob10AirAttackS /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AirSupportAct vftable:0x1B18298, Size:0x2C, CRC32:0x3DA531EA +class cJob10AirSupportAct /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AirSupportActPre vftable:0x1B18250, Size:0x2C, CRC32:0x8F9A50D +class cJob10AirSupportActPre /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AttackS vftable:0x1B17F70, Size:0x28, CRC32:0x70A2410B +class cJob10AttackS /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10AttackSFinish vftable:0x1B17FB8, Size:0x28, CRC32:0x4B556CE9 +class cJob10AttackSFinish /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10ClimbAttack vftable:0x1B18120, Size:0xB0, CRC32:0x2BB94CAD +class cJob10ClimbAttack /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10ClimbAttackEnd vftable:0x1B18170, Size:0xA0, CRC32:0x782169FA +class cJob10ClimbAttackEnd /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10CounterSupport vftable:0x1B18D08, Size:0x30, CRC32:0x1AC61C93 +class cJob10CounterSupport /*: cJob10CustomAttackBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10CounterSupportFinish vftable:0x1B18D50, Size:0x2C, CRC32:0x6AD2C69F +class cJob10CounterSupportFinish /*: cJob10CustomAttackBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom02 vftable:0x1B184D8, Size:0x2C, CRC32:0xE29F5A4 +class cJob10Custom02 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom02Air vftable:0x1B18520, Size:0x2C, CRC32:0xE645F2F +class cJob10Custom02Air /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom03 vftable:0x1B18568, Size:0x40, CRC32:0x792EC532 +class cJob10Custom03 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom03End vftable:0x1B185B0, Size:0x28, CRC32:0xA44B300 +class cJob10Custom03End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom03Finish vftable:0x1B185F8, Size:0x28, CRC32:0x652D0552 +class cJob10Custom03Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom04 vftable:0x1B18640, Size:0x60, CRC32:0x674A5091 +class cJob10Custom04 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom04Atk vftable:0x1B18688, Size:0x50, CRC32:0x3008C42F +class cJob10Custom04Atk /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom05 vftable:0x1B18718, Size:0x28, CRC32:0x104D6007 +class cJob10Custom05 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom05Fire vftable:0x1B187A8, Size:0x2C, CRC32:0x39702878 +class cJob10Custom05Fire /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom05FireAir vftable:0x1B18838, Size:0x30, CRC32:0x2CD6C1CE +class cJob10Custom05FireAir /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom05FireAirPre vftable:0x1B187F0, Size:0x30, CRC32:0x6A0D8A9B +class cJob10Custom05FireAirPre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom05FirePre vftable:0x1B18760, Size:0x2C, CRC32:0x1BD746D4 +class cJob10Custom05FirePre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom05Pre vftable:0x1B186D0, Size:0x28, CRC32:0x24B2E08C +class cJob10Custom05Pre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom06 vftable:0x1B188C8, Size:0x28, CRC32:0x94431BD +class cJob10Custom06 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom06Fire vftable:0x1B18910, Size:0x2C, CRC32:0x7ED052A8 +class cJob10Custom06Fire /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom06FireClimb vftable:0x1B18958, Size:0xB0, CRC32:0x7CAF656E +class cJob10Custom06FireClimb /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom06Pre vftable:0x1B18880, Size:0x28, CRC32:0x36074F62 +class cJob10Custom06Pre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom07 vftable:0x1B189A8, Size:0x28, CRC32:0x7E43012B +class cJob10Custom07 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom07Shl vftable:0x1B189F0, Size:0x28, CRC32:0x450CD421 +class cJob10Custom07Shl /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom08 vftable:0x1B18A38, Size:0x2C, CRC32:0x6EFC1CBA +class cJob10Custom08 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom08End vftable:0x1B18B10, Size:0x28, CRC32:0x5D453401 +class cJob10Custom08End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom08Shot vftable:0x1B18AC8, Size:0x2C, CRC32:0x32396DBD +class cJob10Custom08Shot /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Custom08ShotPre vftable:0x1B18A80, Size:0x28, CRC32:0xEBD5000 +class cJob10Custom08ShotPre /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10CustomAttackBase vftable:0x1B18328, Size:0x28, CRC32:0x174AEF6C +class cJob10CustomAttackBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10Dodge vftable:0x1B18000, Size:0x34, CRC32:0x59207B2C +class cJob10Dodge /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10ExecuteBoost vftable:0x1B182E0, Size:0x2C, CRC32:0x5D58C258 +class cJob10ExecuteBoost /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10FinishRampage vftable:0x1B18BA0, Size:0x28, CRC32:0x7EC45D8C +class cJob10FinishRampage /*: cJob10CustomAttackBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10FinishRampageJump vftable:0x1B18BE8, Size:0x30, CRC32:0x10BD0F05 +class cJob10FinishRampageJump /*: cJob10CustomAttackBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10FinishRampageLand vftable:0x1B18C30, Size:0x28, CRC32:0x1F0EDCCB +class cJob10FinishRampageLand /*: cJob10CustomAttackBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10LimitBreackSupport vftable:0x1B18CC0, Size:0x28, CRC32:0x74ED4560 +class cJob10LimitBreackSupport /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10LimitBreackSupportPre vftable:0x1B18C78, Size:0x28, CRC32:0x570F4E42 +class cJob10LimitBreackSupportPre /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10NormalAttackBase vftable:0x1B17F28, Size:0x28, CRC32:0x3B4F0EF6 +class cJob10NormalAttackBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10StartRampage vftable:0x1B18B58, Size:0x2C, CRC32:0x780A8554 +class cJob10StartRampage /*: cJob10CustomAttackBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10SupportAct vftable:0x1B18208, Size:0x28, CRC32:0x631B473E +class cJob10SupportAct /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob10SupportActPre vftable:0x1B181C0, Size:0x28, CRC32:0x57C57844 +class cJob10SupportActPre /*: cJob10NormalAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackAirS vftable:0x1B197C0, Size:0x38, CRC32:0x4E1CF8D0 +class cJob11AttackAirS /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackAirS_Fall_Stance vftable:0x1B19898, Size:0x38, CRC32:0x5654CA1A +class cJob11AttackAirS_Fall_Stance /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackAirS_Jump vftable:0x1B19850, Size:0x38, CRC32:0x2D6757A0 +class cJob11AttackAirS_Jump /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackAirS_Land_Slash vftable:0x1B198E0, Size:0x30, CRC32:0x1992E1F2 +class cJob11AttackAirS_Land_Slash /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackAirS_Lever vftable:0x1B19808, Size:0x38, CRC32:0x106FDC15 +class cJob11AttackAirS_Lever /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackBase vftable:0x1B196E8, Size:0x30, CRC32:0x41BA25E +class cJob11AttackBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackDelayCombo vftable:0x1B19778, Size:0x30, CRC32:0x46935436 +class cJob11AttackDelayCombo /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11AttackS vftable:0x1B19730, Size:0x30, CRC32:0x3C084195 +class cJob11AttackS /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Avoid vftable:0x1B19928, Size:0x50, CRC32:0x125CCD15 +class cJob11Avoid /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11BackLeap_Begin vftable:0x1B19B40, Size:0x34, CRC32:0x61B510A5 +class cJob11BackLeap_Begin /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11BackLeap_Jump vftable:0x1B19BD0, Size:0x50, CRC32:0x19F9BD65 +class cJob11BackLeap_Jump /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11BackLeap_Land vftable:0x1B19C18, Size:0x38, CRC32:0x164A6EAB +class cJob11BackLeap_Land /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11BackLeap_Shot vftable:0x1B19B88, Size:0x30, CRC32:0x154D33C8 +class cJob11BackLeap_Shot /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11ClimeEnemyAttackBase vftable:0x1B19E60, Size:0xA0, CRC32:0x5C63B9 +class cJob11ClimeEnemyAttackBase /*: cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11ClimeEnemyAttackEnd vftable:0x1B19F00, Size:0xA0, CRC32:0x5D6736E8 +class cJob11ClimeEnemyAttackEnd /*: cJob11ClimeEnemyAttackBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11ClimeEnemyAttackStart vftable:0x1B19EB0, Size:0xB0, CRC32:0x45B30879 +class cJob11ClimeEnemyAttackStart /*: cJob11ClimeEnemyAttackBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom01Begin vftable:0x1B19FE0, Size:0x3C, CRC32:0x7BFD51F6 +class cJob11Custom01Begin /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom01End vftable:0x1B1A028, Size:0x3C, CRC32:0x3BE837E4 +class cJob11Custom01End /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom02 vftable:0x1B1A070, Size:0x30, CRC32:0x1952E1E7 +class cJob11Custom02 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom03 vftable:0x1B1A0B8, Size:0x30, CRC32:0x6E55D171 +class cJob11Custom03 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom03Finish vftable:0x1B1A100, Size:0x30, CRC32:0x5CD6DEBA +class cJob11Custom03Finish /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom04 vftable:0x1B1A148, Size:0x34, CRC32:0x703144D2 +class cJob11Custom04 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom05 vftable:0x1B1A190, Size:0x2C, CRC32:0x7367444 +class cJob11Custom05 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom05Climb vftable:0x1B1A220, Size:0xB0, CRC32:0x4740D1FF +class cJob11Custom05Climb /*: cJob11ClimeEnemyAttackBase, cHumanActEnemyClimbBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom05Hit vftable:0x1B1A1D8, Size:0x2C, CRC32:0x6EA4B543 +class cJob11Custom05Hit /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom06 vftable:0x1B1A270, Size:0x30, CRC32:0x1E3F25FE +class cJob11Custom06 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom06Cancel vftable:0x1B1A300, Size:0x2C, CRC32:0x7831DF77 +class cJob11Custom06Cancel /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom06Slash vftable:0x1B1A2B8, Size:0x34, CRC32:0x1BB3B3AA +class cJob11Custom06Slash /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom07 vftable:0x1B1A348, Size:0x30, CRC32:0x69381568 +class cJob11Custom07 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom07Blast vftable:0x1B1A3D8, Size:0x34, CRC32:0x196E8272 +class cJob11Custom07Blast /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom07Cancel vftable:0x1B1A390, Size:0x2C, CRC32:0x5E46D4C3 +class cJob11Custom07Cancel /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom07Finish vftable:0x1B1A420, Size:0x2C, CRC32:0x2899FAA9 +class cJob11Custom07Finish /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom08 vftable:0x1B1A468, Size:0x30, CRC32:0x798708F9 +class cJob11Custom08 /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom08Blast vftable:0x1B1A4F8, Size:0x3C, CRC32:0x683830A7 +class cJob11Custom08Blast /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom08Cancel vftable:0x1B1A4B0, Size:0x2C, CRC32:0x280EA42A +class cJob11Custom08Cancel /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11Custom08Finish vftable:0x1B1A540, Size:0x2C, CRC32:0x5ED18A40 +class cJob11Custom08Finish /*: cJob11CustomBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11CustomBase vftable:0x1B19F98, Size:0x2C, CRC32:0x5034E98B +class cJob11CustomBase /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11MagicShot vftable:0x1B19A68, Size:0x80, CRC32:0x4D4BE346 +class cJob11MagicShot /*: cJob11MagicShotBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11MagicShotAir vftable:0x1B19AF8, Size:0x80, CRC32:0x1B26EE81 +class cJob11MagicShotAir /*: cJob11MagicShotBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11MagicShotBase vftable:0x1B19A20, Size:0x70, CRC32:0x2241CF98 +class cJob11MagicShotBase /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11MagicShotBase::cSort vftable:0x1B19A08, Size:0x10, CRC32:0x195A6507 +class cJob11MagicShotBase::cSort /*: MtObject*/ { +}; + +// cJob11MagicShotStep vftable:0x1B19AB0, Size:0xA0, CRC32:0x214CCFC5 +class cJob11MagicShotStep /*: cJob11MagicShotBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11MarkShot vftable:0x1B199B8, Size:0x48, CRC32:0x280FB832 +class cJob11MarkShot /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11MarkShotPre vftable:0x1B19970, Size:0x38, CRC32:0x5721A864 +class cJob11MarkShotPre /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11NoCharm vftable:0x1B19F50, Size:0x30, CRC32:0x14BD88E5 +class cJob11NoCharm /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11OverBraid vftable:0x1B19D38, Size:0x70, CRC32:0x4B5E5201 +class cJob11OverBraid /*: cJob11PureMagicBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11OverBraidCancel vftable:0x1B19E18, Size:0x30, CRC32:0x5FDF2FD9 +class cJob11OverBraidCancel /*: cJob11PureMagicBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11OverBraidEnd vftable:0x1B19DD0, Size:0x30, CRC32:0x426C859A +class cJob11OverBraidEnd /*: cJob11PureMagicBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11OverBraidShot vftable:0x1B19D80, Size:0x34, CRC32:0x557B0EC0 +class cJob11OverBraidShot /*: cJob11PureMagicBase, cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11PureMagicBase vftable:0x1B19CF0, Size:0x30, CRC32:0x64E382EF +class cJob11PureMagicBase /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11ReturnShift_Appear vftable:0x1B19CA8, Size:0x38, CRC32:0x3DFEEB9 +class cJob11ReturnShift_Appear /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob11ReturnShift_Begin vftable:0x1B19C60, Size:0x38, CRC32:0x6C088FE5 +class cJob11ReturnShift_Begin /*: cJob11AttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob5ElementAttack vftable:0x1BB58B0, Size:0x28, CRC32:0x3AD91644 +class cJob5ElementAttack /*: cJob05ElementAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob5ElementAttackAir vftable:0x1BB58F8, Size:0x2C, CRC32:0x6F68DD88 +class cJob5ElementAttackAir /*: cJob05ElementAttackBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJob5ElementAttackAirPre vftable:0x1BB5820, Size:0x30, CRC32:0x54B4B8FC +class cJob5ElementAttackAirPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJob5ElementAttackPre vftable:0x1BB57D8, Size:0x2C, CRC32:0x58695A92 +class cJob5ElementAttackPre /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobActBase vftable:0x1BBC0B8, Size:0x28, CRC32:0x644E0B85 +class cJobActBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobCustomParam vftable:0x1C62F68, Size:0x160, CRC32:0x5178D644 +class cJobCustomParam /*: MtObject*/ { +}; + +// cJobLeoAttackAirL00 vftable:0x1B1B058, Size:0x30, CRC32:0x770D6CD6 +class cJobLeoAttackAirL00 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackAirL01 vftable:0x1B1B0A0, Size:0x30, CRC32:0xA5C40 +class cJobLeoAttackAirL01 /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackAirS vftable:0x1B1B010, Size:0x30, CRC32:0x51E61B4B +class cJobLeoAttackAirS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackBack vftable:0x1B1BE28, Size:0x28, CRC32:0x369B7E93 +class cJobLeoAttackBack /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackDelayCombo vftable:0x1B1B0E8, Size:0x28, CRC32:0x41D206B7 +class cJobLeoAttackDelayCombo /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackL vftable:0x1B1AF38, Size:0x2C, CRC32:0x5E18BBC8 +class cJobLeoAttackL /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackL_Charge_Begin vftable:0x1B1AF80, Size:0x28, CRC32:0x770B49A5 +class cJobLeoAttackL_Charge_Begin /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackL_Charge_Loop vftable:0x1B1AFC8, Size:0x2C, CRC32:0x28E428D7 +class cJobLeoAttackL_Charge_Loop /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoAttackS vftable:0x1B1AEF0, Size:0x28, CRC32:0x5310B63D +class cJobLeoAttackS /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom01 vftable:0x1B1B520, Size:0x40, CRC32:0x58398370 +class cJobLeoCustom01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom01Finish vftable:0x1B1B568, Size:0x2C, CRC32:0x44F402D +class cJobLeoCustom01Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom02 vftable:0x1B1B5B0, Size:0x2C, CRC32:0x4130D2CA +class cJobLeoCustom02 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom02_01 vftable:0x1B1B5F8, Size:0x2C, CRC32:0x6097DB22 +class cJobLeoCustom02_01 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom02_02 vftable:0x1B1B640, Size:0x38, CRC32:0x799E8A98 +class cJobLeoCustom02_02 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom02_03 vftable:0x1B1B688, Size:0x2C, CRC32:0xE99BA0E +class cJobLeoCustom02_03 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom02_04 vftable:0x1B1B6D0, Size:0x2C, CRC32:0x10FD2FAD +class cJobLeoCustom02_04 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom04 vftable:0x1B1B718, Size:0x2C, CRC32:0x285377FF +class cJobLeoCustom04 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom06 vftable:0x1B1B760, Size:0x2C, CRC32:0x465D16D3 +class cJobLeoCustom06 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom08 vftable:0x1B1B7A8, Size:0x28, CRC32:0x21E53BD4 +class cJobLeoCustom08 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom08_AirStartAir vftable:0x1B1B840, Size:0x38, CRC32:0x263B2A2A +class cJobLeoCustom08_AirStartAir /*: cJobLeoCustom08_AirBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom08_AirStartLand vftable:0x1B1B7F8, Size:0x38, CRC32:0xBCC8385 +class cJobLeoCustom08_AirStartLand /*: cJobLeoCustom08_AirBase, cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom08_End vftable:0x1B1B888, Size:0x2C, CRC32:0x3AF680FF +class cJobLeoCustom08_End /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom09 vftable:0x1B1B8D0, Size:0x50, CRC32:0x56E20B42 +class cJobLeoCustom09 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom11 vftable:0x1B1B918, Size:0x34, CRC32:0x4122B231 +class cJobLeoCustom11 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom11Success vftable:0x1B1B9A8, Size:0x28, CRC32:0x7C6E66F4 +class cJobLeoCustom11Success /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom11SuccessStart vftable:0x1B1B960, Size:0x2C, CRC32:0x41239B4F +class cJobLeoCustom11SuccessStart /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom12 vftable:0x1B1B9F0, Size:0x2C, CRC32:0x582BE38B +class cJobLeoCustom12 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom12Additional vftable:0x1B1BA38, Size:0x34, CRC32:0x6694BBA +class cJobLeoCustom12Additional /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom12AdditionalLand vftable:0x1B1BA80, Size:0x2C, CRC32:0x7A2A1CFE +class cJobLeoCustom12AdditionalLand /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom14 vftable:0x1B1BAC8, Size:0x30, CRC32:0x314846BE +class cJobLeoCustom14 /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom14AirStrike vftable:0x1B1BB58, Size:0x2C, CRC32:0x1185D1F0 +class cJobLeoCustom14AirStrike /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom14Finish vftable:0x1B1BBA0, Size:0x28, CRC32:0x1ADD6F14 +class cJobLeoCustom14Finish /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoCustom14Success vftable:0x1B1BB10, Size:0x30, CRC32:0x348E6890 +class cJobLeoCustom14Success /*: cHumanCustomBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoEnchant vftable:0x1B1B4D8, Size:0x28, CRC32:0x7123228B +class cJobLeoEnchant /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuard vftable:0x1B1B298, Size:0x34, CRC32:0x4B97F266 +class cJobLeoGuard /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardAirEnd vftable:0x1B1B370, Size:0x34, CRC32:0x66E15CE7 +class cJobLeoGuardAirEnd /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardAirReaction vftable:0x1B1B400, Size:0x34, CRC32:0x2A39499D +class cJobLeoGuardAirReaction /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardAirStart vftable:0x1B1B328, Size:0x34, CRC32:0x6F4C2776 +class cJobLeoGuardAirStart /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardBase vftable:0x1B1B130, Size:0x30, CRC32:0x36C105E7 +class cJobLeoGuardBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardCounter vftable:0x1B1B448, Size:0x30, CRC32:0xCFC976B +class cJobLeoGuardCounter /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardCounterAir vftable:0x1B1B490, Size:0x34, CRC32:0x35E5A12E +class cJobLeoGuardCounterAir /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardEnd vftable:0x1B1B1C0, Size:0x30, CRC32:0x434B9E42 +class cJobLeoGuardEnd /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardHumanEnemy vftable:0x1B1B2E0, Size:0x38, CRC32:0x1844DC2F +class cJobLeoGuardHumanEnemy /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardJump vftable:0x1B1B208, Size:0x34, CRC32:0x51C6FD90 +class cJobLeoGuardJump /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardLand vftable:0x1B1B250, Size:0x30, CRC32:0x5E752E5E +class cJobLeoGuardLand /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardReaction vftable:0x1B1B3B8, Size:0x30, CRC32:0x72A677A7 +class cJobLeoGuardReaction /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobLeoGuardStart vftable:0x1B1B178, Size:0x30, CRC32:0x4956E9EC +class cJobLeoGuardStart /*: cJobLeoGuardBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cJobMasterCtrl vftable:0x1C63184, Size:0x28, CRC32:0x498F5065 +class cJobMasterCtrl /*: MtObject*/ { + u32 'mJobId' ; // Offset:0x4, Var, CRC32:0xAB66AB26, Flags:0x0 + u32 'mStartJobLevel' ; // Offset:0x8, Var, CRC32:0x55504E88, Flags:0x0 + u32 'mFirstTalkGrpSerial' ; // Offset:0xC, Var, CRC32:0xB72FFAED, Flags:0x0 + u32 'mTraningTalkGrpSerial' ; // Offset:0x10, Var, CRC32:0xAE6C7215, Flags:0x0 + u32 'mFirstOrderTalkGrpSerial' ; // Offset:0x14, Var, CRC32:0x382FAB43, Flags:0x0 + u32 'mJobTutorialQuestId' ; // Offset:0x18, Var, CRC32:0x19150075, Flags:0x0 + u32 'mJobMasterTutorialQuestId' ; // Offset:0x1C, Var, CRC32:0x4C07D551, Flags:0x0 + u32 'mAreaId' ; // Offset:0x20, Var, CRC32:0xE16D90E9, Flags:0x0 + u32 'mAreaRank' ; // Offset:0x24, Var, CRC32:0xDF7ED600, Flags:0x0 +}; + +// cJointEx2 vftable:0x1C633E4, Size:0x30, CRC32:0xD7FF939 +class cJointEx2 /*: MtObject*/ { +}; + +// cJointInfo vftable:0x1C634DC, Size:0x30, CRC32:0xEAF7312 +class cJointInfo /*: MtObject*/ { + u16 'mJntNo' ; // Offset:0x4, Var, CRC32:0xD3E25CCE, Flags:0x0 + u16 'mAttr' ; // Offset:0x6, Var, CRC32:0xDD77E828, Flags:0x0 + f32 'mRadius' ; // Offset:0x8, Var, CRC32:0x5E0C76B, Flags:0x0 + vector3 'mOfsPos' ; // Offset:0x10, Var, CRC32:0x5ED141DC, Flags:0x0 + u16 'mJointInfoID' ; // Offset:0x20, Var, CRC32:0x8C3FC21, Flags:0x0 +}; + +// cJointOrder vftable:0x1AE5C00, Size:0xC, CRC32:0x2158EF48 +class cJointOrder /*: MtObject*/ { +}; + +// cJukeBoxItem vftable:0x1C608D0, Size:0xC, CRC32:0x44A51E94 +class cJukeBoxItem /*: MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u32 'mBgmNo' ; // Offset:0x8, Var, CRC32:0x8D6DC07A, Flags:0x0 +}; + +// cJumpParam vftable:0x1AE296C, Size:0x28, CRC32:0x4BF3BAE3 +class cJumpParam /*: MtObject*/ { + f32 'mSpeedY' ; // Offset:0x4, Var, CRC32:0xAAF8DE3B, Flags:0x0 + f32 'mSpeedZ' ; // Offset:0x8, Var, CRC32:0x33F18F81, Flags:0x0 + f32 'mGravity' ; // Offset:0xC, Var, CRC32:0xD9FF56B9, Flags:0x0 + f32 'mDampingZ' ; // Offset:0x10, Var, CRC32:0xDC11E186, Flags:0x0 + f32 'mAddMoveSpeedXZ' ; // Offset:0x14, Var, CRC32:0x7B0128F7, Flags:0x0 + bool 'mIsAwakening' ; // Offset:0x18, Var, CRC32:0x47A740F2, Flags:0x0 + f32 'mAwakeJumpAdd' ; // Offset:0x1C, Var, CRC32:0x368C286A, Flags:0x0 + f32 'mAwakeJumpAddEx' ; // Offset:0x20, Var, CRC32:0x79775F15, Flags:0x0 + string 'mComment' ; // Offset:0x24, Var, CRC32:0x17962172, Flags:0x1000000 +}; + +// cJumpParamCtrl vftable:0x1B17F08, Size:0x4, CRC32:0x3C703D0E +class cJumpParamCtrl /*: MtObject*/ { +}; + +// cKeyCommand vftable:0x1C63824, Size:0x48, CRC32:0x42E4001B +class cKeyCommand /*: MtObject*/ { +}; + +// cKeyCustom vftable:0x1B1C9C8, Size:0x2C, CRC32:0x58733C09 +class cKeyCustom /*: MtObject*/ { +}; + +// cKeyCustomManager vftable:0x1B1C9F8, Size:0x1C, CRC32:0x13474A37 +class cKeyCustomManager /*: MtObject*/ { +}; + +// cKeyCustomParam vftable:0x1C64358, Size:0x20, CRC32:0xBA218E6 +class cKeyCustomParam /*: MtObject*/ { +}; + +// cKeyFrameValueColor vftable:0x1C1A678, Size:0x110, CRC32:0x77B084E7 +class cKeyFrameValueColor /*: MtObject*/ { + u32 'keyNum' ; // Offset:0x4, Var, CRC32:0x70A48672, Flags:0x8000000 + f32 'value[0].key' ; // Offset:0x10, Var, CRC32:0xE7F483EB, Flags:0x0 + vector4 'value[0].value' ; // Offset:0x20, Var, CRC32:0xAB54A2D2, Flags:0x0 + f32 'value[1].key' ; // Offset:0x30, Var, CRC32:0x2CA8504E, Flags:0x0 + vector4 'value[1].value' ; // Offset:0x40, Var, CRC32:0x67FEA24C, Flags:0x0 + f32 'value[2].key' ; // Offset:0x50, Var, CRC32:0xAA3C22E0, Flags:0x0 + vector4 'value[2].value' ; // Offset:0x60, Var, CRC32:0xE971A5AF, Flags:0x0 + f32 'value[3].key' ; // Offset:0x70, Var, CRC32:0x6160F145, Flags:0x0 + vector4 'value[3].value' ; // Offset:0x80, Var, CRC32:0x25DBA531, Flags:0x0 + f32 'value[4].key' ; // Offset:0x90, Var, CRC32:0x7C65C1FD, Flags:0x0 + vector4 'value[4].value' ; // Offset:0xA0, Var, CRC32:0x2F1EAC28, Flags:0x0 + f32 'value[5].key' ; // Offset:0xB0, Var, CRC32:0xB7391258, Flags:0x0 + vector4 'value[5].value' ; // Offset:0xC0, Var, CRC32:0xE3B4ACB6, Flags:0x0 + f32 'value[6].key' ; // Offset:0xD0, Var, CRC32:0x31AD60F6, Flags:0x0 + vector4 'value[6].value' ; // Offset:0xE0, Var, CRC32:0x6D3BAB55, Flags:0x0 + f32 'value[7].key' ; // Offset:0xF0, Var, CRC32:0xFAF1B353, Flags:0x0 + vector4 'value[7].value' ; // Offset:0x100, Var, CRC32:0xA191ABCB, Flags:0x0 +}; + +// cKeyFrameValueF32 vftable:0x1B3FC4C, Size:0x48, CRC32:0x153BE451 +class cKeyFrameValueF32 /*: MtObject*/ { + u32 'keyNum' ; // Offset:0x4, Var, CRC32:0x70A48672, Flags:0x8000000 + f32 'value[0].key' ; // Offset:0x8, Var, CRC32:0xE7F483EB, Flags:0x0 + f32 'value[0].value' ; // Offset:0xC, Var, CRC32:0xAB54A2D2, Flags:0x0 + f32 'value[1].key' ; // Offset:0x10, Var, CRC32:0x2CA8504E, Flags:0x0 + f32 'value[1].value' ; // Offset:0x14, Var, CRC32:0x67FEA24C, Flags:0x0 + f32 'value[2].key' ; // Offset:0x18, Var, CRC32:0xAA3C22E0, Flags:0x0 + f32 'value[2].value' ; // Offset:0x1C, Var, CRC32:0xE971A5AF, Flags:0x0 + f32 'value[3].key' ; // Offset:0x20, Var, CRC32:0x6160F145, Flags:0x0 + f32 'value[3].value' ; // Offset:0x24, Var, CRC32:0x25DBA531, Flags:0x0 + f32 'value[4].key' ; // Offset:0x28, Var, CRC32:0x7C65C1FD, Flags:0x0 + f32 'value[4].value' ; // Offset:0x2C, Var, CRC32:0x2F1EAC28, Flags:0x0 + f32 'value[5].key' ; // Offset:0x30, Var, CRC32:0xB7391258, Flags:0x0 + f32 'value[5].value' ; // Offset:0x34, Var, CRC32:0xE3B4ACB6, Flags:0x0 + f32 'value[6].key' ; // Offset:0x38, Var, CRC32:0x31AD60F6, Flags:0x0 + f32 'value[6].value' ; // Offset:0x3C, Var, CRC32:0x6D3BAB55, Flags:0x0 + f32 'value[7].key' ; // Offset:0x40, Var, CRC32:0xFAF1B353, Flags:0x0 + f32 'value[7].value' ; // Offset:0x44, Var, CRC32:0xA191ABCB, Flags:0x0 +}; + +// cKeyText vftable:0x1C63DA8, Size:0x1C, CRC32:0x14B36DFF +class cKeyText /*: cUIObject, MtObject*/ { +}; + +// cLanternParam vftable:0x1D661A8, Size:0x50, CRC32:0x77FBBF19 +class cLanternParam /*: MtObject*/ { +}; + +// cLargeCameraParam vftable:0x1C64A80, Size:0x28, CRC32:0x736868E6 +class cLargeCameraParam /*: MtObject*/ { + u32 'EmId' ; // Offset:0x4, Var, CRC32:0x591A8192, Flags:0x0 + f32 'Range1' ; // Offset:0x8, Var, CRC32:0x741C6B10, Flags:0x0 + f32 'Range2' ; // Offset:0xC, Var, CRC32:0xED153AAA, Flags:0x0 + u32 'Camera' ; // Offset:0x10, Var, CRC32:0xC34F14CC, Flags:0x0 + f32 'mDistCling' ; // Offset:0x14, Var, CRC32:0x38885CEC, Flags:0x0 + f32 'mFovCling' ; // Offset:0x18, Var, CRC32:0xFAA0BC47, Flags:0x0 + s32 'mProductJoint' ; // Offset:0x1C, Var, CRC32:0x56491F73, Flags:0x0 + f32 'mProductRadius' ; // Offset:0x20, Var, CRC32:0xBEDD8891, Flags:0x0 + bool 'Group' ; // Offset:0x24, Var, CRC32:0x53FE943E, Flags:0x0 +}; + +// cLayoutPreset vftable:0x1AE2944, Size:0x10, CRC32:0x8A17728 +class cLayoutPreset /*: MtObject*/ { + string 'mKeyword' ; // Offset:0x4, Var, CRC32:0xD9710225, Flags:0x0 + u32 'mCtrlType' ; // Offset:0x8, Var, CRC32:0x1C6FAD19, Flags:0x0 + u32 'mID' ; // Offset:0xC, Var, CRC32:0x10BB0F5B, Flags:0x0 +}; + +// cLayoutSet vftable:0x1BBCAB8, Size:0x58, CRC32:0x7667B2E1 +class cLayoutSet /*: MtObject*/ { +}; + +// cLayoutSet::cUnitData vftable:0x1BBCA90, Size:0x1C, CRC32:0x271CBED7 +class cLayoutSet::cUnitData /*: MtObject*/ { +}; + +// cLayoutSetEnemy vftable:0x1BBD028, Size:0x58, CRC32:0x6A4EE91B +class cLayoutSetEnemy /*: cLayoutSet, MtObject*/ { +}; + +// cLayoutSetGeneralPoint vftable:0x1BBD088, Size:0x1F4, CRC32:0x54338C1E +class cLayoutSetGeneralPoint /*: cLayoutSet, MtObject*/ { +}; + +// cLayoutSetNpc vftable:0x1BBD598, Size:0x58, CRC32:0x2C856BFE +class cLayoutSetNpc /*: cLayoutSet, MtObject*/ { +}; + +// cLayoutSetOm vftable:0x1BBDAA0, Size:0x5C, CRC32:0x26E82845 +class cLayoutSetOm /*: cLayoutSet, MtObject*/ { +}; + +// cLegCtrl vftable:0x1C65C38, Size:0x8, CRC32:0x376DAC2F +class cLegCtrl /*: MtObject*/ { +}; + +// cLeverGacha vftable:0x1BBDFA8, Size:0x28, CRC32:0xE2E1B57 +class cLeverGacha /*: MtObject*/ { + s32 'mCntMax' ; // Offset:0x4, Var, CRC32:0x991B36FA, Flags:0x0 + f32 'mCnt' ; // Offset:0xC, Var, CRC32:0xC93DCFA8, Flags:0x0 +}; + +// cLightParamBlink vftable:0x1DA5B28, Size:0x24, CRC32:0xD645BFD +class cLightParamBlink /*: cLightUnitParam, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 +}; + +// cLightParamCtrl vftable:0x1DA5B7C, Size:0xD0, CRC32:0x6480FCFA +class cLightParamCtrl /*: cLightUnitParam, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 +}; + +// cLightParamNightColor vftable:0x1DA5B44, Size:0x30, CRC32:0x631CA389 +class cLightParamNightColor /*: cLightUnitParam, MtObject*/ { + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 +}; + +// cLightParamTimeCtrl vftable:0x1DA5B0C, Size:0x14, CRC32:0x4552D406 +class cLightParamTimeCtrl /*: cLightUnitParam, MtObject*/ { + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 +}; + +// cLightQuestManager vftable:0x1BBE4B0, Size:0x48, CRC32:0x739FE24F +class cLightQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cLightQuestManager::cLightQuestInfo vftable:0x1BBE500, Size:0x2C, CRC32:0x57A7D24B +class cLightQuestManager::cLightQuestInfo /*: MtObject*/ { +}; + +// cLightUnitParam vftable:0x1DA5AF0, Size:0x4, CRC32:0x1AE631 +class cLightUnitParam /*: MtObject*/ { +}; + +// cLobbyDataMessage vftable:0x1BD8D50, Size:0x8, CRC32:0x3EACDF32 +class cLobbyDataMessage /*: MtObject*/ { +}; + +// cLoopEffectCtrl vftable:0x1B1CEE8, Size:0x20, CRC32:0x4C2DFA8 +class cLoopEffectCtrl /*: MtObject*/ { + f32 'mEffLoopTimer' ; // Offset:0x4, Var, CRC32:0x5F8E9E3B, Flags:0x0 + f32 'mEffLoopTimerMax' ; // Offset:0x8, Var, CRC32:0x9786BEE6, Flags:0x0 + bool 'mIsActive' ; // Offset:0xC, Var, CRC32:0xA2F8C645, Flags:0x0 + s32 'mEpvIndex' ; // Offset:0x14, Var, CRC32:0x6324C0C4, Flags:0x0 + s32 'mEpvElement' ; // Offset:0x18, Var, CRC32:0xFEA6BAD1, Flags:0x0 + classref 'mpModel' ; // Offset:0x1C, Var, CRC32:0x53A6AAA5, Flags:0x0 +}; + +// cMagicChantParam vftable:0x1C6665C, Size:0x1A0, CRC32:0x4DF37392 +class cMagicChantParam /*: MtObject*/ { +}; + +// cMagicCommand vftable:0x1C66C08, Size:0x8, CRC32:0x3DA07393 +class cMagicCommand /*: MtObject*/ { + f32 'mDegree' ; // Offset:0x4, Var, CRC32:0x993FC452, Flags:0x0 +}; + +// cMagicCommandList vftable:0x1C66C38, Size:0x40, CRC32:0x4A93E081 +class cMagicCommandList /*: MtObject*/ { +}; + +// cMagicCommandWord vftable:0x1C66CE8, Size:0x84, CRC32:0x4DAA6D88 +class cMagicCommandWord /*: MtObject*/ { + s32 '01' ; // Offset:0x4, Var, CRC32:0x7F374D31, Flags:0x0 + s32 '02' ; // Offset:0x8, Var, CRC32:0x4EDF57AC, Flags:0x0 + s32 '03' ; // Offset:0xC, Var, CRC32:0xE8A85C18, Flags:0x0 + s32 '04' ; // Offset:0x10, Var, CRC32:0x2D0F6296, Flags:0x0 + s32 '05' ; // Offset:0x14, Var, CRC32:0x8B786922, Flags:0x0 + s32 '06' ; // Offset:0x18, Var, CRC32:0xBA9073BF, Flags:0x0 + s32 '07' ; // Offset:0x1C, Var, CRC32:0x1CE7780B, Flags:0x0 + s32 '08' ; // Offset:0x20, Var, CRC32:0xEAAF08E2, Flags:0x0 + s32 '09' ; // Offset:0x24, Var, CRC32:0x4CD80356, Flags:0x0 + s32 '10' ; // Offset:0x28, Var, CRC32:0x15EA461B, Flags:0x0 + s32 '11' ; // Offset:0x2C, Var, CRC32:0xB39D4DAF, Flags:0x0 + s32 '12' ; // Offset:0x30, Var, CRC32:0x82755732, Flags:0x0 + s32 '13' ; // Offset:0x34, Var, CRC32:0x24025C86, Flags:0x0 + s32 '14' ; // Offset:0x38, Var, CRC32:0xE1A56208, Flags:0x0 + s32 '15' ; // Offset:0x3C, Var, CRC32:0x47D269BC, Flags:0x0 + s32 '16' ; // Offset:0x40, Var, CRC32:0x763A7321, Flags:0x0 + s32 '17' ; // Offset:0x44, Var, CRC32:0xD04D7895, Flags:0x0 + s32 '18' ; // Offset:0x48, Var, CRC32:0x2605087C, Flags:0x0 + s32 '19' ; // Offset:0x4C, Var, CRC32:0x807203C8, Flags:0x0 + s32 '20' ; // Offset:0x50, Var, CRC32:0x9B6541F8, Flags:0x0 + s32 '21' ; // Offset:0x54, Var, CRC32:0x3D124A4C, Flags:0x0 + s32 '22' ; // Offset:0x58, Var, CRC32:0xCFA50D1, Flags:0x0 + s32 '23' ; // Offset:0x5C, Var, CRC32:0xAA8D5B65, Flags:0x0 + s32 '24' ; // Offset:0x60, Var, CRC32:0x6F2A65EB, Flags:0x0 + s32 '25' ; // Offset:0x64, Var, CRC32:0xC95D6E5F, Flags:0x0 + s32 '26' ; // Offset:0x68, Var, CRC32:0xF8B574C2, Flags:0x0 + s32 '27' ; // Offset:0x6C, Var, CRC32:0x5EC27F76, Flags:0x0 + s32 '28' ; // Offset:0x70, Var, CRC32:0xA88A0F9F, Flags:0x0 + s32 '29' ; // Offset:0x74, Var, CRC32:0xEFD042B, Flags:0x0 + s32 '30' ; // Offset:0x78, Var, CRC32:0x57CF4166, Flags:0x0 + s32 '31' ; // Offset:0x7C, Var, CRC32:0xF1B84AD2, Flags:0x0 + s32 '32' ; // Offset:0x80, Var, CRC32:0xC050504F, Flags:0x0 +}; + +// cMainQuestManager vftable:0x1BBEA50, Size:0x44, CRC32:0x4AA40A20 +class cMainQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cMandraActionParam vftable:0x1C66F68, Size:0x40, CRC32:0x3DFFEDDF +class cMandraActionParam /*: MtObject*/ { + vector3 'Pos' ; // Offset:0x10, Var, CRC32:0x476B5FB3, Flags:0x0 + f32 'AngleY' ; // Offset:0x20, Var, CRC32:0x413AC5F5, Flags:0x0 + u16 'Waypoint' ; // Offset:0x24, Var, CRC32:0xB555C528, Flags:0x0 + u16 'NpcMotNo' ; // Offset:0x26, Var, CRC32:0xE7EBF8F5, Flags:0x0 + u16 'StartIdx' ; // Offset:0x28, Var, CRC32:0xDDB099F2, Flags:0x0 + s16 'Message' ; // Offset:0x2A, Var, CRC32:0x86FFF61C, Flags:0x0 + u16 'Condition' ; // Offset:0x2C, Var, CRC32:0xC0D8F51F, Flags:0x0 + s16 'LinkActNo' ; // Offset:0x2E, Var, CRC32:0xFB419F29, Flags:0x0 + u16 'LinkActLv' ; // Offset:0x30, Var, CRC32:0xAD1C556B, Flags:0x0 + s16 'ChangeEquip' ; // Offset:0x32, Var, CRC32:0x7423A53C, Flags:0x0 + bool 'IsGriffin' ; // Offset:0x34, Var, CRC32:0x565EB983, Flags:0x0 + bool 'IsNotAvoid' ; // Offset:0x35, Var, CRC32:0xF00290FC, Flags:0x0 + bool 'IsSingle' ; // Offset:0x36, Var, CRC32:0xD46B06A, Flags:0x0 +}; + +// cMandraPictureBookWork vftable:0x1DAAF7C, Size:0x1C, CRC32:0xE7B66AE +class cMandraPictureBookWork /*: MtObject*/ { +}; + +// cMandragoraCtrlParam vftable:0x1DAAFEC, Size:0x30, CRC32:0x3B7411E1 +class cMandragoraCtrlParam /*: MtObject*/ { +}; + +// cMandragoraDispWork vftable:0x1DAAF98, Size:0x60, CRC32:0x6A4A4344 +class cMandragoraDispWork /*: MtObject*/ { +}; + +// cMenu vftable:0x1B1D480, Size:0x7C, CRC32:0x1B3C4FCE +class cMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuActiveList vftable:0x1B20768, Size:0xA4, CRC32:0x3B53A5BA +class cMenuActiveList /*: cMenuBase, MtObject*/ { +}; + +// cMenuAdvGuide vftable:0x1B1D9A8, Size:0x90, CRC32:0x332F6AA5 +class cMenuAdvGuide /*: cMenuBase, MtObject*/ { +}; + +// cMenuApplyClan vftable:0x1B23108, Size:0x84, CRC32:0x1ACFFDAB +class cMenuApplyClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuApplyFriend vftable:0x1B1FC10, Size:0x88, CRC32:0x79A2ED7A +class cMenuApplyFriend /*: cMenuBase, MtObject*/ { +}; + +// cMenuApproveClan vftable:0x1B23210, Size:0x8C, CRC32:0x6534AAAC +class cMenuApproveClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuApproveFriend vftable:0x1B1FCC0, Size:0x8C, CRC32:0x43EC4011 +class cMenuApproveFriend /*: cMenuBase, MtObject*/ { +}; + +// cMenuApproveInvitedClan vftable:0x1B23840, Size:0x88, CRC32:0x76C7548F +class cMenuApproveInvitedClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuAreaMaster vftable:0x1B1FF80, Size:0x84, CRC32:0x516615C2 +class cMenuAreaMaster /*: cMenuBase, MtObject*/ { +}; + +// cMenuAreaMasterHistory vftable:0x1B200E0, Size:0x7C, CRC32:0x18316109 +class cMenuAreaMasterHistory /*: cMenuBase, MtObject*/ { +}; + +// cMenuAreaMasterQuestInfo vftable:0x1B20030, Size:0x7C, CRC32:0x1ED2679A +class cMenuAreaMasterQuestInfo /*: cMenuBase, MtObject*/ { +}; + +// cMenuAreaMasterRankUp vftable:0x1B1FFD8, Size:0x88, CRC32:0x6AB5C0C8 +class cMenuAreaMasterRankUp /*: cMenuBase, MtObject*/ { +}; + +// cMenuAreaMasterSpotInfo vftable:0x1B20088, Size:0x7C, CRC32:0x5E7567E4 +class cMenuAreaMasterSpotInfo /*: cMenuBase, MtObject*/ { +}; + +// cMenuAreaMasterSupplies vftable:0x1B20138, Size:0x7C, CRC32:0x26C218C8 +class cMenuAreaMasterSupplies /*: cMenuBase, MtObject*/ { +}; + +// cMenuBaggageMenu vftable:0x1B20D98, Size:0xC0, CRC32:0x32060570 +class cMenuBaggageMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuBase vftable:0x1B1D428, Size:0x7C, CRC32:0x55006D98 +class cMenuBase /*: MtObject*/ { +}; + +// cMenuBazaarBuy vftable:0x1B20B88, Size:0x7C, CRC32:0xC14C6B4 +class cMenuBazaarBuy /*: cMenuBase, MtObject*/ { +}; + +// cMenuBazaarMenu vftable:0x1B20B30, Size:0x7C, CRC32:0x2D29D150 +class cMenuBazaarMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuBlackList vftable:0x1B208C8, Size:0x7C, CRC32:0x79B75F53 +class cMenuBlackList /*: cMenuBase, MtObject*/ { +}; + +// cMenuBreakupParty vftable:0x1B1F0B0, Size:0x7C, CRC32:0x103A18EA +class cMenuBreakupParty /*: cMenuBase, MtObject*/ { +}; + +// cMenuBtlContentReset vftable:0x1B26008, Size:0xC8, CRC32:0x79634885 +class cMenuBtlContentReset /*: cMenuBase, MtObject*/ { +}; + +// cMenuButtonCalibration vftable:0x1B1FA00, Size:0x25C, CRC32:0xC3DEA06 +class cMenuButtonCalibration /*: cMenuBase, MtObject*/ { +}; + +// cMenuCancelApplyClan vftable:0x1B23160, Size:0x84, CRC32:0x91BCC15 +class cMenuCancelApplyClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuCancelClanScoutEntry vftable:0x1B23630, Size:0x7C, CRC32:0x1C37B75A +class cMenuCancelClanScoutEntry /*: cMenuBase, MtObject*/ { +}; + +// cMenuCancelFriend vftable:0x1B1FC68, Size:0x84, CRC32:0x6B857DDD +class cMenuCancelFriend /*: cMenuBase, MtObject*/ { +}; + +// cMenuCancelInviteClan vftable:0x1B23790, Size:0x80, CRC32:0x2152B5C1 +class cMenuCancelInviteClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuChangeServer vftable:0x1B20298, Size:0x80, CRC32:0x48B2C4BB +class cMenuChangeServer /*: cMenuBase, MtObject*/ { +}; + +// cMenuCharacterList vftable:0x1B1E768, Size:0x1CC, CRC32:0x6F9AB7C +class cMenuCharacterList /*: cMenuBase, MtObject*/ { +}; + +// cMenuChargePawnList vftable:0x1B1EA80, Size:0x84, CRC32:0x5B7A3251 +class cMenuChargePawnList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanApplyList vftable:0x1B230B0, Size:0x7C, CRC32:0x6C3801C4 +class cMenuClanApplyList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanApplyManager vftable:0x1B22B88, Size:0x80, CRC32:0x793598BF +class cMenuClanApplyManager /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanApproveDirectInvite vftable:0x1B239A0, Size:0x88, CRC32:0x6135BA44 +class cMenuClanApproveDirectInvite /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanAuthority vftable:0x1B239F8, Size:0x98, CRC32:0x5A26E6F +class cMenuClanAuthority /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanChangeMaster vftable:0x1B234D0, Size:0x88, CRC32:0x648C65BD +class cMenuClanChangeMaster /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanDirectInvite vftable:0x1B23948, Size:0x88, CRC32:0x305EDD45 +class cMenuClanDirectInvite /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanDirectInvitedList vftable:0x1B238F0, Size:0x7C, CRC32:0x5445DA83 +class cMenuClanDirectInvitedList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanExpelMember vftable:0x1B23478, Size:0x88, CRC32:0x51761BE8 +class cMenuClanExpelMember /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanHistory vftable:0x1B233C8, Size:0x7C, CRC32:0xAD96F37 +class cMenuClanHistory /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanInfoDisp vftable:0x1B23000, Size:0x80, CRC32:0x383B8AD3 +class cMenuClanInfoDisp /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanInfoManager vftable:0x1B22BE0, Size:0x84, CRC32:0x1DAFE494 +class cMenuClanInfoManager /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanInviteList vftable:0x1B23898, Size:0x7C, CRC32:0x115CC57C +class cMenuClanInviteList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanInvitedList vftable:0x1B237E8, Size:0x7C, CRC32:0x36E75F5F +class cMenuClanInvitedList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanJoinReqList vftable:0x1B231B8, Size:0x80, CRC32:0x3D16C28D +class cMenuClanJoinReqList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanList vftable:0x1B23058, Size:0x1CC, CRC32:0x72F74FA6 +class cMenuClanList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanMemberList vftable:0x1B23370, Size:0x98, CRC32:0x237E18F0 +class cMenuClanMemberList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanScoutEntry vftable:0x1B23580, Size:0x98, CRC32:0x2BBBDADE +class cMenuClanScoutEntry /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanScoutEntryList vftable:0x1B23688, Size:0x7C, CRC32:0x28A67845 +class cMenuClanScoutEntryList /*: cMenuBase, MtObject*/ { +}; + +// cMenuClanSetMemberRank vftable:0x1B23528, Size:0x8C, CRC32:0x38879869 +class cMenuClanSetMemberRank /*: cMenuBase, MtObject*/ { +}; + +// cMenuContentsExecutor vftable:0x1B27900, Size:0xA8, CRC32:0x5D6DDB57 +class cMenuContentsExecutor /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftBazaarCtrl vftable:0x1B1F8F8, Size:0x110, CRC32:0x16F5A647 +class cMenuCraftBazaarCtrl /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftColorFrame vftable:0x1B1F620, Size:0xA0, CRC32:0x6C01730C +class cMenuCraftColorFrame /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftColorFrame::cMenuCtrl vftable:0x1B1F60C, Size:0xC, CRC32:0x6F14808A +class cMenuCraftColorFrame::cMenuCtrl /*: MtObject*/ { +}; + +// cMenuCraftColorItem vftable:0x1B1F678, Size:0x84, CRC32:0x5A038344 +class cMenuCraftColorItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftCreateItem vftable:0x1B1F438, Size:0x8C, CRC32:0x55031C94 +class cMenuCraftCreateItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftElementFrame vftable:0x1B1F558, Size:0xC4, CRC32:0xCE973CE +class cMenuCraftElementFrame /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftElementFrame::cMenuCtrl vftable:0x1B1F544, Size:0xC, CRC32:0x14EF13A9 +class cMenuCraftElementFrame::cMenuCtrl /*: MtObject*/ { +}; + +// cMenuCraftElementItem vftable:0x1B1F5B0, Size:0x88, CRC32:0x67EA5F4E +class cMenuCraftElementItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftEnhanceSelect vftable:0x1B1F8A0, Size:0x7C, CRC32:0x652A6AD8 +class cMenuCraftEnhanceSelect /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftGoldStoneDetail vftable:0x1B20F50, Size:0x90, CRC32:0x68984BD9 +class cMenuCraftGoldStoneDetail /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftGoldStoneDialog vftable:0x1B20EA0, Size:0x90, CRC32:0x3FFEC28 +class cMenuCraftGoldStoneDialog /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftItemSelect vftable:0x1B1F848, Size:0x8C, CRC32:0x540B3320 +class cMenuCraftItemSelect /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftMenu vftable:0x1B1F210, Size:0x94, CRC32:0xC4D3B62 +class cMenuCraftMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftMyPawnList vftable:0x1B1F2C0, Size:0x84, CRC32:0x2E25715A +class cMenuCraftMyPawnList /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftPoint vftable:0x1B1F798, Size:0x98, CRC32:0x2FEC9622 +class cMenuCraftPoint /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftProcessMenu vftable:0x1B1F268, Size:0x84, CRC32:0x6EFECCE8 +class cMenuCraftProcessMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftQualityFrame vftable:0x1B1F6E8, Size:0xC4, CRC32:0x60432E2B +class cMenuCraftQualityFrame /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftQualityFrame::cMenuCtrl vftable:0x1B1F6D4, Size:0xC, CRC32:0x2B9229E8 +class cMenuCraftQualityFrame::cMenuCtrl /*: MtObject*/ { +}; + +// cMenuCraftQualityItem vftable:0x1B1F740, Size:0x84, CRC32:0x2E459C8F +class cMenuCraftQualityItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftRecipeList vftable:0x1B1F318, Size:0x80, CRC32:0x600C010A +class cMenuCraftRecipeList /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftSupportFrame vftable:0x1B1F388, Size:0xD8, CRC32:0x17C1C464 +class cMenuCraftSupportFrame /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftSupportFrame::cMenuCtrl vftable:0x1B1F374, Size:0xC, CRC32:0x20D4E939 +class cMenuCraftSupportFrame::cMenuCtrl /*: MtObject*/ { +}; + +// cMenuCraftSupportList vftable:0x1B1F3E0, Size:0x84, CRC32:0x704C9888 +class cMenuCraftSupportList /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftTask vftable:0x1B1F7F0, Size:0x8C, CRC32:0x2336DAD4 +class cMenuCraftTask /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftUpGradeItem vftable:0x1B1F4E8, Size:0x88, CRC32:0x7546CA06 +class cMenuCraftUpGradeItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuCraftUpGradeList vftable:0x1B1F490, Size:0x84, CRC32:0x2E951700 +class cMenuCraftUpGradeList /*: cMenuBase, MtObject*/ { +}; + +// cMenuCreateClan vftable:0x1B22C38, Size:0x140, CRC32:0x1115A678 +class cMenuCreateClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuCreateEntryBoardItem vftable:0x1B273D8, Size:0x158, CRC32:0x451CFCCC +class cMenuCreateEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuCreateGameSession vftable:0x1B1EEF8, Size:0x84, CRC32:0x2C8B60F1 +class cMenuCreateGameSession /*: cMenuBase, MtObject*/ { +}; + +// cMenuCustomize vftable:0x1B1F950, Size:0x2270, CRC32:0x35D62BF4 +class cMenuCustomize /*: cMenuBase, MtObject*/ { +}; + +// cMenuDSMix vftable:0x1B21308, Size:0x10C, CRC32:0x777DA009 +class cMenuDSMix /*: cMenuBase, MtObject*/ { +}; + +// cMenuDSMix::cAnalize vftable:0x1B212C8, Size:0xC, CRC32:0x3EB92470 +class cMenuDSMix::cAnalize /*: MtObject*/ { +}; + +// cMenuDSMix::cMaterial vftable:0x1B212AC, Size:0x38, CRC32:0x16477927 +class cMenuDSMix::cMaterial /*: MtObject*/ { +}; + +// cMenuDSMixBaseSelect vftable:0x1B21360, Size:0xB8, CRC32:0x59A7D02E +class cMenuDSMixBaseSelect /*: cMenuBase, MtObject*/ { +}; + +// cMenuDSMixMaterialSelect vftable:0x1B213B8, Size:0xB8, CRC32:0x2B01CD6C +class cMenuDSMixMaterialSelect /*: cMenuBase, MtObject*/ { +}; + +// cMenuDailyMission vftable:0x1B26718, Size:0x100, CRC32:0x644C5E25 +class cMenuDailyMission /*: cMenuBase, MtObject*/ { +}; + +// cMenuDelivery vftable:0x1B26E10, Size:0x94, CRC32:0x123260FF +class cMenuDelivery /*: cMenuBase, MtObject*/ { +}; + +// cMenuDialogFlow vftable:0x1B2A740, Size:0x38, CRC32:0x6626DAD3 +class cMenuDialogFlow /*: cMenuSupport, MtObject*/ { +}; + +// cMenuDispStatus vftable:0x1B20660, Size:0x70D0, CRC32:0x34AE6B36 +class cMenuDispStatus /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditBlackList vftable:0x1B20920, Size:0x98, CRC32:0x78D8A16F +class cMenuEditBlackList /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClan vftable:0x1B22FA8, Size:0x228, CRC32:0x1A4A5E1C +class cMenuEditClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanComment vftable:0x1B22EF8, Size:0x15C, CRC32:0x10E16A9B +class cMenuEditClanComment /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanDay vftable:0x1B22DF0, Size:0x84, CRC32:0x5A134B8 +class cMenuEditClanDay /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanEmblem vftable:0x1B22D40, Size:0x84, CRC32:0x324691DD +class cMenuEditClanEmblem /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanEntryComment vftable:0x1B235D8, Size:0xC4, CRC32:0xBD684CC +class cMenuEditClanEntryComment /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanFeature vftable:0x1B22EA0, Size:0x84, CRC32:0x1B424D91 +class cMenuEditClanFeature /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanHour vftable:0x1B22E48, Size:0x84, CRC32:0x17C95724 +class cMenuEditClanHour /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanMessage vftable:0x1B22F50, Size:0x15C, CRC32:0x32280888 +class cMenuEditClanMessage /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditClanMotto vftable:0x1B22D98, Size:0x84, CRC32:0x7EE1138E +class cMenuEditClanMotto /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditCommentEntryBoardItem vftable:0x1B276F0, Size:0x84, CRC32:0x1DD47916 +class cMenuEditCommentEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuEditFavoritePawn vftable:0x1B1EE48, Size:0x88, CRC32:0x15E3311A +class cMenuEditFavoritePawn /*: cMenuBase, MtObject*/ { +}; + +// cMenuEffectSealed vftable:0x1B25E78, Size:0x114, CRC32:0x775A3DFF +class cMenuEffectSealed /*: cMenuBase, MtObject*/ { +}; + +// cMenuEffectSealedSelect vftable:0x1B25F00, Size:0x10C, CRC32:0x35E708BD +class cMenuEffectSealedSelect /*: cMenuBase, MtObject*/ { +}; + +// cMenuEffectSealedSelect::cResult vftable:0x1B25ED4, Size:0xC, CRC32:0x56861027 +class cMenuEffectSealedSelect::cResult /*: MtObject*/ { +}; + +// cMenuEmbodyingBox vftable:0x1B25FB0, Size:0xBC, CRC32:0x8CB6DAF +class cMenuEmbodyingBox /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryBoardInvite vftable:0x1B278A8, Size:0x90, CRC32:0x70AD8146 +class cMenuEntryBoardInvite /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryBoardInviteFromChat vftable:0x1B279B0, Size:0x158, CRC32:0x752D4E40 +class cMenuEntryBoardInviteFromChat /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryBoardItem vftable:0x1B27380, Size:0xC0, CRC32:0x55527722 +class cMenuEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryBoardItemList vftable:0x1B277A0, Size:0x2D0, CRC32:0x600F88D7 +class cMenuEntryBoardItemList /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryBoardMember vftable:0x1B27850, Size:0xB8, CRC32:0x47AB6BE9 +class cMenuEntryBoardMember /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryBoardRecruit vftable:0x1B277F8, Size:0xA0, CRC32:0x45D629A1 +class cMenuEntryBoardRecruit /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryChat vftable:0x1B27748, Size:0x8C, CRC32:0x19EA99E0 +class cMenuEntryChat /*: cMenuBase, MtObject*/ { +}; + +// cMenuEntryGameSession vftable:0x1B1EFA8, Size:0x84, CRC32:0x3993913 +class cMenuEntryGameSession /*: cMenuBase, MtObject*/ { +}; + +// cMenuEvidenceList vftable:0x1B28338, Size:0xFC, CRC32:0x6BDB6BEB +class cMenuEvidenceList /*: cMenuBase, MtObject*/ { +}; + +// cMenuExmParty vftable:0x1B28910, Size:0xC8, CRC32:0x3D01E968 +class cMenuExmParty /*: cMenuBase, MtObject*/ { +}; + +// cMenuExtendEntryBoardItem vftable:0x1B275E8, Size:0x7C, CRC32:0x25BCE801 +class cMenuExtendEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuFavoriteFriend vftable:0x1B1FD70, Size:0x8C, CRC32:0x7D755EF7 +class cMenuFavoriteFriend /*: cMenuBase, MtObject*/ { +}; + +// cMenuFirstOption vftable:0x1B20BE0, Size:0x7C, CRC32:0x6EF094CB +class cMenuFirstOption /*: cMenuBase, MtObject*/ { +}; + +// cMenuFriendList vftable:0x1B1FBB8, Size:0x98, CRC32:0x10CF0F39 +class cMenuFriendList /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetAreaMasterInfo vftable:0x1B20190, Size:0x90, CRC32:0x388BA438 +class cMenuGetAreaMasterInfo /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetBlackList vftable:0x1B20870, Size:0x7C, CRC32:0x4578736C +class cMenuGetBlackList /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetCharacterName vftable:0x1B1FED0, Size:0x94, CRC32:0xBB84E37 +class cMenuGetCharacterName /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetClanBaseInfo vftable:0x1B23318, Size:0x7C, CRC32:0x5AF75EC2 +class cMenuGetClanBaseInfo /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetClanDetail vftable:0x1B232C0, Size:0x88, CRC32:0x76461C5B +class cMenuGetClanDetail /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetCraftRecipeToServer vftable:0x1B20C90, Size:0xE8, CRC32:0x177F2BED +class cMenuGetCraftRecipeToServer /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetEntryBoardItem vftable:0x1B27430, Size:0x90, CRC32:0x4E44783A +class cMenuGetEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetFriendList vftable:0x1B1FB60, Size:0x7C, CRC32:0x2615ED28 +class cMenuGetFriendList /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetItemBaggageListToServer vftable:0x1B20D40, Size:0x9C, CRC32:0x782615D0 +class cMenuGetItemBaggageListToServer /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetItemListToServer vftable:0x1B206B8, Size:0x9C, CRC32:0x5CEF5529 +class cMenuGetItemListToServer /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetMailList vftable:0x1B203A0, Size:0x84, CRC32:0x3996C8E8 +class cMenuGetMailList /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetMatchingProfile vftable:0x1B1E4A8, Size:0x8C, CRC32:0x55566BB1 +class cMenuGetMatchingProfile /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetMyClan vftable:0x1B23268, Size:0x7C, CRC32:0x653149EE +class cMenuGetMyClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetMyScoutEntry vftable:0x1B236E0, Size:0x7C, CRC32:0x2A2653C4 +class cMenuGetMyScoutEntry /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetOrbGainExtendParam vftable:0x1B20710, Size:0x7C, CRC32:0x429FCC6 +class cMenuGetOrbGainExtendParam /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetPawnName vftable:0x1B1FF28, Size:0x8C, CRC32:0x7DF5A87 +class cMenuGetPawnName /*: cMenuBase, MtObject*/ { +}; + +// cMenuGetRecentList vftable:0x1B207C0, Size:0x7C, CRC32:0x31D16848 +class cMenuGetRecentList /*: cMenuBase, MtObject*/ { +}; + +// cMenuGroupChatMemberList vftable:0x1B20A80, Size:0x17C, CRC32:0x62C8B7ED +class cMenuGroupChatMemberList /*: cMenuBase, MtObject*/ { +}; + +// cMenuInfinityDelivery vftable:0x1B26DB8, Size:0x94, CRC32:0x5D233ED6 +class cMenuInfinityDelivery /*: cMenuBase, MtObject*/ { +}; + +// cMenuInvite vftable:0x1B1FB08, Size:0xA4, CRC32:0x2A430F96 +class cMenuInvite /*: cMenuBase, MtObject*/ { +}; + +// cMenuInviteClan vftable:0x1B23738, Size:0x88, CRC32:0xD18FF7B +class cMenuInviteClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuInviteEntryBoardItem vftable:0x1B27958, Size:0x90, CRC32:0x43B7B97B +class cMenuInviteEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuInviteGroupChat vftable:0x1B20978, Size:0x88, CRC32:0x5CD55AB6 +class cMenuInviteGroupChat /*: cMenuBase, MtObject*/ { +}; + +// cMenuJobMaster vftable:0x1B293D0, Size:0xC4, CRC32:0x435354E4 +class cMenuJobMaster /*: cMenu, cMenuBase, MtObject*/ { +}; + +// cMenuJoinEntryBoardItem vftable:0x1B27488, Size:0x98, CRC32:0x56B1340D +class cMenuJoinEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuJoinGameSession vftable:0x1B1EF50, Size:0x84, CRC32:0x573707BE +class cMenuJoinGameSession /*: cMenuBase, MtObject*/ { +}; + +// cMenuJoinPartyFlow vftable:0x1B1F058, Size:0x7C, CRC32:0x4348E0A9 +class cMenuJoinPartyFlow /*: cMenuBase, MtObject*/ { +}; + +// cMenuKeyConfig vftable:0x1B21000, Size:0x98, CRC32:0x59B218F1 +class cMenuKeyConfig /*: cMenuBase, MtObject*/ { +}; + +// cMenuKeyConfigCopyCategory vftable:0x1B211F8, Size:0x88, CRC32:0x2B6F78CA +class cMenuKeyConfigCopyCategory /*: cMenuBase, MtObject*/ { +}; + +// cMenuKeyConfigRenameCategory vftable:0x1B211A0, Size:0xB4, CRC32:0x2C4493FA +class cMenuKeyConfigRenameCategory /*: cMenuBase, MtObject*/ { +}; + +// cMenuKeyConfigSubMenu vftable:0x1B21080, Size:0x7C, CRC32:0x27DDAB03 +class cMenuKeyConfigSubMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuKeyConfigSubMenuCategoryList vftable:0x1B21140, Size:0x80, CRC32:0x605FFA31 +class cMenuKeyConfigSubMenuCategoryList /*: cMenuKeyConfigSubMenu, cMenuBase, MtObject*/ { +}; + +// cMenuKeyConfigSubMenuKeyList vftable:0x1B210E0, Size:0x84, CRC32:0x4CA3D40A +class cMenuKeyConfigSubMenuKeyList /*: cMenuKeyConfigSubMenu, cMenuBase, MtObject*/ { +}; + +// cMenuKeyJobLink vftable:0x1B21250, Size:0xBC, CRC32:0x5EA69483 +class cMenuKeyJobLink /*: cMenuBase, MtObject*/ { +}; + +// cMenuKickGroupChat vftable:0x1B20A28, Size:0x88, CRC32:0x38E87E7C +class cMenuKickGroupChat /*: cMenuBase, MtObject*/ { +}; + +// cMenuKokujuEnter vftable:0x1B25F58, Size:0xC0, CRC32:0x50039395 +class cMenuKokujuEnter /*: cMenuBase, MtObject*/ { + u32 'mPawnNum' ; // Offset:0x90, Var, CRC32:0xBA0A2CC7, Flags:0x0 + u32 'mPawnMin' ; // Offset:0x94, Var, CRC32:0xC7329E79, Flags:0x0 +}; + +// cMenuLeaveEntryBoardItem vftable:0x1B274E0, Size:0x80, CRC32:0x62778E16 +class cMenuLeaveEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuLeaveGroupChat vftable:0x1B209D0, Size:0x7C, CRC32:0xAC8736F +class cMenuLeaveGroupChat /*: cMenuBase, MtObject*/ { +}; + +// cMenuLeaveOnTheWay vftable:0x1B20AD8, Size:0x7C, CRC32:0x16AA4523 +class cMenuLeaveOnTheWay /*: cMenuBase, MtObject*/ { +}; + +// cMenuLostPawnList vftable:0x1B1EB30, Size:0x80, CRC32:0x6B77A408 +class cMenuLostPawnList /*: cMenuBase, MtObject*/ { +}; + +// cMenuLostPawnRevive vftable:0x1B1EB88, Size:0x88, CRC32:0x2D383D2 +class cMenuLostPawnRevive /*: cMenuBase, MtObject*/ { +}; + +// cMenuMail vftable:0x1B20348, Size:0x1368, CRC32:0x44923FB1 +class cMenuMail /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailCreate vftable:0x1B20450, Size:0xE8, CRC32:0x4AB0BC5A +class cMenuMailCreate /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailDelete vftable:0x1B20500, Size:0x90, CRC32:0x7F742026 +class cMenuMailDelete /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailDeleteMulti vftable:0x1B20558, Size:0x90, CRC32:0x6C1DD378 +class cMenuMailDeleteMulti /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailDetail vftable:0x1B203F8, Size:0xA8, CRC32:0x6B602332 +class cMenuMailDetail /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailGetItem vftable:0x1B205B0, Size:0x90, CRC32:0x6A6D3A60 +class cMenuMailGetItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailGetItemAll vftable:0x1B20608, Size:0x90, CRC32:0x2269E6F9 +class cMenuMailGetItemAll /*: cMenuBase, MtObject*/ { +}; + +// cMenuMailToList vftable:0x1B204A8, Size:0xC8, CRC32:0x3ACBDA73 +class cMenuMailToList /*: cMenuBase, MtObject*/ { +}; + +// cMenuMandraControl vftable:0x1B24598, Size:0xA0, CRC32:0x362E7A10 +class cMenuMandraControl /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuCheckManure vftable:0x1B247A8, Size:0x9C, CRC32:0x7CABCCE3 +class cMenuMandraMenuCheckManure /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuGrow vftable:0x1B245F0, Size:0x39C, CRC32:0x27DCD53E +class cMenuMandraMenuGrow /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuItemReceive vftable:0x1B24800, Size:0x90, CRC32:0x3C89CB98 +class cMenuMandraMenuItemReceive /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuModelChange vftable:0x1B24648, Size:0x8C, CRC32:0x100D6604 +class cMenuMandraMenuModelChange /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuNameChange vftable:0x1B246A0, Size:0x88, CRC32:0x62D55E61 +class cMenuMandraMenuNameChange /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuQuickGrow vftable:0x1B24750, Size:0x84, CRC32:0x5796E772 +class cMenuMandraMenuQuickGrow /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraMenuSoilChange vftable:0x1B246F8, Size:0x84, CRC32:0x6995C482 +class cMenuMandraMenuSoilChange /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraPictureBook vftable:0x1B24858, Size:0x88, CRC32:0x56530EFF +class cMenuMandraPictureBook /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMandraSelect vftable:0x1B24540, Size:0x8C, CRC32:0x6F60DC59 +class cMenuMandraSelect /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuMatchingProfile vftable:0x1B1E450, Size:0x1BC, CRC32:0x4621E5E8 +class cMenuMatchingProfile /*: cMenuBase, MtObject*/ { +}; + +// cMenuMyPawnList vftable:0x1B1E9D0, Size:0xE0, CRC32:0x6ADE4DA4 +class cMenuMyPawnList /*: cMenuBase, MtObject*/ { +}; + +// cMenuMyRoomBase vftable:0x1B244E8, Size:0x84, CRC32:0x549DCDDB +class cMenuMyRoomBase /*: cMenuBase, MtObject*/ { +}; + +// cMenuOnlineShop vftable:0x1B20EF8, Size:0x84, CRC32:0x7CAC6C8C +class cMenuOnlineShop /*: cMenuBase, MtObject*/ { +}; + +// cMenuPartyList vftable:0x1B1E6B8, Size:0x1CC, CRC32:0x324150E7 +class cMenuPartyList /*: cMenuBase, MtObject*/ { +}; + +// cMenuPartyListMemberInfo vftable:0x1B1E710, Size:0x80, CRC32:0x4604ED18 +class cMenuPartyListMemberInfo /*: cMenuBase, MtObject*/ { +}; + +// cMenuPartyManager vftable:0x1B1E500, Size:0x80, CRC32:0x4947C555 +class cMenuPartyManager /*: cMenuBase, MtObject*/ { +}; + +// cMenuPartyMemberList vftable:0x1B1E558, Size:0x90, CRC32:0x4D495DEC +class cMenuPartyMemberList /*: cMenuBase, MtObject*/ { +}; + +// cMenuPartyReq vftable:0x1B1E660, Size:0xA0, CRC32:0x4D3FA402 +class cMenuPartyReq /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnDelete vftable:0x1B1ED40, Size:0x88, CRC32:0x538A184E +class cMenuPawnDelete /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnFeedback vftable:0x1B1ECE8, Size:0x88, CRC32:0x43177679 +class cMenuPawnFeedback /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnHistory vftable:0x1B1ED98, Size:0x80, CRC32:0x17E97DB6 +class cMenuPawnHistory /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnManageMenu vftable:0x1B1EBE0, Size:0x7C, CRC32:0x59EA4D45 +class cMenuPawnManageMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnManager vftable:0x1B1EC38, Size:0x80, CRC32:0x4A772844 +class cMenuPawnManager /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnPoint vftable:0x1B1F9A8, Size:0x94, CRC32:0x430E7F04 +class cMenuPawnPoint /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnRental vftable:0x1B1EEA0, Size:0x84, CRC32:0x7F81A6B4 +class cMenuPawnRental /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnReqList vftable:0x1B1E978, Size:0x8C, CRC32:0xFFDCC2D +class cMenuPawnReqList /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnReqMenu vftable:0x1B1E920, Size:0x7C, CRC32:0x36300EA6 +class cMenuPawnReqMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnReturn vftable:0x1B1EC90, Size:0x90, CRC32:0x4E065BC6 +class cMenuPawnReturn /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnRevive vftable:0x1B1F160, Size:0xAC, CRC32:0x28DD5D5 +class cMenuPawnRevive /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnSearch vftable:0x1B1EAD8, Size:0x36C, CRC32:0x5D68BF6E +class cMenuPawnSearch /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnSetPartner vftable:0x1B20CE8, Size:0x84, CRC32:0x2671923A +class cMenuPawnSetPartner /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnShareRange vftable:0x1B1EDF0, Size:0x84, CRC32:0x37354F6D +class cMenuPawnShareRange /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnSpecialSkill vftable:0x1B29B80, Size:0xC0, CRC32:0x75DEA775 +class cMenuPawnSpecialSkill /*: cMenuBase, MtObject*/ { +}; + +// cMenuPawnSpecialSkillActiveList vftable:0x1B2A170, Size:0x134, CRC32:0x56D7E323 +class cMenuPawnSpecialSkillActiveList /*: cMenuPawnSpecialSkill, cMenuBase, MtObject*/ { +}; + +// cMenuPawnSpecialSkillItemSelect vftable:0x1B2A008, Size:0xE8, CRC32:0x7D744947 +class cMenuPawnSpecialSkillItemSelect /*: cMenuPawnSpecialSkill, cMenuBase, MtObject*/ { +}; + +// cMenuPawnSpecialSkillManager vftable:0x1B29F28, Size:0x21C, CRC32:0x78988C17 +class cMenuPawnSpecialSkillManager /*: cMenuPawnSpecialSkill, cMenuBase, MtObject*/ { +}; + +// cMenuPawnThinkControl vftable:0x1B25688, Size:0x170, CRC32:0x8061567 +class cMenuPawnThinkControl /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuPlDeadMenu vftable:0x1B1F108, Size:0x7C, CRC32:0x749560AC +class cMenuPlDeadMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuPlayWithPawn vftable:0x1B248B0, Size:0xD0, CRC32:0x14BF9167 +class cMenuPlayWithPawn /*: cMenuMyRoomBase, cMenuBase, MtObject*/ { +}; + +// cMenuQuickMatch vftable:0x1B1E818, Size:0x90, CRC32:0x56751843 +class cMenuQuickMatch /*: cMenuBase, MtObject*/ { +}; + +// cMenuQuickMatchCancel vftable:0x1B1E8C8, Size:0x7C, CRC32:0xDF4C7CA +class cMenuQuickMatchCancel /*: cMenuBase, MtObject*/ { +}; + +// cMenuQuickMatchRetry vftable:0x1B1E870, Size:0x7C, CRC32:0x1D26847A +class cMenuQuickMatchRetry /*: cMenuBase, MtObject*/ { +}; + +// cMenuQuickMatchSelect vftable:0x1B1E7C0, Size:0x8C, CRC32:0x1010E878 +class cMenuQuickMatchSelect /*: cMenuBase, MtObject*/ { +}; + +// cMenuQuitClan vftable:0x1B23420, Size:0x7C, CRC32:0x2312F6B7 +class cMenuQuitClan /*: cMenuBase, MtObject*/ { +}; + +// cMenuReadyCheck vftable:0x1B202F0, Size:0xA8, CRC32:0xF0B0E8C +class cMenuReadyCheck /*: cMenuBase, MtObject*/ { +}; + +// cMenuReadyEntryBoardItem vftable:0x1B27538, Size:0x7C, CRC32:0x5588EDC +class cMenuReadyEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuRecentList vftable:0x1B20818, Size:0x88, CRC32:0x70B8A59 +class cMenuRecentList /*: cMenuBase, MtObject*/ { +}; + +// cMenuRecreateEntryBoardItem vftable:0x1B27640, Size:0x7C, CRC32:0x1EFE9887 +class cMenuRecreateEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuReleasePassEntryBoardItem vftable:0x1B27698, Size:0x7C, CRC32:0x6131720E +class cMenuReleasePassEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuRemoveFriend vftable:0x1B1FD18, Size:0x88, CRC32:0x264E94C0 +class cMenuRemoveFriend /*: cMenuBase, MtObject*/ { +}; + +// cMenuRentalPawnList vftable:0x1B1EA28, Size:0xD8, CRC32:0x5C771C1B +class cMenuRentalPawnList /*: cMenuBase, MtObject*/ { +}; + +// cMenuResetCraftPoint vftable:0x1B20C38, Size:0x80, CRC32:0x3634B9B6 +class cMenuResetCraftPoint /*: cMenuBase, MtObject*/ { +}; + +// cMenuSearchFilter vftable:0x1B1E5B0, Size:0xC0, CRC32:0x5FE30F4 +class cMenuSearchFilter /*: cMenuBase, MtObject*/ { +}; + +// cMenuServerList vftable:0x1B201E8, Size:0x890, CRC32:0x6B6953E2 +class cMenuServerList /*: cMenuBase, MtObject*/ { +}; + +// cMenuSetClanName vftable:0x1B22C90, Size:0x94, CRC32:0x5F9C5B40 +class cMenuSetClanName /*: cMenuBase, MtObject*/ { +}; + +// cMenuSetClanNickName vftable:0x1B22CE8, Size:0x88, CRC32:0x59E50C6D +class cMenuSetClanNickName /*: cMenuBase, MtObject*/ { +}; + +// cMenuSetJob vftable:0x1B1FE78, Size:0xA8, CRC32:0x588E7171 +class cMenuSetJob /*: cMenuBase, MtObject*/ { +}; + +// cMenuSetLevel vftable:0x1B1FDC8, Size:0xB0, CRC32:0x367AFD6A +class cMenuSetLevel /*: cMenuBase, MtObject*/ { +}; + +// cMenuSetLimitPreset vftable:0x1B1FE20, Size:0xB0, CRC32:0x719CC1E9 +class cMenuSetLimitPreset /*: cMenuBase, MtObject*/ { +}; + +// cMenuShop vftable:0x1B1F1B8, Size:0x88, CRC32:0x39DEDF5B +class cMenuShop /*: cMenuBase, MtObject*/ { +}; + +// cMenuSimplePartyReq vftable:0x1B1E608, Size:0x80, CRC32:0x3C7C8525 +class cMenuSimplePartyReq /*: cMenuBase, MtObject*/ { +}; + +// cMenuStartEntryBoardItem vftable:0x1B27590, Size:0x7C, CRC32:0x5AF3C10B +class cMenuStartEntryBoardItem /*: cMenuBase, MtObject*/ { +}; + +// cMenuStartGameSession vftable:0x1B1F000, Size:0x84, CRC32:0x69FCDFDF +class cMenuStartGameSession /*: cMenuBase, MtObject*/ { +}; + +// cMenuSubMenu vftable:0x1B1FAB0, Size:0x1D0, CRC32:0x57B6D8B2 +class cMenuSubMenu /*: cMenuBase, MtObject*/ { +}; + +// cMenuSupport vftable:0x1B2A720, Size:0x8, CRC32:0x5330D431 +class cMenuSupport /*: MtObject*/ { +}; + +// cMenuSupportList vftable:0x1B2A780, Size:0x48, CRC32:0x2A8DBCAF +class cMenuSupportList /*: cMenuSupportMenu, cMenuSupport, MtObject*/ { +}; + +// cMenuSupportMenu vftable:0x1B2A760, Size:0x20, CRC32:0x13407E24 +class cMenuSupportMenu /*: cMenuSupport, MtObject*/ { +}; + +// cMenuTraining vftable:0x1B20FA8, Size:0x7C, CRC32:0x70A10660 +class cMenuTraining /*: cMenuBase, MtObject*/ { +}; + +// cMenuTreasuresLot vftable:0x1B20DF0, Size:0x98, CRC32:0x7B2A0C3C +class cMenuTreasuresLot /*: cMenuBase, MtObject*/ { +}; + +// cMenuTreasuresLotAnnounce vftable:0x1B20E48, Size:0x7C, CRC32:0x4775BB82 +class cMenuTreasuresLotAnnounce /*: cMenuBase, MtObject*/ { +}; + +// cMenuUILargeSetting vftable:0x1B1FA58, Size:0x80, CRC32:0x2DCBF550 +class cMenuUILargeSetting /*: cMenuBase, MtObject*/ { +}; + +// cMenuUpdateCommunityList vftable:0x1B20240, Size:0x80, CRC32:0xDEFE0A +class cMenuUpdateCommunityList /*: cMenuBase, MtObject*/ { +}; + +// cMethodConstantBase vftable:0x1BBEAC0, Size:0x60, CRC32:0x49C76191 +class cMethodConstantBase /*: MtObject*/ { +}; + +// cMethodConstantManagerBase vftable:0x1BBEADC, Size:0xC20, CRC32:0x29FB0C7F +class cMethodConstantManagerBase /*: MtObject*/ { +}; + +// cMobHuntQuestManager vftable:0x1B2B2B8, Size:0x3C, CRC32:0x3FD04BAD +class cMobHuntQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cMobHuntQuestManager::cMobHuntQuestInfo vftable:0x1B2B308, Size:0x18, CRC32:0x7FE63A4F +class cMobHuntQuestManager::cMobHuntQuestInfo /*: MtObject*/ { +}; + +// cMockActPauseStop vftable:0x1D696A8, Size:0x14, CRC32:0x173E2E47 +class cMockActPauseStop /*: cAction, MtObject*/ { +}; + +// cMockActWait vftable:0x1D69660, Size:0x18, CRC32:0x126F3B00 +class cMockActWait /*: cAction, MtObject*/ { +}; + +// cModelConstInfo vftable:0x1B892A0, Size:0x40, CRC32:0x1BE510C8 +class cModelConstInfo /*: MtObject*/ { +}; + +// cModelList vftable:0x1BF996C, Size:0x18, CRC32:0x3E0F9AD4 +class cModelList /*: MtObject*/ { +}; + +// cMotionFilter vftable:0x1C67E80, Size:0x10, CRC32:0x3AD8B737 +class cMotionFilter /*: MtObject*/ { +}; + +// cMotionParam vftable:0x1C67F84, Size:0x14, CRC32:0x68245382 +class cMotionParam /*: MtObject*/ { +}; + +// cMyRoomActParam vftable:0x1C68218, Size:0x40, CRC32:0x4222C26B +class cMyRoomActParam /*: MtObject*/ { + vector3 'Pos' ; // Offset:0x10, Var, CRC32:0x476B5FB3, Flags:0x0 + f32 'AngleY' ; // Offset:0x20, Var, CRC32:0x413AC5F5, Flags:0x0 + u16 'Waypoint' ; // Offset:0x24, Var, CRC32:0xB555C528, Flags:0x0 + u16 'NpcMotNo' ; // Offset:0x26, Var, CRC32:0xE7EBF8F5, Flags:0x0 + u16 'StartIdx' ; // Offset:0x28, Var, CRC32:0xDDB099F2, Flags:0x0 + u32 'NeedOM' ; // Offset:0x2C, Var, CRC32:0x1617C757, Flags:0x0 + s16 'Message' ; // Offset:0x30, Var, CRC32:0x86FFF61C, Flags:0x0 + u16 'Condition' ; // Offset:0x32, Var, CRC32:0xC0D8F51F, Flags:0x0 + s16 'LinkActNo' ; // Offset:0x34, Var, CRC32:0xFB419F29, Flags:0x0 + u16 'LinkActLv' ; // Offset:0x36, Var, CRC32:0xAD1C556B, Flags:0x0 + s16 'ChangeEquip' ; // Offset:0x38, Var, CRC32:0x7423A53C, Flags:0x0 + bool 'IsGriffin' ; // Offset:0x3A, Var, CRC32:0x565EB983, Flags:0x0 + bool 'IsNotAvoid' ; // Offset:0x3B, Var, CRC32:0xF00290FC, Flags:0x0 + bool 'IsSingle' ; // Offset:0x3C, Var, CRC32:0xD46B06A, Flags:0x0 + bool 'IsWoodDeck' ; // Offset:0x3D, Var, CRC32:0xCE23A837, Flags:0x0 +}; + +// cNamedParam vftable:0x1C68328, Size:0x3C, CRC32:0x3439232A +class cNamedParam /*: MtObject*/ { + u16 'mAilmentDamage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAB3BC0, Setter:0x48F9D0, CRC32:0xD2409E61, Flags:0x800000 + u16 'mOcdEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9052F0, Setter:0x48FC60, CRC32:0xAE2217FA, Flags:0x800000 + u16 'mBlowEnduranceSub' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905100, Setter:0x48FA90, CRC32:0x90E47399, Flags:0x800000 + u16 'mShrinkEnduranceSub' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9053B0, Setter:0x48FF50, CRC32:0x248F59E1, Flags:0x800000 + u16 'mHpSub' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9052C0, Setter:0x48FC30, CRC32:0x66E5ECE2, Flags:0x800000 + u16 'mShakeEnduranceMain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905350, Setter:0x48FEF0, CRC32:0xF84DB9DF, Flags:0x800000 + u16 'mDownEnduranceMain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905200, Setter:0x48FBD0, CRC32:0xA6A7E219, Flags:0x800000 + u16 'mBlowEnduranceMain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9050D0, Setter:0x48FA60, CRC32:0x6B547107, Flags:0x800000 + u16 'mShrinkEnduranceMain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905380, Setter:0x48FF20, CRC32:0x353EE323, Flags:0x800000 + u16 'mGuardDefenceWep' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905260, Setter:0xAB41A0, CRC32:0x68273013, Flags:0x800000 + u16 'mGuardDefenceBase' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905230, Setter:0xAB4170, CRC32:0xF2EDAF8B, Flags:0x800000 + u16 'mPower' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905320, Setter:0x48FC90, CRC32:0x563E9B61, Flags:0x800000 + u16 'mDefenceWepMagic' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9051A0, Setter:0xAB40E0, CRC32:0xD87DF978, Flags:0x800000 + u16 'mDefenceBaseMagic' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905140, Setter:0x48FB70, CRC32:0xE39C784E, Flags:0x800000 + u16 'mAttackWepMagic' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905070, Setter:0xAB4080, CRC32:0xE1BD3D70, Flags:0x800000 + u16 'mAttackBaseMagic' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905010, Setter:0x48FA00, CRC32:0xED7E30B8, Flags:0x800000 + u16 'mDefenceWepPhys' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9051D0, Setter:0xAB4110, CRC32:0xF453D0A3, Flags:0x800000 + u16 'mDefenceBasePhys' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905170, Setter:0x48FBA0, CRC32:0x7BF22E83, Flags:0x800000 + u16 'mAttackWepPhys' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9050A0, Setter:0xAB40B0, CRC32:0x37241A40, Flags:0x800000 + u16 'mAttackBasePhys' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905040, Setter:0x48FA30, CRC32:0x4232EA8B, Flags:0x800000 + u16 'mExperience' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAB3CB0, Setter:0xAB4140, CRC32:0xA67F3F89, Flags:0x800000 + u32 'mHpRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x905290, Setter:0x48FC00, CRC32:0xCCB12A71, Flags:0x800000 + u32 'mType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAB3D20, Setter:0xAB4200, CRC32:0x55D79C15, Flags:0x800000 + u32 'mID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAB3CF0, Setter:0xAB41D0, CRC32:0x10BB0F5B, Flags:0x800000 +}; + +// cNetCtrl vftable:0x1BBF538, Size:0x80, CRC32:0x30000000, CalcCRC:0x7B25054 +class cNetCtrl /*: cNetBase, cRemoteProcedure, MtObject*/ { + bool 'mValid' ; // Offset:0xC, Var, CRC32:0x71B3AF3E, Flags:0x0 + bool 'mKill' ; // Offset:0xD, Var, CRC32:0xDE209D55, Flags:0x0 + u64 'mID' ; // Offset:0x20, Var, CRC32:0x10BB0F5B, Flags:0x10000 + string 'mGroup' ; // Offset:0x28, Var, CRC32:0x9074DE04, Flags:0x10000 +}; + +// cNetGame vftable:0x1BBFA50, Size:0x78, CRC32:0x31000000, CalcCRC:0x26BB10A2 +class cNetGame /*: cNetBase, cRemoteProcedure, MtObject*/ { + bool 'mValid' ; // Offset:0xC, Var, CRC32:0x71B3AF3E, Flags:0x0 + bool 'mKill' ; // Offset:0xD, Var, CRC32:0xDE209D55, Flags:0x0 + u64 'mID' ; // Offset:0x20, Var, CRC32:0x10BB0F5B, Flags:0x10000 + string 'mGroup' ; // Offset:0x28, Var, CRC32:0x9074DE04, Flags:0x10000 +}; + +// cNetGameServer vftable:0x1BC5C10, Size:0xA460, CRC32:0x2E84A5CD +class cNetGameServer /*: MtObject*/ { +}; + +// cNetGameServer::cChatLog vftable:0x1BC5B8C, Size:0x10, CRC32:0x68530864 +class cNetGameServer::cChatLog /*: MtObject*/ { +}; + +// cNetGameServer::cCtrlFlow vftable:0x1BC5B64, Size:0x20, CRC32:0x54589C2F +class cNetGameServer::cCtrlFlow /*: MtObject*/ { +}; + +// cNetLoginServer vftable:0x1BD6AAC, Size:0x12C0, CRC32:0x794F67C6 +class cNetLoginServer /*: MtObject*/ { +}; + +// cNetLoginServer::cCtrlFlow vftable:0x1BD6A98, Size:0x24, CRC32:0x3D792767 +class cNetLoginServer::cCtrlFlow /*: MtObject*/ { + s32 'mRno0' ; // Offset:0x4, Var, CRC32:0xBF8EDDD9, Flags:0x0 + s32 'mRno1' ; // Offset:0x8, Var, CRC32:0xC889ED4F, Flags:0x0 + s32 'mError.mNo' ; // Offset:0x10, Var, CRC32:0xF04E99F2, Flags:0x0 + f32 'mFTimer' ; // Offset:0x1C, Var, CRC32:0x3CC0E2D6, Flags:0x0 + bool 'mIsCallback' ; // Offset:0x20, Var, CRC32:0x41148F4F, Flags:0x0 +}; + +// cNetMsgCtrlAction vftable:0x1BD7668, Size:0x44, CRC32:0x40010000, CalcCRC:0x417052C4 +class cNetMsgCtrlAction /*: cNetMsgCtrlBase, cNetMsgBase, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cNetMsgGameEasy vftable:0x1BD7BD0, Size:0x44, CRC32:0x41010000, CalcCRC:0x5E48A682 +class cNetMsgGameEasy /*: cNetMsgGameBase, cNetMsgBase, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cNetMsgGameNormal vftable:0x1BD7BA0, Size:0x44, CRC32:0x41000000, CalcCRC:0x788677A2 +class cNetMsgGameNormal /*: cNetMsgGameBase, cNetMsgBase, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cNetMsgReceiveInfo vftable:0x1BD70A8, Size:0x70, CRC32:0x59C5A316 +class cNetMsgReceiveInfo /*: MtNetObject, MtObject*/ { + bool 'mIsThreadSafe' ; // Offset:0x1C, Var, CRC32:0x22291F30, Flags:0x10000 + s32 'mLockCount' ; // Offset:0x20, Var, CRC32:0x53566FD7, Flags:0x10000 + s32 'mFatal.mNo' ; // Offset:0x24, Var, CRC32:0xBDFDEE56, Flags:0x0 + s32 'mFatal.mCause' ; // Offset:0x28, Var, CRC32:0x187FA4A7, Flags:0x0 + s32 'mFatal.mNative' ; // Offset:0x2C, Var, CRC32:0x10ECFB7, Flags:0x0 + vector3 'mPos' ; // Offset:0x30, Var, CRC32:0x50227663, Flags:0x0 + quaternion 'mQuat' ; // Offset:0x40, Var, CRC32:0x527A96A1, Flags:0x0 +}; + +// cNetMsgSetNormal vftable:0x1BD8118, Size:0x44, CRC32:0x43000000, CalcCRC:0x70596F41 +class cNetMsgSetNormal /*: cNetMsgSetBase, cNetMsgBase, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cNetMsgToolEasy vftable:0x1BD8680, Size:0x44, CRC32:0x4F010000, CalcCRC:0x3C9B286D +class cNetMsgToolEasy /*: cNetMsgToolBase, cNetMsgBase, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cNetMsgToolNormal vftable:0x1BD8650, Size:0x44, CRC32:0x4F000000, CalcCRC:0x2B60D475 +class cNetMsgToolNormal /*: cNetMsgToolBase, cNetMsgBase, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cNetSessionManager vftable:0x1BD8DCC, Size:0x458, CRC32:0x79EDA75C +class cNetSessionManager /*: MtObject*/ { +}; + +// cNetSet vftable:0x1BD92D0, Size:0x78, CRC32:0x33000000, CalcCRC:0x7908683D +class cNetSet /*: cNetBase, cRemoteProcedure, MtObject*/ { + bool 'mValid' ; // Offset:0xC, Var, CRC32:0x71B3AF3E, Flags:0x0 + bool 'mKill' ; // Offset:0xD, Var, CRC32:0xDE209D55, Flags:0x0 + u64 'mID' ; // Offset:0x20, Var, CRC32:0x10BB0F5B, Flags:0x10000 + string 'mGroup' ; // Offset:0x28, Var, CRC32:0x9074DE04, Flags:0x10000 +}; + +// cNetStorage vftable:0x1BD97C4, Size:0x60, CRC32:0x65782F6E +class cNetStorage /*: MtObject*/ { +}; + +// cNetTool vftable:0x1BD9CA0, Size:0x78, CRC32:0x3F000000, CalcCRC:0x25631FFF +class cNetTool /*: cNetBase, cRemoteProcedure, MtObject*/ { + bool 'mValid' ; // Offset:0xC, Var, CRC32:0x71B3AF3E, Flags:0x0 + bool 'mKill' ; // Offset:0xD, Var, CRC32:0xDE209D55, Flags:0x0 + u64 'mID' ; // Offset:0x20, Var, CRC32:0x10BB0F5B, Flags:0x10000 + string 'mGroup' ; // Offset:0x28, Var, CRC32:0x9074DE04, Flags:0x10000 +}; + +// cNodeGeomIterator vftable:0x1B155E8, Size:0x14, CRC32:0x19E287B9 +class cNodeGeomIterator /*: MtObject*/ { +}; + +// cNpcConstItem vftable:0x1C68658, Size:0xC, CRC32:0x74C650B2 +class cNpcConstItem /*: MtObject*/ { + u32 'MTag' ; // Offset:0x4, Var, CRC32:0x73408872, Flags:0x0 + u32 'Offset' ; // Offset:0x8, Var, CRC32:0xA1593019, Flags:0x0 +}; + +// cNpcCustomSkill vftable:0x1C68764, Size:0x1C, CRC32:0x3AC1FE21 +class cNpcCustomSkill /*: MtObject*/ { + u32 'ThinkId' ; // Offset:0x4, Var, CRC32:0x319380D2, Flags:0x0 + u16 'CustomSkill1' ; // Offset:0x8, Var, CRC32:0xE4B40308, Flags:0x0 + u16 'CustomSkill2' ; // Offset:0xA, Var, CRC32:0x7DBD52B2, Flags:0x0 + u16 'CustomSkill3' ; // Offset:0xC, Var, CRC32:0xABA6224, Flags:0x0 + u16 'CustomSkill4' ; // Offset:0xE, Var, CRC32:0x94DEF787, Flags:0x0 + u16 'Lv1' ; // Offset:0x10, Var, CRC32:0x51858C03, Flags:0x0 + u16 'Lv2' ; // Offset:0x12, Var, CRC32:0xC88CDDB9, Flags:0x0 + u16 'Lv3' ; // Offset:0x14, Var, CRC32:0xBF8BED2F, Flags:0x0 + u16 'Lv4' ; // Offset:0x16, Var, CRC32:0x21EF788C, Flags:0x0 + u16 'NormalSkill' ; // Offset:0x18, Var, CRC32:0xAE38C920, Flags:0x0 +}; + +// cNpcIsNoSetPS3 vftable:0x1C68A0C, Size:0x10, CRC32:0x63E80B2B +class cNpcIsNoSetPS3 /*: MtObject*/ { + u16 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + u16 'mGroupNo' ; // Offset:0x6, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u8 'mUnitNo' ; // Offset:0x8, Var, CRC32:0x54923B8B, Flags:0x0 + u32 'mQuestId' ; // Offset:0xC, Var, CRC32:0x1FBA8D43, Flags:0x0 +}; + +// cNpcIsUseJobParamEx vftable:0x1C68B0C, Size:0x10, CRC32:0x1D63DA1C +class cNpcIsUseJobParamEx /*: MtObject*/ { + u16 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + u16 'mGroupNo' ; // Offset:0x6, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u8 'mUnitNo' ; // Offset:0x8, Var, CRC32:0x54923B8B, Flags:0x0 + u32 'mQuestId' ; // Offset:0xC, Var, CRC32:0x1FBA8D43, Flags:0x0 +}; + +// cNpcMeetingPlace vftable:0x1C68DEC, Size:0x10, CRC32:0x1AFF0295 +class cNpcMeetingPlace /*: MtObject*/ { + u32 'mNpcId' ; // Offset:0x4, Var, CRC32:0x575E2018, Flags:0x0 + s32 'mStageNo' ; // Offset:0x8, Var, CRC32:0xACF5AFCF, Flags:0x0 + u32 'mStartPosNo' ; // Offset:0xC, Var, CRC32:0xB947F49B, Flags:0x0 +}; + +// cObjCollisionNodeArray vftable:0x1B31A88, Size:0x10, CRC32:0x19E42678 +class cObjCollisionNodeArray /*: MtObject*/ { +}; + +// cObjHitCache vftable:0x1B83554, Size:0x40, CRC32:0x30489971 +class cObjHitCache /*: MtObject*/ { + u32 'mUID' ; // Offset:0x10, Var, CRC32:0x2D8A92A3, Flags:0x0 + f32 'mTimer' ; // Offset:0x14, Var, CRC32:0x976444DB, Flags:0x0 + f32 'mAge' ; // Offset:0x18, Var, CRC32:0x71CB807D, Flags:0x0 + s32 'mLinkID' ; // Offset:0x1C, Var, CRC32:0xAB3B07BB, Flags:0x0 + u32 'mAtkAttr' ; // Offset:0x20, Var, CRC32:0xC816B18C, Flags:0x0 + u32 'mDfdAttr' ; // Offset:0x24, Var, CRC32:0x5660AA6A, Flags:0x0 + classref 'mpAtkModel' ; // Offset:0x38, Var, CRC32:0x879AB88E, Flags:0x0 + classref 'mpDfdModel' ; // Offset:0x3C, Var, CRC32:0xCE6D89D8, Flags:0x0 +}; + +// cOcdBadDarkDef vftable:0x1BDACD8, Size:0x190, CRC32:0x2923EF86 +class cOcdBadDarkDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadDarkDefHuman vftable:0x1BDD218, Size:0x190, CRC32:0x57F5E6A9 +class cOcdBadDarkDefHuman /*: cOcdBadDarkDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadElectricDef vftable:0x1BDABD8, Size:0x190, CRC32:0x2A054F4 +class cOcdBadElectricDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadElectricDefHuman vftable:0x1BDD118, Size:0x190, CRC32:0xB97C42D +class cOcdBadElectricDefHuman /*: cOcdBadElectricDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadErosionBase vftable:0x1BDD518, Size:0x1A8, CRC32:0x7AAAC67C +class cOcdBadErosionBase /*: cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadErosionLv1 vftable:0x1BDD5A0, Size:0x1A8, CRC32:0x3234965B +class cOcdBadErosionLv1 /*: cOcdBadErosionBase, cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadErosionLv2 vftable:0x1BDD628, Size:0x1A8, CRC32:0x2B3DC7E1 +class cOcdBadErosionLv2 /*: cOcdBadErosionBase, cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadErosionLv3 vftable:0x1BDD6B0, Size:0x1B0, CRC32:0x5C3AF777 +class cOcdBadErosionLv3 /*: cOcdBadErosionBase, cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadErosionLvMAX vftable:0x1BDD738, Size:0x1B0, CRC32:0x111AB66C +class cOcdBadErosionLvMAX /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadFireDef vftable:0x1BDAAD8, Size:0x190, CRC32:0x32300BF1 +class cOcdBadFireDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadFireDefHuman vftable:0x1BDD018, Size:0x190, CRC32:0x49CF42E1 +class cOcdBadFireDefHuman /*: cOcdBadFireDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadHolyDef vftable:0x1BDAC58, Size:0x190, CRC32:0x71495275 +class cOcdBadHolyDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadHolyDefHuman vftable:0x1BDD198, Size:0x190, CRC32:0x3BD85B82 +class cOcdBadHolyDefHuman /*: cOcdBadHolyDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadIceDef vftable:0x1BDAB58, Size:0x190, CRC32:0x3256BF96 +class cOcdBadIceDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadIceDefHuman vftable:0x1BDD098, Size:0x190, CRC32:0x7141FA8 +class cOcdBadIceDefHuman /*: cOcdBadIceDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadKousokuYarare vftable:0x1BDD7B8, Size:0x198, CRC32:0x3179DB3E +class cOcdBadKousokuYarare /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadMgcAtk vftable:0x1BDAE58, Size:0x190, CRC32:0x528F99DA +class cOcdBadMgcAtk /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadMgcAtkHuman vftable:0x1BDD398, Size:0x190, CRC32:0x78EB3F1A +class cOcdBadMgcAtkHuman /*: cOcdBadMgcAtk, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadMgcDef vftable:0x1BDAED8, Size:0x190, CRC32:0x792C049C +class cOcdBadMgcDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadMgcDefHuman vftable:0x1BDD418, Size:0x190, CRC32:0x4D3CB5DA +class cOcdBadMgcDefHuman /*: cOcdBadMgcDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadOil vftable:0x1BDA438, Size:0x190, CRC32:0x5F68892C +class cOcdBadOil /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadOilHuman vftable:0x1BDCA80, Size:0x190, CRC32:0x76857510 +class cOcdBadOilHuman /*: cOcdBadOil, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadPhysAtk vftable:0x1BDAD58, Size:0x190, CRC32:0x5463D5B4 +class cOcdBadPhysAtk /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadPhysAtkHuman vftable:0x1BDD298, Size:0x190, CRC32:0x79899FF1 +class cOcdBadPhysAtkHuman /*: cOcdBadPhysAtk, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadPhysDef vftable:0x1BDADD8, Size:0x190, CRC32:0x7FC048F2 +class cOcdBadPhysDef /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadPhysDefHuman vftable:0x1BDD318, Size:0x190, CRC32:0x4C5E1531 +class cOcdBadPhysDefHuman /*: cOcdBadPhysDef, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBadWeakening vftable:0x1BDD498, Size:0x190, CRC32:0x1209EB40 +class cOcdBadWeakening /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBase vftable:0x1BDC1F0, Size:0x190, CRC32:0x55EAA064 +class cOcdBase /*: MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBlind vftable:0x1BDAA58, Size:0x190, CRC32:0xFACD10 +class cOcdBlind /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBlindEnemy vftable:0x1BDB988, Size:0x190, CRC32:0x20E8D5EF +class cOcdBlindEnemy /*: cOcdBlind, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdBlindHuman vftable:0x1BDCF98, Size:0x190, CRC32:0x7E155AB3 +class cOcdBlindHuman /*: cOcdBlind, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdCache vftable:0x1B835C8, Size:0x10, CRC32:0x633A2EBB +class cOcdCache /*: MtObject*/ { +}; + +// cOcdCounterBreakPartsAfterChance vftable:0x1BDBB08, Size:0x1A8, CRC32:0x6484061D +class cOcdCounterBreakPartsAfterChance /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdCurse vftable:0x1BDA538, Size:0x190, CRC32:0x893ECAE +class cOcdCurse /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdCurseHuman vftable:0x1BDCB80, Size:0x190, CRC32:0x7D30C671 +class cOcdCurseHuman /*: cOcdCurse, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdCustomReqInfo vftable:0x1B835F0, Size:0x14, CRC32:0x7E0FB353 +class cOcdCustomReqInfo /*: MtObject*/ { +}; + +// cOcdDamageInfo vftable:0x1BDE8D8, Size:0x6D4, CRC32:0x4F7E75BA +class cOcdDamageInfo /*: MtObject*/ { +}; + +// cOcdDarkPhase vftable:0x1BDBB88, Size:0x190, CRC32:0x20DAB138 +class cOcdDarkPhase /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdElectric vftable:0x1BDA950, Size:0x1B0, CRC32:0x5D65170F +class cOcdElectric /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdElectricEnemy vftable:0x1BDB780, Size:0x1E8, CRC32:0x4968C8DE +class cOcdElectricEnemy /*: cOcdElectric, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdElectricHuman vftable:0x1BDCF10, Size:0x1B0, CRC32:0x17954782 +class cOcdElectricHuman /*: cOcdElectric, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdElectricParam vftable:0x1C69178, Size:0x8, CRC32:0x160DEEFE +class cOcdElectricParam /*: MtObject*/ { +}; + +// cOcdElementCover vftable:0x1BE12D8, Size:0x190, CRC32:0x127ECAB1 +class cOcdElementCover /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdEnchant vftable:0x1BDEE20, Size:0x1A8, CRC32:0x627E45B9 +class cOcdEnchant /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdEnchantEnemy vftable:0x1BDEEA0, Size:0x190, CRC32:0x7F4694EE +class cOcdEnchantEnemy /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdEnemyOrcRage vftable:0x1BE03D0, Size:0x198, CRC32:0x3599DBE9 +class cOcdEnemyOrcRage /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdEnemyOrcRageCaptain vftable:0x1BE0350, Size:0x190, CRC32:0x9C61B63 +class cOcdEnemyOrcRageCaptain /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdErosionCancel vftable:0x1BE02D0, Size:0x190, CRC32:0x4B20EA1 +class cOcdErosionCancel /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdExplosiveArrowHuman vftable:0x1BE1258, Size:0x190, CRC32:0x2FD9354C +class cOcdExplosiveArrowHuman /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdFreeze vftable:0x1BDA8D0, Size:0x190, CRC32:0x76EC7B0D +class cOcdFreeze /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdFreezeEnemy vftable:0x1BDB700, Size:0x190, CRC32:0x5ACC0E63 +class cOcdFreezeEnemy /*: cOcdFreeze, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdFreezeHuman vftable:0x1BDCE90, Size:0x1B0, CRC32:0x431813F +class cOcdFreezeHuman /*: cOcdFreeze, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGold vftable:0x1BDA850, Size:0x190, CRC32:0x52F74354 +class cOcdGold /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoldEnemy vftable:0x1BDB600, Size:0x1A0, CRC32:0x4846EB +class cOcdGoldEnemy /*: cOcdGold, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoldHuman vftable:0x1BDCE10, Size:0x1A8, CRC32:0x5EB5C9B7 +class cOcdGoldHuman /*: cOcdGold, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodDarkDef vftable:0x1BDF9F0, Size:0x190, CRC32:0x2BDAF26C +class cOcdGoodDarkDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodDarkDefHuman vftable:0x1BE0F58, Size:0x190, CRC32:0x24420403 +class cOcdGoodDarkDefHuman /*: cOcdGoodDarkDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodElectricDef vftable:0x1BDF8F0, Size:0x190, CRC32:0x69547D73 +class cOcdGoodElectricDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodElectricDefHuman vftable:0x1BE0E58, Size:0x190, CRC32:0x61AF217B +class cOcdGoodElectricDefHuman /*: cOcdGoodElectricDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodEndurance vftable:0x1BDF6F0, Size:0x190, CRC32:0x356A76CB +class cOcdGoodEndurance /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodEnduranceHuman vftable:0x1BE0C58, Size:0x190, CRC32:0x2EE23F6D +class cOcdGoodEnduranceHuman /*: cOcdGoodEndurance, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodFireDef vftable:0x1BDF7F0, Size:0x190, CRC32:0x30C9161B +class cOcdGoodFireDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodFireDefHuman vftable:0x1BE0D58, Size:0x190, CRC32:0x3A78A04B +class cOcdGoodFireDefHuman /*: cOcdGoodFireDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodGuts vftable:0x1BDF770, Size:0x190, CRC32:0x3819C82B +class cOcdGoodGuts /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodGutsHuman vftable:0x1BE0CD8, Size:0x190, CRC32:0x1882695F +class cOcdGoodGutsHuman /*: cOcdGoodGuts, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodHitPoint vftable:0x1BDFA70, Size:0x190, CRC32:0x415F2855 +class cOcdGoodHitPoint /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodHitPointHuman vftable:0x1BE0FD8, Size:0x190, CRC32:0x2F54504 +class cOcdGoodHitPointHuman /*: cOcdGoodHitPoint, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodHolyDef vftable:0x1BDF970, Size:0x190, CRC32:0x73B04F9F +class cOcdGoodHolyDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodHolyDefHuman vftable:0x1BE0ED8, Size:0x190, CRC32:0x486FB928 +class cOcdGoodHolyDefHuman /*: cOcdGoodHolyDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodIceDef vftable:0x1BDF870, Size:0x190, CRC32:0x43BF94C0 +class cOcdGoodIceDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodIceDefHuman vftable:0x1BE0DD8, Size:0x190, CRC32:0x6CE0362F +class cOcdGoodIceDefHuman /*: cOcdGoodIceDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodMgcAtk vftable:0x1BDF570, Size:0x190, CRC32:0x2366B28C +class cOcdGoodMgcAtk /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodMgcAtkHuman vftable:0x1BE0AD8, Size:0x190, CRC32:0x131F169D +class cOcdGoodMgcAtkHuman /*: cOcdGoodMgcAtk, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodMgcDef vftable:0x1BDF5F0, Size:0x190, CRC32:0x8C52FCA +class cOcdGoodMgcDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodMgcDefHuman vftable:0x1BE0B58, Size:0x190, CRC32:0x26C89C5D +class cOcdGoodMgcDefHuman /*: cOcdGoodMgcDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodPhysAtk vftable:0x1BDF470, Size:0x190, CRC32:0x569AC85E +class cOcdGoodPhysAtk /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodPhysAtkHuman vftable:0x1BE09D8, Size:0x190, CRC32:0xA3E7D5B +class cOcdGoodPhysAtkHuman /*: cOcdGoodPhysAtk, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodPhysDef vftable:0x1BDF4F0, Size:0x190, CRC32:0x7D395518 +class cOcdGoodPhysDef /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodPhysDefHuman vftable:0x1BE0A58, Size:0x190, CRC32:0x3FE9F79B +class cOcdGoodPhysDefHuman /*: cOcdGoodPhysDef, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodPower vftable:0x1BDF670, Size:0x190, CRC32:0x61B5077F +class cOcdGoodPower /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodPowerHuman vftable:0x1BE0BD8, Size:0x190, CRC32:0x4024BC1D +class cOcdGoodPowerHuman /*: cOcdGoodPower, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodStamina vftable:0x1BDFAF0, Size:0x190, CRC32:0x1596E851 +class cOcdGoodStamina /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodStaminaHuman vftable:0x1BE1058, Size:0x190, CRC32:0x4191385D +class cOcdGoodStaminaHuman /*: cOcdGoodStamina, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodStatusBase vftable:0x1BDF3F0, Size:0x190, CRC32:0x3ECF5D6C +class cOcdGoodStatusBase /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodStatusHuman vftable:0x1BE0958, Size:0x198, CRC32:0x92F3D66 +class cOcdGoodStatusHuman /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodTalismanDefence vftable:0x1BDFBF0, Size:0x190, CRC32:0x6799D40F +class cOcdGoodTalismanDefence /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodTalismanDefenceHuman vftable:0x1BE1158, Size:0x190, CRC32:0x6A1A52A7 +class cOcdGoodTalismanDefenceHuman /*: cOcdGoodTalismanDefence, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodTalismanPower vftable:0x1BDFB70, Size:0x190, CRC32:0x3EC49A79 +class cOcdGoodTalismanPower /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdGoodTalismanPowerHuman vftable:0x1BE10D8, Size:0x190, CRC32:0x685E3338 +class cOcdGoodTalismanPowerHuman /*: cOcdGoodTalismanPower, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHolyAbsorp vftable:0x1BDA9D8, Size:0x190, CRC32:0x5B3C0EF8 +class cOcdHolyAbsorp /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanAttackFeild vftable:0x1BE13D8, Size:0x190, CRC32:0x2CFA2BD0 +class cOcdHumanAttackFeild /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanBlowUp vftable:0x1BE1658, Size:0x198, CRC32:0x594046FC +class cOcdHumanBlowUp /*: cOcdGoodStatusHuman, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDarkErosionImmunity vftable:0x1BDDBD8, Size:0x190, CRC32:0x1BF7D02 +class cOcdHumanDarkErosionImmunity /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDarkErosionLv1 vftable:0x1BDDAC8, Size:0x198, CRC32:0x5FB93259 +class cOcdHumanDarkErosionLv1 /*: cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDarkErosionLv2 vftable:0x1BDDB50, Size:0x1A8, CRC32:0x46B063E3 +class cOcdHumanDarkErosionLv2 /*: cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDarkFlame vftable:0x1BDD9C8, Size:0x1A0, CRC32:0x6F325414 +class cOcdHumanDarkFlame /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDarkPrison vftable:0x1BDDA48, Size:0x198, CRC32:0x13032C0C +class cOcdHumanDarkPrison /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDeathCount vftable:0x1BDD948, Size:0x198, CRC32:0x1CBA584C +class cOcdHumanDeathCount /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanDefenceFeild vftable:0x1BE1458, Size:0x190, CRC32:0x6EBB6FDD +class cOcdHumanDefenceFeild /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanEnchantUp vftable:0x1BE16D8, Size:0x190, CRC32:0x5F13B53B +class cOcdHumanEnchantUp /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanErosionEndurance vftable:0x1BE15D8, Size:0x198, CRC32:0xBC17A94 +class cOcdHumanErosionEndurance /*: cOcdGoodStatusHuman, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanGoldStoneBuff vftable:0x1BE1358, Size:0x198, CRC32:0x3630739E +class cOcdHumanGoldStoneBuff /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanHateUpBase vftable:0x1BDD838, Size:0x190, CRC32:0x2C56A77F +class cOcdHumanHateUpBase /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanHateUpOrcBeast vftable:0x1BDD8C0, Size:0x190, CRC32:0x1AC13625 +class cOcdHumanHateUpOrcBeast /*: cOcdHumanHateUpBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanIronFeild vftable:0x1BE14D8, Size:0x190, CRC32:0x278AF6D3 +class cOcdHumanIronFeild /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanPawnSpecialityBase vftable:0x1BE1758, Size:0x190, CRC32:0x7AEAD8EE +class cOcdHumanPawnSpecialityBase /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdHumanSolaceFeild vftable:0x1BE1558, Size:0x198, CRC32:0x283CADDC +class cOcdHumanSolaceFeild /*: cOcdGoodStatusHuman, cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdImmuneParam vftable:0x1BDC1B8, Size:0x10, CRC32:0x14062D0E +class cOcdImmuneParam /*: MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 +}; + +// cOcdImmuneParamRes vftable:0x1BE1AC4, Size:0x10, CRC32:0x7D69977E +class cOcdImmuneParamRes /*: MtObject*/ { + u32 'ُ햼' ; // Offset:0x4, Var, CRC32:0x615CEE1F, Flags:0x0 + f32 'Ɖu͕␳l' ; // Offset:0x8, Var, CRC32:0x4EB68E4, Flags:0x0 + u32 '␳' ; // Offset:0xC, Var, CRC32:0x81F774AB, Flags:0x0 +}; + +// cOcdInfo vftable:0x1BE1A7C, Size:0x84, CRC32:0x5ED76F52 +class cOcdInfo /*: MtObject*/ { +}; + +// cOcdIrAdj vftable:0x1C69728, Size:0xC, CRC32:0x6CE50E78 +class cOcdIrAdj /*: MtObject*/ { + u32 'x' ; // Offset:0x4, Var, CRC32:0x6DC5D4A4, Flags:0x0 + f32 'Nl' ; // Offset:0x8, Var, CRC32:0xD6FE4ACC, Flags:0x0 +}; + +// cOcdIrAdjPL vftable:0x1C69814, Size:0xC, CRC32:0x458F62F3 +class cOcdIrAdjPL /*: MtObject*/ { + u32 'ACeN' ; // Offset:0x4, Var, CRC32:0x27BD405, Flags:0x0 + f32 'vZŎgN' ; // Offset:0x8, Var, CRC32:0x469251B7, Flags:0x0 +}; + +// cOcdLanthanumHuman vftable:0x1BE11D8, Size:0x198, CRC32:0x5E51C3A +class cOcdLanthanumHuman /*: cOcdGoodStatusBase, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdMsgCtrl2 vftable:0x1B83AD0, Size:0x1D0, CRC32:0x7204FBB5 +class cOcdMsgCtrl2 /*: MtObject*/ { +}; + +// cOcdParamChangeEnemy vftable:0x1BDB580, Size:0x190, CRC32:0x4702FB3C +class cOcdParamChangeEnemy /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdParamChangeSoftEnemy vftable:0x1BDB908, Size:0x190, CRC32:0x3AA59C1C +class cOcdParamChangeSoftEnemy /*: cOcdParamChangeEnemy, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdPhysMagicChange vftable:0x1BE0250, Size:0x190, CRC32:0x2B400354 +class cOcdPhysMagicChange /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdPoison vftable:0x1BDA6C0, Size:0x198, CRC32:0x4909965E +class cOcdPoison /*: cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdPoisonHuman vftable:0x1BDCC80, Size:0x198, CRC32:0x13E30DFD +class cOcdPoisonHuman /*: cOcdPoison, cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdPriorityParam vftable:0x1BE1B98, Size:0x7C, CRC32:0x3CA53F98 +class cOcdPriorityParam /*: MtObject*/ { + u32 'ُ햼' ; // Offset:0x4, Var, CRC32:0x615CEE1F, Flags:0x0 + u32 'NXD' ; // Offset:0x8, Var, CRC32:0x3846032C, Flags:0x0 + u32 'ND' ; // Offset:0xC, Var, CRC32:0xC8EECC0F, Flags:0x0 + bool 'dˊ|L' ; // Offset:0x10, Var, CRC32:0xCA4E94D8, Flags:0x0 + bool 'dˊ|񐔐L' ; // Offset:0x11, Var, CRC32:0x11A86EF8, Flags:0x0 + u32 'dˊ|”\' ; // Offset:0x14, Var, CRC32:0xF891B6DD, Flags:0x0 +}; + +// cOcdRageShrinkAfterChance vftable:0x1BDBA08, Size:0x1A8, CRC32:0x540E20C4 +class cOcdRageShrinkAfterChance /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSeal vftable:0x1BDA4B8, Size:0x190, CRC32:0x3B6EF035 +class cOcdSeal /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSealHuman vftable:0x1BDCB00, Size:0x190, CRC32:0x33DD25AF +class cOcdSealHuman /*: cOcdSeal, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSlayerShrinkAfterChance vftable:0x1BDBA88, Size:0x1A8, CRC32:0x6C52C2C8 +class cOcdSlayerShrinkAfterChance /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSleep vftable:0x1BDA2B8, Size:0x198, CRC32:0x2D4E87F0 +class cOcdSleep /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSleepChanceTime vftable:0x1BDA338, Size:0x198, CRC32:0x6CBDE642 +class cOcdSleepChanceTime /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSleepEnemy vftable:0x1BDB888, Size:0x198, CRC32:0x256B3E01 +class cOcdSleepEnemy /*: cOcdSleep, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSleepHuman vftable:0x1BDC980, Size:0x1B0, CRC32:0x7B96B15D +class cOcdSleepHuman /*: cOcdSleep, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSlipDamage vftable:0x1BDA638, Size:0x198, CRC32:0x17DAE7AF +class cOcdSlipDamage /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSlow vftable:0x1BDA238, Size:0x190, CRC32:0x20592FD8 +class cOcdSlow /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSlowHuman vftable:0x1BDC900, Size:0x190, CRC32:0x15BCB781 +class cOcdSlowHuman /*: cOcdSlow, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSoftBody vftable:0x1BDA5B8, Size:0x190, CRC32:0xB7F1C6B +class cOcdSoftBody /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSoftBodyHuman vftable:0x1BDCC00, Size:0x190, CRC32:0x5176CD7A +class cOcdSoftBodyHuman /*: cOcdSoftBody, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSpread vftable:0x1BDA748, Size:0x198, CRC32:0x4CC82F6F +class cOcdSpread /*: cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdSpreadHuman vftable:0x1BDCD08, Size:0x1B8, CRC32:0x39410DA2 +class cOcdSpreadHuman /*: cOcdSpread, cOcdSlipDamage, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStatusParam vftable:0x1BDC1D4, Size:0x5C, CRC32:0x192CC15B +class cOcdStatusParam /*: MtObject*/ { + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStatusParamRes vftable:0x1BE1AA8, Size:0x3C, CRC32:0x3E6E0E1E +class cOcdStatusParamRes /*: MtObject*/ { + u32 'ُ햼' ; // Offset:0x4, Var, CRC32:0x615CEE1F, Flags:0x0 + bool 'ُL' ; // Offset:0x8, Var, CRC32:0x379E3F1F, Flags:0x0 + bool 'Ԍo߂Ŏ' ; // Offset:0x10, Var, CRC32:0xA49F610A, Flags:0x0 + f32 '񕜑ҋ@' ; // Offset:0x18, Var, CRC32:0x73010E65, Flags:0x0 + f32 'ėpp[^1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8B0600, Setter:0x8B0940, CRC32:0x5F6CE231, Flags:0x800000 + f32 'ėpp[^0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8B0580, Setter:0x8B08B0, CRC32:0x286BD2A7, Flags:0x800000 + f32 '񕜗' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8B0460, Setter:0x8B0790, CRC32:0x39F005D0, Flags:0x800000 + f32 'L' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8B03E0, Setter:0x8B0700, CRC32:0x97DC7FB2, Flags:0x800000 + f32 'ϐl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8B0500, Setter:0x8B0820, CRC32:0x9C5C727E, Flags:0x800000 +}; + +// cOcdStone vftable:0x1BDA7D0, Size:0x190, CRC32:0x3B5D4076 +class cOcdStone /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStoneEnemy vftable:0x1BDB680, Size:0x190, CRC32:0x72AF0572 +class cOcdStoneEnemy /*: cOcdStone, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStoneHuman vftable:0x1BDCD90, Size:0x1A8, CRC32:0x2C528A2E +class cOcdStoneHuman /*: cOcdStone, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStun vftable:0x1BDA1B8, Size:0x190, CRC32:0x662A8F0B +class cOcdStun /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStunEnemy vftable:0x1BDB808, Size:0x190, CRC32:0x3688290 +class cOcdStunEnemy /*: cOcdStun, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdStunHuman vftable:0x1BDC880, Size:0x1B0, CRC32:0x5D950DCC +class cOcdStunHuman /*: cOcdStun, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdWet vftable:0x1BDA3B8, Size:0x190, CRC32:0x6A04B17B +class cOcdWet /*: cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOcdWetHuman vftable:0x1BDCA00, Size:0x190, CRC32:0x1156DE3C +class cOcdWetHuman /*: cOcdWet, cOcdBase, MtObject*/ { + f32 'mImmuneRate' ; // Offset:0x4, Var, CRC32:0x8B34C5F, Flags:0x0 + bool 'mIsEffective' ; // Offset:0x4, Var, CRC32:0x8906C49B, Flags:0x0 + u32 'mImmuneLv' ; // Offset:0x8, Var, CRC32:0x9D7E5781, Flags:0x0 + u32 'mImmuneLvMax' ; // Offset:0xC, Var, CRC32:0xF8CA5BF9, Flags:0x0 + f32 'mAccumulationValue' ; // Offset:0x10, Var, CRC32:0xDDC08E4E, Flags:0x0 + bool 'mIsTimeRecover' ; // Offset:0x14, Var, CRC32:0xB44EF92, Flags:0x0 + f32 'mCureWaitTime' ; // Offset:0x20, Var, CRC32:0x2AFD44D6, Flags:0x0 + f32 'mCureWaitTimeMax' ; // Offset:0x24, Var, CRC32:0x8467F073, Flags:0x0 + bool 'mIsMultiApply' ; // Offset:0x34, Var, CRC32:0xA87AFB1C, Flags:0x0 + bool 'mIsMultiNumLimit' ; // Offset:0x35, Var, CRC32:0x54749385, Flags:0x0 + u32 'mMultiApplyNum' ; // Offset:0x38, Var, CRC32:0x554032C6, Flags:0x0 + s32 'mImmuneMode' ; // Offset:0x10C, Var, CRC32:0x409534CD, Flags:0x0 + f32 '^C}[XVx' ; // Offset:0x130, Var, CRC32:0x82FC2026, Flags:0x0 + f32 'mFreeParam1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2070, Setter:0x8A32E0, CRC32:0xA23E4EDF, Flags:0x800000 + f32 'mFreeParam0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A2000, Setter:0x8A3250, CRC32:0xD5397E49, Flags:0x800000 + f32 'mCureValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1E80, Setter:0x8A30A0, CRC32:0x29967B9, Flags:0x800000 + f32 'mActiveTimeMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1DB0, Setter:0x8A2F60, CRC32:0x9D4E0F57, Flags:0x800000 + f32 'mActiveTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1D70, Setter:0x8A2F00, CRC32:0x4FD12C09, Flags:0x800000 + f32 'mEnduranceMax' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F60, Setter:0x8A3190, CRC32:0x8545452, Flags:0x800000 + f32 'mEndurance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8A1F20, Setter:0x8A3130, CRC32:0x7CD7705C, Flags:0x800000 +}; + +// cOmControl vftable:0x1BE2184, Size:0x100, CRC32:0x536A9BEF +class cOmControl /*: MtObject*/ { +}; + +// cOmControl::InputLot vftable:0x1BE2170, Size:0x320, CRC32:0x6E7C7A2B +class cOmControl::InputLot /*: cOmControl::InputLotBase, MtObject*/ { +}; + +// cOmControl::InputLotBase vftable:0x1BE20F8, Size:0x4, CRC32:0x4617315F +class cOmControl::InputLotBase /*: MtObject*/ { +}; + +// cOmControl::InputLotBaseEx vftable:0x1BE2114, Size:0x30, CRC32:0x3F2D45F8 +class cOmControl::InputLotBaseEx /*: cOmControl::InputLotBase, MtObject*/ { +}; + +// cOmControl::LegacyExLOT vftable:0x1BE214C, Size:0x270, CRC32:0x54924C18 +class cOmControl::LegacyExLOT /*: cOmControl::LegacyLOT, cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cOmControl::LegacyLOT vftable:0x1BE2130, Size:0x80, CRC32:0x7E9BFF83 +class cOmControl::LegacyLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cOmGauge vftable:0x1BFAD9C, Size:0x18, CRC32:0x6E8748E9 +class cOmGauge /*: MtObject*/ { +}; + +// cOmLoadList vftable:0x1C69A8C, Size:0x20, CRC32:0x76BBEA12 +class cOmLoadList /*: MtObject*/ { + s32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + s32 'mStartPos' ; // Offset:0x8, Var, CRC32:0x9466AC7A, Flags:0x0 + class 'mOmList' ; // Offset:0xC, Var, CRC32:0xD2E08EDB, Flags:0x0 +}; + +// cOmLoadList::cOmList vftable:0x1C69A5C, Size:0x8, CRC32:0x3EC162FE +class cOmLoadList::cOmList /*: MtObject*/ { + u32 'mOmId' ; // Offset:0x4, Var, CRC32:0xB063FA0B, Flags:0x0 +}; + +// cOmParam vftable:0x1C700DC, Size:0x290, CRC32:0x61893A4A +class cOmParam /*: cOmParamBase, MtObject*/ { +}; + +// cOmParamBase vftable:0x1C70098, Size:0x24, CRC32:0x4C632490 +class cOmParamBase /*: MtObject*/ { + s32 'mOmID' ; // Offset:0x4, Var, CRC32:0x8B0DDAC3, Flags:0x0 + f32 'mKillLength' ; // Offset:0x8, Var, CRC32:0xE5E3F7C6, Flags:0x0 + bool 'mbPLStop' ; // Offset:0xC, Var, CRC32:0x64B7131B, Flags:0x0 + f32 'mSBCRadius' ; // Offset:0x10, Var, CRC32:0xE0FA0541, Flags:0x0 + u32 'mVersion' ; // Offset:0x14, Var, CRC32:0x3CFEA0DD, Flags:0x0 + u32 'mDetailBehavior' ; // Offset:0x18, Var, CRC32:0x5B9969A6, Flags:0x0 + u32 'mMapIcon' ; // Offset:0x1C, Var, CRC32:0x2A77E48C, Flags:0x0 + s32 'mCPID' ; // Offset:0x20, Var, CRC32:0xED6813B8, Flags:0x0 +}; + +// cOmTreeControl vftable:0x1BE20D4, Size:0xA0, CRC32:0x79D65E2C +class cOmTreeControl /*: MtObject*/ { +}; + +// cOnceRequestEffectType vftable:0x1B0246C, Size:0x18, CRC32:0x7C4D8713 +class cOnceRequestEffectType /*: MtObject*/ { +}; + +// cOnceRequestEffectTypeDanger vftable:0x1B02498, Size:0x18, CRC32:0x326AC983 +class cOnceRequestEffectTypeDanger /*: cOnceRequestEffectType, MtObject*/ { +}; + +// cOnceRequestEffectTypeDangerData vftable:0x1B02438, Size:0x14, CRC32:0x776A66D6 +class cOnceRequestEffectTypeDangerData /*: cOnceRequestEffectTypeData, MtObject*/ { +}; + +// cOnceRequestEffectTypeData vftable:0x1B02418, Size:0x10, CRC32:0x16377A6A +class cOnceRequestEffectTypeData /*: MtObject*/ { +}; + +// cOpeningMovie vftable:0x1B83FB0, Size:0x24, CRC32:0x47697921 +class cOpeningMovie /*: MtObject*/ { +}; + +// cOutfitExclusiveSlot vftable:0x1C6A5D8, Size:0x8, CRC32:0x4E7CABEF +class cOutfitExclusiveSlot /*: MtObject*/ { +}; + +// cOutfitInfoRes vftable:0x1C6A610, Size:0x1C, CRC32:0x1AD01DE1 +class cOutfitInfoRes /*: MtObject*/ { +}; + +// cOutlineParam vftable:0x1C70660, Size:0x370, CRC32:0x24C838DE +class cOutlineParam /*: MtObject*/ { + u32 'mPriority' ; // Offset:0x4, Var, CRC32:0x4A28ECBA, Flags:0x0 + f32 'mFrame' ; // Offset:0x8, Var, CRC32:0x484CA60C, Flags:0x0 + bool 'mIsLoop' ; // Offset:0xC, Var, CRC32:0x3EFEA1D3, Flags:0x0 + bool 'mIsOWAgain' ; // Offset:0xD, Var, CRC32:0x5F08855C, Flags:0x0 + u32 'mEndFrame' ; // Offset:0x10, Var, CRC32:0x2F50DF0B, Flags:0x0 + f32 'mWeatherRate' ; // Offset:0x14, Var, CRC32:0xA7639B7, Flags:0x0 + u32 'mOutlineBlendType' ; // Offset:0x18, Var, CRC32:0xD853114A, Flags:0x0 + u32 'mOutlineColorType' ; // Offset:0x1C, Var, CRC32:0xF0C3F6BE, Flags:0x0 + class 'mOutlineOColor' ; // Offset:0x20, Var, CRC32:0xC5C3C0C2, Flags:0x0 + class 'mOutlineIColor' ; // Offset:0x130, Var, CRC32:0x139A23DF, Flags:0x0 + class 'mOutlineBalanceOffset' ; // Offset:0x240, Var, CRC32:0xEBF6FC70, Flags:0x0 + class 'mOutlineBalanceScale' ; // Offset:0x288, Var, CRC32:0xA211DD1B, Flags:0x0 + class 'mOutlineBalance' ; // Offset:0x2D0, Var, CRC32:0x8415DB5C, Flags:0x0 + bool 'mIsUseShaderParam' ; // Offset:0x318, Var, CRC32:0xA7A0B312, Flags:0x0 + u32 'mShaderMode' ; // Offset:0x31C, Var, CRC32:0x148F59C7, Flags:0x0 + f32 'mShaderBlendRate' ; // Offset:0x320, Var, CRC32:0x865952D8, Flags:0x0 + class 'mShaderBasePower' ; // Offset:0x324, Var, CRC32:0xEDD45911, Flags:0x0 +}; + +// cP3post vftable:0x1BE25AC, Size:0x44, CRC32:0x490C0FC9 +class cP3post /*: MtObject*/ { +}; + +// cPCGraphicOption vftable:0x1B85104, Size:0x8C, CRC32:0x21B9954E +class cPCGraphicOption /*: MtObject*/ { + event 'CBT1łPCOtBbNIvV͎gpł܂' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x7F8FB7, Flags:0xB0000 +}; + +// cPCIEtc vftable:0x1B2D35C, Size:0xC, CRC32:0x44B5881B +class cPCIEtc /*: cPawnCultivationInfoBase, MtObject*/ { +}; + +// cPCIFrenquencySkill vftable:0x1B2D33C, Size:0xC, CRC32:0x6914D87 +class cPCIFrenquencySkill /*: cPawnCultivationInfoBase, MtObject*/ { +}; + +// cPCIPrioThink vftable:0x1B2D2FC, Size:0xC, CRC32:0x7C7EDDF6 +class cPCIPrioThink /*: cPawnCultivationInfoBase, MtObject*/ { +}; + +// cPCIPrioThinkPT vftable:0x1B2D31C, Size:0x18, CRC32:0x6C395C95 +class cPCIPrioThinkPT /*: cPawnCultivationInfoBase, MtObject*/ { +}; + +// cPCSpecInfo vftable:0x1B85E38, Size:0xC, CRC32:0x78D0F1AF +class cPCSpecInfo /*: MtObject*/ { + f32 'gpTCY(MB)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E680, Setter:0x0, CRC32:0x1BB33317, Flags:0x830000 + f32 'gpTCY(MB)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E7B0, Setter:0x0, CRC32:0x45C11BB1, Flags:0x830000 + f32 'TCY(MB)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E7A0, Setter:0x0, CRC32:0xBE99FD24, Flags:0x830000 + f32 'rfITCY(MB)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E750, Setter:0x0, CRC32:0x22E0CFD0, Flags:0x830000 + cstring 'GPU' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E790, Setter:0x0, CRC32:0x97B8BD79, Flags:0x830000 + bool 'nCp[XbfBO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E840, Setter:0x0, CRC32:0xF92D5B56, Flags:0x830000 + u32 'CPU_Xbh' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E720, Setter:0x0, CRC32:0xAD4A1551, Flags:0x830000 + u32 'CPU' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E710, Setter:0x0, CRC32:0x1D714C5, Flags:0x830000 + u32 'CPU\(MHz)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E700, Setter:0x0, CRC32:0xC809DEB2, Flags:0x830000 + cstring 'CPU' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x60E730, Setter:0x0, CRC32:0x62381BB9, Flags:0x830000 +}; + +// cPRTManager vftable:0x1C00BF8, Size:0x820, CRC32:0x41676FF5 +class cPRTManager /*: cQuestFunctionManagerBase, MtObject*/ { + u8 'mPRTStatus' ; // Offset:0x4, Var, CRC32:0x47C9A1A9, Flags:0x10000 + u64 'mBootPRTUniqueId' ; // Offset:0x10, Var, CRC32:0x2BCAF113, Flags:0x10000 + u32 'mReadyBit' ; // Offset:0x18, Var, CRC32:0x5333C45A, Flags:0x10000 + u32 'mReadyOKBit' ; // Offset:0x1C, Var, CRC32:0xED47BFA9, Flags:0x10000 + u32 'mReadyStatus' ; // Offset:0x20, Var, CRC32:0x8EEC9070, Flags:0x10000 + bool 'mIsReady' ; // Offset:0x24, Var, CRC32:0xA260878F, Flags:0x10000 + bool 'mIsReadyOK' ; // Offset:0x25, Var, CRC32:0x5928FBB5, Flags:0x10000 + bool 'mFinalAnswer' ; // Offset:0x7D1, Var, CRC32:0x899D9A52, Flags:0x10000 + bool 'mAdvanceFlag' ; // Offset:0x7D3, Var, CRC32:0x365C05E0, Flags:0x10000 +}; + +// cPackageQuestManager vftable:0x1B2B840, Size:0x50, CRC32:0x321C8CEE +class cPackageQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cPackageQuestManager::cPackageSequence vftable:0x1B2B8A4, Size:0x2C, CRC32:0x2FFF020E +class cPackageQuestManager::cPackageSequence /*: MtObject*/ { +}; + +// cPackageQuestManager::cPackageSequence::cClientNpc vftable:0x1B2B8C0, Size:0x8, CRC32:0x66CA88E7 +class cPackageQuestManager::cPackageSequence::cClientNpc /*: MtObject*/ { +}; + +// cPaletteParams vftable:0x1C19148, Size:0x10, CRC32:0x6CFE3480 +class cPaletteParams /*: MtObject*/ { +}; + +// cParabolicMoveCtrl vftable:0x1B84024, Size:0x40, CRC32:0x11BF36BC +class cParabolicMoveCtrl /*: MtObject*/ { +}; + +// cParentRegionStatus vftable:0x1B2C318, Size:0x94, CRC32:0x3420A9A0 +class cParentRegionStatus /*: MtObject*/ { +}; + +// cParentRegionStatusParam vftable:0x1C741F8, Size:0x78, CRC32:0x5BB940D5 +class cParentRegionStatusParam /*: MtObject*/ { +}; + +// cParticleGeneratorAdhesion vftable:0x20D7318, Size:0x1E0, CRC32:0x47706084 +class cParticleGeneratorAdhesion /*: cParticleGeneratorPolygon, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorAxisPolygon vftable:0x20D7380, Size:0x1D0, CRC32:0x646CD7F1 +class cParticleGeneratorAxisPolygon /*: cParticleGeneratorPolygon, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorBillboard vftable:0x20D6EE8, Size:0x1D0, CRC32:0x45075F6E +class cParticleGeneratorBillboard /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorBillboardStrip vftable:0x20D6F50, Size:0x1D0, CRC32:0x158CE421 +class cParticleGeneratorBillboardStrip /*: cParticleGeneratorBillboard, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorClothPolygon vftable:0x20D72B0, Size:0x1D0, CRC32:0x7A666120 +class cParticleGeneratorClothPolygon /*: cParticleGeneratorPolygon, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorCustom vftable:0x20D7A28, Size:0x1D0, CRC32:0x44B8EB2F +class cParticleGeneratorCustom /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorFilter vftable:0x20D7808, Size:0x1D0, CRC32:0x4EF8A2A9 +class cParticleGeneratorFilter /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorForce vftable:0x20D7BB8, Size:0x1D0, CRC32:0x4A71A8A0 +class cParticleGeneratorForce /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorHit vftable:0x20D7918, Size:0x1D0, CRC32:0x3E3E376A +class cParticleGeneratorHit /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLensFlare vftable:0x20D76F8, Size:0x1D0, CRC32:0x6E862668 +class cParticleGeneratorLensFlare /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLight vftable:0x20D7890, Size:0x1D0, CRC32:0x3603777F +class cParticleGeneratorLight /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLightShaft vftable:0x20D7AB0, Size:0x1D0, CRC32:0x2ACB72F3 +class cParticleGeneratorLightShaft /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLine vftable:0x20D7570, Size:0x1D0, CRC32:0x2F4E4E2A +class cParticleGeneratorLine /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLiteBillboard vftable:0x20D7020, Size:0x1D0, CRC32:0x97B4C49 +class cParticleGeneratorLiteBillboard /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLitePolygon vftable:0x20D73E8, Size:0x1D0, CRC32:0xCFEDAA +class cParticleGeneratorLitePolygon /*: cParticleGeneratorPolygon, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorLitePolyline vftable:0x20D7178, Size:0x1D0, CRC32:0x5857EB7F +class cParticleGeneratorLitePolyline /*: cParticleGeneratorPolyline, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorMassBillboard vftable:0x20D7780, Size:0x1D0, CRC32:0x516A071E +class cParticleGeneratorMassBillboard /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorModel vftable:0x20D75F0, Size:0x1D0, CRC32:0xA8C5951 +class cParticleGeneratorModel /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorPoint vftable:0x20D7B38, Size:0x1D0, CRC32:0x6ABCD8AC +class cParticleGeneratorPoint /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorPolygon vftable:0x20D7248, Size:0x1D0, CRC32:0x599B85F7 +class cParticleGeneratorPolygon /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorPolygonStrip vftable:0x20D7998, Size:0x1D0, CRC32:0x298E7C3F +class cParticleGeneratorPolygonStrip /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorPolyline vftable:0x20D7110, Size:0x1D0, CRC32:0x4D54925E +class cParticleGeneratorPolyline /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorPrimModel vftable:0x20D7670, Size:0x1E0, CRC32:0x3186927C +class cParticleGeneratorPrimModel /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorSizeBillboard vftable:0x20D6FB8, Size:0x1D0, CRC32:0x487A14A0 +class cParticleGeneratorSizeBillboard /*: cParticleGeneratorBillboard, cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorTexline vftable:0x20D74E8, Size:0x1D0, CRC32:0x7ABFD1AE +class cParticleGeneratorTexline /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleGeneratorTrail vftable:0x20D7DA0, Size:0x1D0, CRC32:0x6F71AE07 +class cParticleGeneratorTrail /*: cParticleGenerator, cParticleManager, MtObject*/ { +}; + +// cParticleNode vftable:0x20D6D80, Size:0x250, CRC32:0x6E7799F6 +class cParticleNode /*: cParticleManager, MtObject*/ { +}; + +// cParticleNodeInfinite vftable:0x20D6DE0, Size:0x250, CRC32:0xF37245A +class cParticleNodeInfinite /*: cParticleNode, cParticleManager, MtObject*/ { +}; + +// cPartnerReactParam vftable:0x1C6A968, Size:0x14, CRC32:0x49843B3C +class cPartnerReactParam /*: MtObject*/ { + bool 'mIsNmlAct' ; // Offset:0x4, Var, CRC32:0x1268643F, Flags:0x0 + u32 'mActNo' ; // Offset:0x8, Var, CRC32:0x5658B502, Flags:0x0 + s16 'NpcMotNo' ; // Offset:0xC, Var, CRC32:0xE7EBF8F5, Flags:0x0 + s16 'NpcMotNo2' ; // Offset:0xE, Var, CRC32:0x5E7BCEB, Flags:0x0 + s16 'NpcMotNo3' ; // Offset:0x10, Var, CRC32:0x72E08C7D, Flags:0x0 + s16 'NpcMotNo4' ; // Offset:0x12, Var, CRC32:0xEC8419DE, Flags:0x0 +}; + +// cPartsCtrlTable vftable:0x1C707BC, Size:0x48, CRC32:0x2EFBE291 +class cPartsCtrlTable /*: MtObject*/ { + s32 'mPartsKeyNo' ; // Offset:0x4, Var, CRC32:0x4DDCB8CD, Flags:0x0 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x998130, Setter:0xAD5D10, GetCount:0x998120, Reallocate:0xAD5D40 CRC32:0x25B47A04, Flags:0xA00000 +}; + +// cPartsGroupList vftable:0x1BE4C24, Size:0x70, CRC32:0x5A0E2BED +class cPartsGroupList /*: MtObject*/ { +}; + +// cPartyMemberInfo vftable:0x1BC5B08, Size:0x58, CRC32:0x5FAED4EE +class cPartyMemberInfo /*: MtObject*/ { +}; + +// cPawnAIActInter vftable:0x1C70D78, Size:0xC, CRC32:0x6A8139E9 +class cPawnAIActInter /*: cAIResource, MtObject*/ { +}; + +// cPawnAIAction vftable:0x1C70DA8, Size:0xC8, CRC32:0x2BA10210 +class cPawnAIAction /*: cAIResource, MtObject*/ { +}; + +// cPawnActInterActArrow vftable:0x1BE567C, Size:0x20, CRC32:0x3998484A +class cPawnActInterActArrow /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActArrowChange vftable:0x1BE583C, Size:0x10, CRC32:0x2026CE3 +class cPawnActInterActArrowChange /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActBindAnchor vftable:0x1BE55FC, Size:0x54, CRC32:0x214D5323 +class cPawnActInterActBindAnchor /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActChant vftable:0x1BE56BC, Size:0x24, CRC32:0x628ED103 +class cPawnActInterActChant /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActChantCircle vftable:0x1BE56FC, Size:0x28, CRC32:0x160D3BED +class cPawnActInterActChantCircle /*: cPawnActInterActChant, cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActChargeMove vftable:0x1BE563C, Size:0x24, CRC32:0x7F8EA26B +class cPawnActInterActChargeMove /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActCircleCancel vftable:0x1BE577C, Size:0x20, CRC32:0x1D83CE2B +class cPawnActInterActCircleCancel /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActElementArrow vftable:0x1BE573C, Size:0x20, CRC32:0x3C0ED14C +class cPawnActInterActElementArrow /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActElementChange vftable:0x1BE57BC, Size:0x24, CRC32:0x2CBA3882 +class cPawnActInterActElementChange /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActEnchant vftable:0x1BE60A0, Size:0x28, CRC32:0x6209B03 +class cPawnActInterActEnchant /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActLight vftable:0x1BE57FC, Size:0x24, CRC32:0xAB5FA83 +class cPawnActInterActLight /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActMedalChange vftable:0x1BE5874, Size:0x10, CRC32:0x62E38548 +class cPawnActInterActMedalChange /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActNo vftable:0x1BE557C, Size:0x20, CRC32:0xEDFCCC3 +class cPawnActInterActNo /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActProvoke vftable:0x1BE58AC, Size:0x20, CRC32:0x2FBDDE9A +class cPawnActInterActProvoke /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterActRapid vftable:0x1BE55BC, Size:0x20, CRC32:0xD146F5F +class cPawnActInterActRapid /*: cPawnActInterActNo, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterAtkHerald vftable:0x1BE5DC8, Size:0x10, CRC32:0x6DE0BD58 +class cPawnActInterAtkHerald /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterAutoMotion vftable:0x1BE5D90, Size:0x14, CRC32:0x65A2D17 +class cPawnActInterAutoMotion /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterBase vftable:0x1BE544C, Size:0xC, CRC32:0x7688E560 +class cPawnActInterBase /*: MtObject*/ { +}; + +// cPawnActInterBreak vftable:0x1BE6068, Size:0x14, CRC32:0x294FB3DA +class cPawnActInterBreak /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterBreakWithHealOm vftable:0x1BE626C, Size:0xC, CRC32:0x14730E33 +class cPawnActInterBreakWithHealOm /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterCliffClimb vftable:0x1BE5D58, Size:0xC, CRC32:0x379D0E00 +class cPawnActInterCliffClimb /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterClimbBegin vftable:0x1BE5D20, Size:0xC, CRC32:0x927DAF3 +class cPawnActInterClimbBegin /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterCommon vftable:0x1BE5FF8, Size:0x10, CRC32:0x374BAC3F +class cPawnActInterCommon /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterDamage vftable:0x1BE5BD0, Size:0xC, CRC32:0x436F8802 +class cPawnActInterDamage /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterDisableMgr vftable:0x1BE5484, Size:0x144, CRC32:0x4A1EE0C0 +class cPawnActInterDisableMgr /*: cAIObject, MtObject*/ { +}; + +// cPawnActInterEnemyClimb vftable:0x1BE5B28, Size:0x10, CRC32:0x335DA73A +class cPawnActInterEnemyClimb /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterEnemyClimbAttack vftable:0x1BE5B98, Size:0x1C, CRC32:0x683779D5 +class cPawnActInterEnemyClimbAttack /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterEnemyClimbMove vftable:0x1BE5B60, Size:0x10, CRC32:0x7094D555 +class cPawnActInterEnemyClimbMove /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterEscape vftable:0x1BE5CE8, Size:0x10, CRC32:0x774F6CE0 +class cPawnActInterEscape /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterEscapeNotice vftable:0x1BE5C08, Size:0x10, CRC32:0x47194DA7 +class cPawnActInterEscapeNotice /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterFree vftable:0x1BE54D0, Size:0xC, CRC32:0x7B12DAC9 +class cPawnActInterFree /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterGuard vftable:0x1BE5C78, Size:0x14, CRC32:0xA21F0CC +class cPawnActInterGuard /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterGuardCancel vftable:0x1BE5CB0, Size:0xC, CRC32:0x5B7FA2F8 +class cPawnActInterGuardCancel /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterHold vftable:0x1BE5AB8, Size:0xC, CRC32:0x29F61606 +class cPawnActInterHold /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterHoldWait vftable:0x1BE5AF0, Size:0xC, CRC32:0x410CAD8E +class cPawnActInterHoldWait /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterIfLen vftable:0x1BE5A10, Size:0x24, CRC32:0x227E0EE7 +class cPawnActInterIfLen /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterJob11BackLeap vftable:0x1BE61C0, Size:0x20, CRC32:0x2F586116 +class cPawnActInterJob11BackLeap /*: cPawnActInterMove, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterJob11CheckEnemyMarked vftable:0x1BE6188, Size:0xC, CRC32:0x4180A32C +class cPawnActInterJob11CheckEnemyMarked /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterJob11ManageCharm vftable:0x1BE6150, Size:0x38, CRC32:0x76839A60 +class cPawnActInterJob11ManageCharm /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterJob11ReturnShift vftable:0x1BE6234, Size:0x10, CRC32:0x786E072C +class cPawnActInterJob11ReturnShift /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterLantern vftable:0x1BE5EE0, Size:0x10, CRC32:0x51488119 +class cPawnActInterLantern /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterMove vftable:0x1BE5508, Size:0x1C, CRC32:0x59022C79 +class cPawnActInterMove /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterMoveAlchemyTrap vftable:0x1BE5F50, Size:0xC, CRC32:0x7B881C4E +class cPawnActInterMoveAlchemyTrap /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterMoveEnergySpot vftable:0x1BE5F18, Size:0xC, CRC32:0x445ED00C +class cPawnActInterMoveEnergySpot /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterMoveJump vftable:0x1BE5C40, Size:0x18, CRC32:0x4C9C2E54 +class cPawnActInterMoveJump /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterMoveLightingAnchor vftable:0x1BE5FC0, Size:0xC, CRC32:0x740ED52D +class cPawnActInterMoveLightingAnchor /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterMoveReksElement vftable:0x1BE5F88, Size:0xC, CRC32:0x1FCE5099 +class cPawnActInterMoveReksElement /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterPhotoAction vftable:0x1BE6118, Size:0xC, CRC32:0x1392B6E7 +class cPawnActInterPhotoAction /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterRecover vftable:0x1BE5EA8, Size:0x10, CRC32:0xD52F543 +class cPawnActInterRecover /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterReload vftable:0x1BE5E38, Size:0x10, CRC32:0x701F123B +class cPawnActInterReload /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterRot vftable:0x1BE5544, Size:0xC, CRC32:0x2D0220ED +class cPawnActInterRot /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterSearchArmorPoint vftable:0x1BE59C8, Size:0x10, CRC32:0x38DF42FE +class cPawnActInterSearchArmorPoint /*: cPawnActInterSearchCorePointBase, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterSearchCorePoint vftable:0x1BE5938, Size:0x10, CRC32:0x5B227E77 +class cPawnActInterSearchCorePoint /*: cPawnActInterSearchCorePointBase, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterSearchCorePointBase vftable:0x1BE58F0, Size:0xC, CRC32:0x324E9D60 +class cPawnActInterSearchCorePointBase /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterSearchMaskPoint vftable:0x1BE5980, Size:0xC, CRC32:0x1A17DD13 +class cPawnActInterSearchMaskPoint /*: cPawnActInterSearchCorePointBase, cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterSpecialityAction vftable:0x1BE61FC, Size:0x18, CRC32:0x5ABF3D52 +class cPawnActInterSpecialityAction /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterStandOff vftable:0x1BE5A48, Size:0x10, CRC32:0x5746129A +class cPawnActInterStandOff /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterStandOffHmEm vftable:0x1BE5A80, Size:0x14, CRC32:0x5369572E +class cPawnActInterStandOffHmEm /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterTalkToPl vftable:0x1BE60E0, Size:0xC, CRC32:0x3DB4F26E +class cPawnActInterTalkToPl /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterWait vftable:0x1BE5E70, Size:0x14, CRC32:0x4BD298E4 +class cPawnActInterWait /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterWaitFootwork vftable:0x1BE6030, Size:0xC, CRC32:0x3E9E7CC6 +class cPawnActInterWaitFootwork /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterWarp vftable:0x1BE5E00, Size:0xC, CRC32:0x65899767 +class cPawnActInterWarp /*: cPawnActInterBase, MtObject*/ { +}; + +// cPawnActInterface vftable:0x1BE54B4, Size:0x480, CRC32:0x131ACF58 +class cPawnActInterface /*: cAIObject, MtObject*/ { +}; + +// cPawnCultivationInfoBase vftable:0x1B2D2DC, Size:0xC, CRC32:0x70911837 +class cPawnCultivationInfoBase /*: MtObject*/ { +}; + +// cPawnEnableArea vftable:0x1BE5430, Size:0x18, CRC32:0x492DDFEC +class cPawnEnableArea /*: MtObject*/ { +}; + +// cPawnListParam vftable:0x1BC5AEC, Size:0x70, CRC32:0x659A221D +class cPawnListParam /*: MtObject*/ { +}; + +// cPawnQuestManager vftable:0x1B2DD98, Size:0x38, CRC32:0x8E01F0B +class cPawnQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cPawnQuestManager::cPawnQuestInfo vftable:0x1B2DDE8, Size:0x24, CRC32:0x7065F800 +class cPawnQuestManager::cPawnQuestInfo /*: MtObject*/ { +}; + +// cPawnThinkCtrlParam vftable:0x1B25668, Size:0xA0, CRC32:0x1C46DF44 +class cPawnThinkCtrlParam /*: MtObject*/ { +}; + +// cPawnVoiceData vftable:0x1BC5B40, Size:0x10, CRC32:0x1928CD3A +class cPawnVoiceData /*: MtObject*/ { +}; + +// cPcTouchAction vftable:0x1B86410, Size:0x10, CRC32:0x4D9E5F5F +class cPcTouchAction /*: cUIObject, MtObject*/ { +}; + +// cPlActWpnBow vftable:0x1BA7C28, Size:0x260, CRC32:0xB93687F +class cPlActWpnBow /*: cPlActWpnBowBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cPlActWpnBowBase vftable:0x1BA7BE0, Size:0x60, CRC32:0x145C2760 +class cPlActWpnBowBase /*: cHumanActBase, cAction, MtObject*/ { +}; + +// cPlActWpnMagicBow vftable:0x1BA7CA8, Size:0x2A0, CRC32:0x4A500339 +class cPlActWpnMagicBow /*: cPlActWpnBow, cPlActWpnBowBase, cHumanActBase, cAction, MtObject*/ { +}; + +// cPlDeadFlow vftable:0x1BF7CB8, Size:0x20, CRC32:0x56F84EA7 +class cPlDeadFlow /*: MtObject*/ { +}; + +// cPlanetariumItem vftable:0x1C609B8, Size:0x14, CRC32:0x7838A432 +class cPlanetariumItem /*: MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u32 'mNpcNo' ; // Offset:0x8, Var, CRC32:0x8FCD6F57, Flags:0x0 + u32 'mCategory' ; // Offset:0xC, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mMotNo' ; // Offset:0x10, Var, CRC32:0xD97EE7BB, Flags:0x0 +}; + +// cPlayPointInfo vftable:0x1B35570, Size:0x20, CRC32:0x70C84E9F +class cPlayPointInfo /*: MtObject*/ { +}; + +// cPlayPointInfo::cPlayPoint vftable:0x1B35548, Size:0xC, CRC32:0x4B09146D +class cPlayPointInfo::cPlayPoint /*: MtObject*/ { +}; + +// cPlayerLoadManager vftable:0x1BF71B8, Size:0xF50, CRC32:0x6E7E0F46 +class cPlayerLoadManager /*: MtObject*/ { +}; + +// cPrim vftable:0x20D9924, Size:0x270, CRC32:0x7C0B7BE8 +class cPrim /*: cPrimObj, MtObject*/ { + u32 'mTagSize' ; // Offset:0x7C, Var, CRC32:0x98A57BB2, Flags:0x30000 +}; + +// cPrimBuffer vftable:0x20D128C, Size:0x18, CRC32:0x18FE11E3 +class cPrimBuffer /*: cPrimObj, MtObject*/ { +}; + +// cPrimBufferManager vftable:0x20D99FC, Size:0x14, CRC32:0x5DC78998 +class cPrimBufferManager /*: cPrimObj, MtObject*/ { + u32 'mTotalSize' ; // Offset:0xC, Var, CRC32:0xEFE25CE7, Flags:0x30000 +}; + +// cPrimObj vftable:0x20D1270, Size:0x4, CRC32:0x7D82B3CF +class cPrimObj /*: MtObject*/ { +}; + +// cPrimTagList vftable:0x20D98AC, Size:0x84, CRC32:0x1054BF40 +class cPrimTagList /*: cPrimObj, MtObject*/ { + u32 'mTagSize' ; // Offset:0x7C, Var, CRC32:0x98A57BB2, Flags:0x30000 +}; + +// cPrimTagManager vftable:0x20D99D0, Size:0x14, CRC32:0x214B855A +class cPrimTagManager /*: cPrimObj, MtObject*/ { +}; + +// cPrimTexHandle vftable:0x20D12B4, Size:0x14, CRC32:0x5F5F8708 +class cPrimTexHandle /*: cPrimObj, MtObject*/ { +}; + +// cPrimTexHandleManager vftable:0x20D98E4, Size:0x10, CRC32:0x3182EEB2 +class cPrimTexHandleManager /*: cPrimObj, MtObject*/ { + u32 'mTextureMax' ; // Offset:0x8, Var, CRC32:0x40DE9C7F, Flags:0x30000 +}; + +// cPrioThkCmd vftable:0x1C71E2C, Size:0x4, CRC32:0x327FD1F0 +class cPrioThkCmd /*: cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddAnimalCoop vftable:0x1C721F0, Size:0x8, CRC32:0x3620BCF6 +class cPrioThkCmdAddAnimalCoop /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddAnimalProtect vftable:0x1C72218, Size:0x8, CRC32:0x73EF4A63 +class cPrioThkCmdAddAnimalProtect /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddBase vftable:0x1C71F50, Size:0x8, CRC32:0x2D8C6813 +class cPrioThkCmdAddBase /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddBreakTarget vftable:0x1C72290, Size:0x8, CRC32:0x7A66BD88 +class cPrioThkCmdAddBreakTarget /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddBreakWithHealTarget vftable:0x1C722B8, Size:0xC, CRC32:0x575AD039 +class cPrioThkCmdAddBreakWithHealTarget /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddCoreNearTarget vftable:0x1C72240, Size:0xC, CRC32:0x7CA06981 +class cPrioThkCmdAddCoreNearTarget /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddEnemy vftable:0x1C71FA0, Size:0x1C, CRC32:0x177B9DA2 +class cPrioThkCmdAddEnemy /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddEnemyClimb vftable:0x1C72018, Size:0x8, CRC32:0x7923E1F0 +class cPrioThkCmdAddEnemyClimb /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddEnemyHp vftable:0x1C71FF0, Size:0xC, CRC32:0x7A2A12D8 +class cPrioThkCmdAddEnemyHp /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddEnemyRange vftable:0x1C71FC8, Size:0xC, CRC32:0x370DECB3 +class cPrioThkCmdAddEnemyRange /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddErosionRequest vftable:0x1C72268, Size:0x8, CRC32:0x2082A584 +class cPrioThkCmdAddErosionRequest /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddEvaluation vftable:0x1C721C8, Size:0x14, CRC32:0x2EE8E911 +class cPrioThkCmdAddEvaluation /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddHiPrioEnemy vftable:0x1C71F78, Size:0xC, CRC32:0x33558939 +class cPrioThkCmdAddHiPrioEnemy /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddHiPrioEnemyCorePoint vftable:0x1C72040, Size:0x10, CRC32:0x5E09B6B0 +class cPrioThkCmdAddHiPrioEnemyCorePoint /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddParty vftable:0x1C72068, Size:0x14, CRC32:0x657189EB +class cPrioThkCmdAddParty /*: cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyAction vftable:0x1C7219C, Size:0x1C, CRC32:0x4D7DC417 +class cPrioThkCmdAddPartyAction /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyHp vftable:0x1C72094, Size:0x30, CRC32:0x414B40E3 +class cPrioThkCmdAddPartyHp /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyHpForShift vftable:0x1C720EC, Size:0x38, CRC32:0x3F56645D +class cPrioThkCmdAddPartyHpForShift /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyHpNotWhite vftable:0x1C720C0, Size:0x30, CRC32:0x5D2E6A14 +class cPrioThkCmdAddPartyHpNotWhite /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyOcd vftable:0x1C72144, Size:0x94, CRC32:0x173D0AD4 +class cPrioThkCmdAddPartyOcd /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyStamina vftable:0x1C72118, Size:0x20, CRC32:0x7456E51E +class cPrioThkCmdAddPartyStamina /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdAddPartyStatus vftable:0x1C72170, Size:0x1C, CRC32:0x71B12D99 +class cPrioThkCmdAddPartyStatus /*: cPrioThkCmdAddParty, cPrioThkCmdAddBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConCureSpot vftable:0x1C72CEC, Size:0x4, CRC32:0x4F0040C4 +class cPrioThkCmdConCureSpot /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConEventOmElf vftable:0x1C72C74, Size:0x4, CRC32:0x424181A3 +class cPrioThkCmdConEventOmElf /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConFollowArea vftable:0x1C72D8C, Size:0x2C, CRC32:0x5DE308EE +class cPrioThkCmdConFollowArea /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConHealFountain vftable:0x1C72C9C, Size:0x4, CRC32:0x4E25333E +class cPrioThkCmdConHealFountain /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConHealSpot vftable:0x1C72CC4, Size:0x4, CRC32:0x7DE6D218 +class cPrioThkCmdConHealSpot /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConSpot vftable:0x1C72D14, Size:0x10, CRC32:0x63E2154A +class cPrioThkCmdConSpot /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConSpotAny vftable:0x1C72D64, Size:0x10, CRC32:0x274305F3 +class cPrioThkCmdConSpotAny /*: cPrioThkCmdConSpot, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdConSpotExt vftable:0x1C72D3C, Size:0x14, CRC32:0x42636445 +class cPrioThkCmdConSpotExt /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdFilTargetStatus vftable:0x1C722E0, Size:0xC, CRC32:0x3E537BA +class cPrioThkCmdFilTargetStatus /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsAbaddonNotChanceTime vftable:0x1C7297C, Size:0x8, CRC32:0x25C46428 +class cPrioThkCmdIsAbaddonNotChanceTime /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsAction vftable:0x1C72420, Size:0xC, CRC32:0x785CC3AC +class cPrioThkCmdIsAction /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsAutoSituation vftable:0x1C72470, Size:0xC, CRC32:0x644AB7D9 +class cPrioThkCmdIsAutoSituation /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsBakuensen vftable:0x1C727E0, Size:0x8, CRC32:0x62C53544 +class cPrioThkCmdIsBakuensen /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsBase vftable:0x1C72308, Size:0x8, CRC32:0x3669ABC +class cPrioThkCmdIsBase /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsBattle vftable:0x1C72358, Size:0x8, CRC32:0x2C09580A +class cPrioThkCmdIsBattle /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsBattleAct vftable:0x1C726F0, Size:0x8, CRC32:0x6EC980B4 +class cPrioThkCmdIsBattleAct /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsCanErosionRescue vftable:0x1C72880, Size:0x8, CRC32:0x7D9DA1AB +class cPrioThkCmdIsCanErosionRescue /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsCanSetEmotion vftable:0x1C72768, Size:0x8, CRC32:0x51AA273B +class cPrioThkCmdIsCanSetEmotion /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsDamage vftable:0x1C72330, Size:0x8, CRC32:0x2E581B52 +class cPrioThkCmdIsDamage /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsDanger vftable:0x1C723F8, Size:0xC, CRC32:0x9852F4B +class cPrioThkCmdIsDanger /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsEnableArea vftable:0x1C72380, Size:0x8, CRC32:0x35DA479F +class cPrioThkCmdIsEnableArea /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsEvaluation vftable:0x1C724C0, Size:0xC, CRC32:0x1E729821 +class cPrioThkCmdIsEvaluation /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsFollowEnable vftable:0x1C72718, Size:0x8, CRC32:0x2CB680CD +class cPrioThkCmdIsFollowEnable /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsGuardBit vftable:0x1C72790, Size:0xC, CRC32:0x394D035 +class cPrioThkCmdIsGuardBit /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsHp vftable:0x1C724E8, Size:0x10, CRC32:0x5FEB8BB6 +class cPrioThkCmdIsHp /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsImpactForce vftable:0x1C72808, Size:0x8, CRC32:0xC0A9CA2 +class cPrioThkCmdIsImpactForce /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsLanternOff vftable:0x1C725D8, Size:0x8, CRC32:0x5F3C0D4D +class cPrioThkCmdIsLanternOff /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsLanternOn vftable:0x1C725B0, Size:0x8, CRC32:0x523906F8 +class cPrioThkCmdIsLanternOn /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsMasterDead vftable:0x1C72628, Size:0x8, CRC32:0xC5A390E +class cPrioThkCmdIsMasterDead /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsNotice vftable:0x1C723D0, Size:0xC, CRC32:0x779D0AFC +class cPrioThkCmdIsNotice /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsOrder vftable:0x1C72498, Size:0x28, CRC32:0x5F0A0018 +class cPrioThkCmdIsOrder /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsOtherFlag vftable:0x1C72740, Size:0xC, CRC32:0x2863A0F4 +class cPrioThkCmdIsOtherFlag /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsPartyJob vftable:0x1C726A0, Size:0x8, CRC32:0x62971962 +class cPrioThkCmdIsPartyJob /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsPhotoAct vftable:0x1C728A8, Size:0x8, CRC32:0x6901500B +class cPrioThkCmdIsPhotoAct /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsReleaseAlchemy vftable:0x1C72858, Size:0x8, CRC32:0x59505696 +class cPrioThkCmdIsReleaseAlchemy /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsReload vftable:0x1C72600, Size:0x10, CRC32:0x1D28816B +class cPrioThkCmdIsReload /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsSaintWallBomb vftable:0x1C72830, Size:0x8, CRC32:0x409AEFF1 +class cPrioThkCmdIsSaintWallBomb /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsShl vftable:0x1C726C8, Size:0x14, CRC32:0x74310489 +class cPrioThkCmdIsShl /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStageNo vftable:0x1C72538, Size:0xC, CRC32:0x3C4BBEB8 +class cPrioThkCmdIsStageNo /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStageType vftable:0x1C72560, Size:0xC, CRC32:0x352D0268 +class cPrioThkCmdIsStageType /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStamina vftable:0x1C72510, Size:0x10, CRC32:0x28D0AE1D +class cPrioThkCmdIsStamina /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStandOffTime vftable:0x1C723A8, Size:0xC, CRC32:0x4BC7E791 +class cPrioThkCmdIsStandOffTime /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStatus vftable:0x1C72448, Size:0x14, CRC32:0x44902A22 +class cPrioThkCmdIsStatus /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStatusCounter vftable:0x1C72650, Size:0x10, CRC32:0x28969405 +class cPrioThkCmdIsStatusCounter /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsStatusEx vftable:0x1C72678, Size:0xC, CRC32:0x2FD98928 +class cPrioThkCmdIsStatusEx /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsTalkWithPl vftable:0x1C727B8, Size:0x8, CRC32:0xD1BB8CB +class cPrioThkCmdIsTalkWithPl /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsTarget vftable:0x1C72588, Size:0x8, CRC32:0x79FF60C2 +class cPrioThkCmdIsTarget /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsTargetEnemy vftable:0x1C72904, Size:0x1C, CRC32:0x14EA385A +class cPrioThkCmdIsTargetEnemy /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsTargetEnemy::EnemyID vftable:0x1C728D8, Size:0x8, CRC32:0x16A8FE00 +class cPrioThkCmdIsTargetEnemy::EnemyID /*: MtObject*/ { +}; + +// cPrioThkCmdIsTargetEnemyHasTentacles vftable:0x1C7292C, Size:0x8, CRC32:0x4E476D66 +class cPrioThkCmdIsTargetEnemyHasTentacles /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdIsTargetEnemyIsPhoenixDragonFall vftable:0x1C72954, Size:0x8, CRC32:0x1B4D70FB +class cPrioThkCmdIsTargetEnemyIsPhoenixDragonFall /*: cPrioThkCmdIsBase, cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetActGoldBurst vftable:0x1C72C24, Size:0x8, CRC32:0x2B15C2C8 +class cPrioThkCmdRetActGoldBurst /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetActGroup vftable:0x1C72A44, Size:0x40, CRC32:0x1D7320CD +class cPrioThkCmdRetActGroup /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetActInter vftable:0x1C729F4, Size:0x40, CRC32:0xC334967 +class cPrioThkCmdRetActInter /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetActInterTarget vftable:0x1C72A1C, Size:0xC, CRC32:0x3AA23B18 +class cPrioThkCmdRetActInterTarget /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetCureAct vftable:0x1C72BAC, Size:0x4, CRC32:0x1BA3241C +class cPrioThkCmdRetCureAct /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetDispersion vftable:0x1C72B34, Size:0x4, CRC32:0x296C5AA3 +class cPrioThkCmdRetDispersion /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetEnemyTable vftable:0x1C729A4, Size:0x8, CRC32:0x6E3D7B0C +class cPrioThkCmdRetEnemyTable /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetEnemyTable::cTmpResult vftable:0x1C71E04, Size:0x20, CRC32:0x14C7A9F4 +class cPrioThkCmdRetEnemyTable::cTmpResult /*: MtObject*/ { +}; + +// cPrioThkCmdRetFollow vftable:0x1C72B0C, Size:0x8, CRC32:0x13B17456 +class cPrioThkCmdRetFollow /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetFreeParam vftable:0x1C72BFC, Size:0x14, CRC32:0x4BE8131 +class cPrioThkCmdRetFreeParam /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetGoto vftable:0x1C72A6C, Size:0x30, CRC32:0x42D20886 +class cPrioThkCmdRetGoto /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetHealAct vftable:0x1C72B5C, Size:0x8, CRC32:0x403AD0A5 +class cPrioThkCmdRetHealAct /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetNoMoveJump vftable:0x1C72ABC, Size:0x4, CRC32:0x4B2197F1 +class cPrioThkCmdRetNoMoveJump /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetOrder vftable:0x1C72AE4, Size:0x8, CRC32:0x4E586B74 +class cPrioThkCmdRetOrder /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetPawnSpeciality vftable:0x1C72C4C, Size:0x8, CRC32:0x57E6926B +class cPrioThkCmdRetPawnSpeciality /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetRouteInfo vftable:0x1C72A94, Size:0x4, CRC32:0x54CE69E +class cPrioThkCmdRetRouteInfo /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetStaminaHealAct vftable:0x1C72BD4, Size:0x4, CRC32:0x10E54BE2 +class cPrioThkCmdRetStaminaHealAct /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetSupport vftable:0x1C729CC, Size:0x4, CRC32:0x7004E5 +class cPrioThkCmdRetSupport /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCmdRetWhiteHealAct vftable:0x1C72B84, Size:0x8, CRC32:0x80C2D64 +class cPrioThkCmdRetWhiteHealAct /*: cPrioThkCmd, cAIResource, MtObject*/ { +}; + +// cPrioThkCode vftable:0x1C71E68, Size:0x5C, CRC32:0x353CC74 +class cPrioThkCode /*: cAIResource, MtObject*/ { +}; + +// cPrioThkIO vftable:0x1BFE9B0, Size:0x200, CRC32:0x6D5571B3 +class cPrioThkIO /*: cAIObject, MtObject*/ { +}; + +// cPrologueHmStatus vftable:0x1C6C3AC, Size:0x1C, CRC32:0x462636EA +class cPrologueHmStatus /*: MtObject*/ { +}; + +// cPushRate vftable:0x1C73AB4, Size:0x1C, CRC32:0x6D005682 +class cPushRate /*: MtObject*/ { + f32 'Small' ; // Offset:0x4, Var, CRC32:0x4B7B3AE8, Flags:0x0 + f32 'Middle' ; // Offset:0x8, Var, CRC32:0x66D3E006, Flags:0x0 + f32 'Large' ; // Offset:0xC, Var, CRC32:0x6755F945, Flags:0x0 + f32 'VeryLarge' ; // Offset:0x10, Var, CRC32:0x89E711DE, Flags:0x0 + f32 'Player' ; // Offset:0x14, Var, CRC32:0x604A80AC, Flags:0x0 + f32 'NPC' ; // Offset:0x18, Var, CRC32:0x2FD4CB59, Flags:0x0 +}; + +// cQuakeParam vftable:0x1C50598, Size:0x80, CRC32:0x5F7C5785 +class cQuakeParam /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + f32 'mHeadTime' ; // Offset:0x8, Var, CRC32:0xD6D4D2AD, Flags:0x0 + f32 'mMainTime' ; // Offset:0xC, Var, CRC32:0xCC986216, Flags:0x0 + f32 'mTailTime' ; // Offset:0x10, Var, CRC32:0xD5AC1B76, Flags:0x0 + vector3 'mMagnitude' ; // Offset:0x20, Var, CRC32:0x6913F345, Flags:0x0 + vector3 'mPos' ; // Offset:0x30, Var, CRC32:0x50227663, Flags:0x0 + f32 'mRadius' ; // Offset:0x40, Var, CRC32:0x5E0C76B, Flags:0x0 + f32 'mSpread' ; // Offset:0x44, Var, CRC32:0x42290949, Flags:0x0 + f32 'mDamping' ; // Offset:0x48, Var, CRC32:0xC7EC4974, Flags:0x0 + f32 'mPeriod' ; // Offset:0x4C, Var, CRC32:0xFB24B7FF, Flags:0x0 + f32 'mRoll' ; // Offset:0x50, Var, CRC32:0xF7BCF9F2, Flags:0x0 + f32 'mBalance' ; // Offset:0x54, Var, CRC32:0x2F166CE0, Flags:0x0 + bool 'mbAsync' ; // Offset:0x58, Var, CRC32:0xA532F86A, Flags:0x0 + f32 'mCamera1QuakeTime' ; // Offset:0x5C, Var, CRC32:0x2C826DA4, Flags:0x0 + f32 'mTarget1QuakeTime' ; // Offset:0x60, Var, CRC32:0xC007FA64, Flags:0x0 + f32 'mRoll1QuakeTime' ; // Offset:0x64, Var, CRC32:0xF806658F, Flags:0x0 + f32 'mRandDrop' ; // Offset:0x68, Var, CRC32:0x2137F4EF, Flags:0x0 + u32 'mHeadCurve' ; // Offset:0x6C, Var, CRC32:0x2BF3983A, Flags:0x0 + u32 'mTailCurve' ; // Offset:0x70, Var, CRC32:0x3AF1EBAF, Flags:0x0 +}; + +// cQuestAdvGuideManager vftable:0x1B41E5C, Size:0x78, CRC32:0x44F43E3F +class cQuestAdvGuideManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestAdvGuideManager::cGUIGuideData vftable:0x1B41E80, Size:0x1C0, CRC32:0x71B2F5C5 +class cQuestAdvGuideManager::cGUIGuideData /*: MtObject*/ { +}; + +// cQuestAdvGuideManager::cQuestNaviInfo vftable:0x1B41E9C, Size:0x18, CRC32:0x662A9935 +class cQuestAdvGuideManager::cQuestNaviInfo /*: MtObject*/ { +}; + +// cQuestAdvGuideManager::cQuestNaviMarker vftable:0x1B41EB8, Size:0xC, CRC32:0x4CD03D5D +class cQuestAdvGuideManager::cQuestNaviMarker /*: MtObject*/ { +}; + +// cQuestAdvGuideManager::cQuestNaviRequestQueue vftable:0x1B41ED4, Size:0x18, CRC32:0x39CF6AD5 +class cQuestAdvGuideManager::cQuestNaviRequestQueue /*: MtObject*/ { +}; + +// cQuestDeliverManager vftable:0x1B8C224, Size:0x30, CRC32:0x4F5384C7 +class cQuestDeliverManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestEventArg vftable:0x1B8C25C, Size:0x4, CRC32:0x6C9BE30C +class cQuestEventArg /*: MtObject*/ { +}; + +// cQuestEventArgEntryParty vftable:0x1B8C278, Size:0xC, CRC32:0x32E93B2E +class cQuestEventArgEntryParty /*: cQuestEventArg, MtObject*/ { +}; + +// cQuestEventArgLeaveParty vftable:0x1B8C294, Size:0xC, CRC32:0x78A95785 +class cQuestEventArgLeaveParty /*: cQuestEventArg, MtObject*/ { +}; + +// cQuestEventManager vftable:0x1B8C320, Size:0x2C, CRC32:0x7D0A96C2 +class cQuestEventManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestEventManager::cEvent vftable:0x1B8C35C, Size:0xC, CRC32:0xF97AE25 +class cQuestEventManager::cEvent /*: MtObject*/ { +}; + +// cQuestEventManager::cEventListener vftable:0x1B8C340, Size:0x10, CRC32:0x2DF9FC36 +class cQuestEventManager::cEventListener /*: MtObject*/ { +}; + +// cQuestFunctionManagerBase vftable:0x1B8C3CC, Size:0x4, CRC32:0x503E4FF0 +class cQuestFunctionManagerBase /*: MtObject*/ { +}; + +// cQuestGroup vftable:0x1C6CA98, Size:0x28, CRC32:0xEB762A4 +class cQuestGroup /*: MtObject*/ { + class 'mQusetSet' ; // Offset:0x4, Var, CRC32:0x8A278BC1, Flags:0x0 + string 'mComment' ; // Offset:0x18, Var, CRC32:0x17962172, Flags:0x0 + u32 'mGroupNo' ; // Offset:0x1C, Var, CRC32:0xB6F0B4E1, Flags:0x10000 + s32 'mCondition' ; // Offset:0x20, Var, CRC32:0xE1420607, Flags:0x0 + s32 'mEraseCondition' ; // Offset:0x24, Var, CRC32:0xB3795E4B, Flags:0x0 +}; + +// cQuestHistoryData vftable:0x1C6C4A8, Size:0xC, CRC32:0x2E9752CC +class cQuestHistoryData /*: cUIResource, MtObject*/ { +}; + +// cQuestMarkerManager vftable:0x1C06820, Size:0x104, CRC32:0x37DA1A23 +class cQuestMarkerManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestMarkerManager::cMarkerData vftable:0x1C068D4, Size:0x20, CRC32:0x357C978F +class cQuestMarkerManager::cMarkerData /*: MtObject*/ { +}; + +// cQuestMarkerManager::cMarkerTask vftable:0x1C068B8, Size:0x50, CRC32:0x4AF1BFC9 +class cQuestMarkerManager::cMarkerTask /*: MtObject*/ { +}; + +// cQuestMarkerManager::cQuestSetMarkerInfoBase vftable:0x1C06840, Size:0x10, CRC32:0x7C4A13E8 +class cQuestMarkerManager::cQuestSetMarkerInfoBase /*: MtObject*/ { +}; + +// cQuestMarkerManager::cQuestSetMarkerInfoFieldArea vftable:0x1C06890, Size:0x1C, CRC32:0x854FC8A +class cQuestMarkerManager::cQuestSetMarkerInfoFieldArea /*: cQuestMarkerManager::cQuestSetMarkerInfoBase, MtObject*/ { + u32 'mFieldAreaId' ; // Offset:0x18, Var, CRC32:0xA60E2CC4, Flags:0x0 +}; + +// cQuestMarkerManager::cQuestSetMarkerInfoStage vftable:0x1C06868, Size:0x1C, CRC32:0x426B98D +class cQuestMarkerManager::cQuestSetMarkerInfoStage /*: cQuestMarkerManager::cQuestSetMarkerInfoBase, MtObject*/ { + u32 'mStageNo' ; // Offset:0x18, Var, CRC32:0xACF5AFCF, Flags:0x0 +}; + +// cQuestMemoryPool vftable:0x1B8CD74, Size:0x12C08, CRC32:0x3FF4258 +class cQuestMemoryPool /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestMemoryPool::cQuestMemoryCore vftable:0x1B8CD4C, Size:0x8, CRC32:0x66975B10 +class cQuestMemoryPool::cQuestMemoryCore /*: MtObject*/ { +}; + +// cQuestPartyManager vftable:0x1B8D294, Size:0x1C, CRC32:0x9E59AC9 +class cQuestPartyManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestPartyManager::cLeaderScheduleInfo vftable:0x1B8D2B4, Size:0x18, CRC32:0x35B72176 +class cQuestPartyManager::cLeaderScheduleInfo /*: nQuest::cScheduleInfo, MtObject*/ { +}; + +// cQuestPersonalData vftable:0x1C0726C, Size:0xA4, CRC32:0x271A8D3F +class cQuestPersonalData /*: MtObject*/ { +}; + +// cQuestPersonalData::cQuestFlag vftable:0x1C072C0, Size:0x8, CRC32:0xBAE5673 +class cQuestPersonalData::cQuestFlag /*: MtObject*/ { +}; + +// cQuestPersonalData::cQuestPurpose vftable:0x1C072A4, Size:0x8, CRC32:0x3B20E993 +class cQuestPersonalData::cQuestPurpose /*: MtObject*/ { +}; + +// cQuestPhaseComponent vftable:0x1B41FBC, Size:0x4, CRC32:0x147C5683 +class cQuestPhaseComponent /*: MtObject*/ { +}; + +// cQuestPhaseCpDivide vftable:0x1B41FF4, Size:0xF0, CRC32:0x623FAC8E +class cQuestPhaseCpDivide /*: cQuestPhaseComponent, MtObject*/ { +}; + +// cQuestPhaseCpDivide::cPlayerState vftable:0x1B41FE0, Size:0xC, CRC32:0x443EA3C5 +class cQuestPhaseCpDivide::cPlayerState /*: MtObject*/ { +}; + +// cQuestPhaseEvent vftable:0x1B42074, Size:0x1C, CRC32:0x2F8AF725 +class cQuestPhaseEvent /*: MtObject*/ { +}; + +// cQuestPhaseEvent::cParam vftable:0x1B42090, Size:0x10, CRC32:0x68743B51 +class cQuestPhaseEvent::cParam /*: MtObject*/ { +}; + +// cQuestPhaseManager vftable:0x1B42584, Size:0x20, CRC32:0x7144D70A +class cQuestPhaseManager /*: cQuestFunctionManagerBase, MtObject*/ { + classref 'mpState' ; // Offset:0x18, Var, CRC32:0x27A00A87, Flags:0x0 +}; + +// cQuestPhaseState vftable:0x1B425DC, Size:0x4, CRC32:0x37B72F79 +class cQuestPhaseState /*: MtObject*/ { +}; + +// cQuestPhaseState001 vftable:0x1B42610, Size:0x28, CRC32:0x36CA9EF3 +class cQuestPhaseState001 /*: cQuestPhaseState, MtObject*/ { +}; + +// cQuestPhaseState002 vftable:0x1B425A0, Size:0xF4, CRC32:0x2FC3CF49 +class cQuestPhaseState002 /*: cQuestPhaseState, MtObject*/ { +}; + +// cQuestPoint vftable:0x1B92188, Size:0xC, CRC32:0x54D2D545 +class cQuestPoint /*: MtObject*/ { +}; + +// cQuestResourceLoadManager vftable:0x1B8DE44, Size:0x18, CRC32:0x693031C8 +class cQuestResourceLoadManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestResourceLoadManager::cLoadTask vftable:0x1B8DE64, Size:0x28, CRC32:0x52EAAEA2 +class cQuestResourceLoadManager::cLoadTask /*: MtObject*/ { +}; + +// cQuestResourceManager vftable:0x1B8E394, Size:0x3C8, CRC32:0x34D923BC +class cQuestResourceManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestResourceManager::cPackageQuestResource vftable:0x1B8E3EC, Size:0x14, CRC32:0x4724CDAB +class cQuestResourceManager::cPackageQuestResource /*: MtObject*/ { +}; + +// cQuestResourceManager::cPackageQuestSequenceResource vftable:0x1B8E408, Size:0x20, CRC32:0x656CA1F1 +class cQuestResourceManager::cPackageQuestSequenceResource /*: MtObject*/ { +}; + +// cQuestResourceManager::cQuestContentResource vftable:0x1B8E3D0, Size:0x18, CRC32:0x258B6A0 +class cQuestResourceManager::cQuestContentResource /*: MtObject*/ { +}; + +// cQuestResourceManager::cQuestResource vftable:0x1B8E3B4, Size:0x30, CRC32:0x59AC3D45 +class cQuestResourceManager::cQuestResource /*: MtObject*/ { +}; + +// cQuestSequence vftable:0x1C6CBA0, Size:0xC, CRC32:0x696DC8F6 +class cQuestSequence /*: MtObject*/ { + u32 'mSeqNo' ; // Offset:0x4, Var, CRC32:0x6FD8ECD7, Flags:0x0 + u32 'mQstId' ; // Offset:0x8, Var, CRC32:0xBE323A50, Flags:0x0 +}; + +// cQuestSet vftable:0x1C6CA68, Size:0x2C, CRC32:0x78CAD3F7 +class cQuestSet /*: MtObject*/ { + classref 'mpSetInfo' ; // Offset:0x8, Var, CRC32:0x1423768B, Flags:0x0 + u32 'mKind' ; // Offset:0x10, Var, CRC32:0xE2CD77E5, Flags:0x0 + u32 'mUnitNo' ; // Offset:0x14, Var, CRC32:0x54923B8B, Flags:0x10000 + u32 'mOmID' ; // Offset:0x18, Var, CRC32:0x8B0DDAC3, Flags:0x0 + string 'mComment' ; // Offset:0x1C, Var, CRC32:0x17962172, Flags:0x0 +}; + +// cQuestStage vftable:0x1C6CAC8, Size:0x1C, CRC32:0x210BB508 +class cQuestStage /*: MtObject*/ { + s32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + class 'mQuestGrp' ; // Offset:0x8, Var, CRC32:0xA9C94346, Flags:0x0 +}; + +// cQuestSvNotCancelQuestNavigation vftable:0x1B8EDFC, Size:0x8, CRC32:0x6408011 +class cQuestSvNotCancelQuestNavigation /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotCycle01Phase vftable:0x1B8E958, Size:0x8, CRC32:0x29CF658C +class cQuestSvNotCycle01Phase /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotCycle01SituationLevel vftable:0x1B8EC4C, Size:0x8, CRC32:0x666C85F6 +class cQuestSvNotCycle01SituationLevel /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotCycle04Phase vftable:0x1B8E97C, Size:0x8, CRC32:0x7902F43F +class cQuestSvNotCycle04Phase /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotCycleContentsEnable vftable:0x1B8EBBC, Size:0x8, CRC32:0x615D0D60 +class cQuestSvNotCycleContentsEnable /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotCycleContentsPlayEnd vftable:0x1B8E9C4, Size:0x8, CRC32:0x2CD2FF4C +class cQuestSvNotCycleContentsPlayEnd /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotDecideDeliveryItem vftable:0x1B8E934, Size:0x8, CRC32:0x4B1AE982 +class cQuestSvNotDecideDeliveryItem /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotEndContentsPlayEnd vftable:0x1B8EA54, Size:0x8, CRC32:0x720E1A85 +class cQuestSvNotEndContentsPlayEnd /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotFortDefenseExtraSituation vftable:0x1B8ED6C, Size:0x8, CRC32:0x5F6A269C +class cQuestSvNotFortDefenseExtraSituation /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotGetMainQuestList vftable:0x1B8EA9C, Size:0x8, CRC32:0xB2C0AEC +class cQuestSvNotGetMainQuestList /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotGetSetQuestList vftable:0x1B8E8C8, Size:0x8, CRC32:0x3C87B8DC +class cQuestSvNotGetSetQuestList /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotGetWorldMangeQuestLit vftable:0x1B8EB2C, Size:0x8, CRC32:0x49EB4941 +class cQuestSvNotGetWorldMangeQuestLit /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotJoinLobbyQuestInfo vftable:0x1B8EBE0, Size:0x8, CRC32:0x2843D6EF +class cQuestSvNotJoinLobbyQuestInfo /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotLeaderQuestProgress vftable:0x1B8EA78, Size:0x8, CRC32:0x735CE8D2 +class cQuestSvNotLeaderQuestProgress /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPackageQuestComplete vftable:0x1B8ED24, Size:0x8, CRC32:0x611530FA +class cQuestSvNotPackageQuestComplete /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPackageQuestSequenceBegin vftable:0x1B8ECDC, Size:0x8, CRC32:0x1D0485D9 +class cQuestSvNotPackageQuestSequenceBegin /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPackageQuestSequenceComplete vftable:0x1B8ED00, Size:0x8, CRC32:0x75EEC715 +class cQuestSvNotPackageQuestSequenceComplete /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPartyChangeLeader vftable:0x1B8EAC0, Size:0x8, CRC32:0xCB25E31 +class cQuestSvNotPartyChangeLeader /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPartyQuestComplete vftable:0x1B8E8A4, Size:0x8, CRC32:0x3ED324B8 +class cQuestSvNotPartyQuestComplete /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPartyQuestProgress vftable:0x1B8E880, Size:0x8, CRC32:0x5EB506DD +class cQuestSvNotPartyQuestProgress /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPlayAddTimer vftable:0x1B8EA0C, Size:0x8, CRC32:0x42C2D597 +class cQuestSvNotPlayAddTimer /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPlayStartTimer vftable:0x1B8E9E8, Size:0x8, CRC32:0x4BFB7697 +class cQuestSvNotPlayStartTimer /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotPlayTimeup vftable:0x1B8EA30, Size:0x8, CRC32:0x51547250 +class cQuestSvNotPlayTimeup /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestCancel vftable:0x1B8EB50, Size:0x8, CRC32:0x2D425CC9 +class cQuestSvNotQuestCancel /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestComplete vftable:0x1B8E910, Size:0x8, CRC32:0xD5C651B +class cQuestSvNotQuestComplete /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestEnable vftable:0x1B8EB98, Size:0x8, CRC32:0x8F45189 +class cQuestSvNotQuestEnable /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestMobHuntQuestListNum vftable:0x1B8EE20, Size:0x8, CRC32:0x680D62A3 +class cQuestSvNotQuestMobHuntQuestListNum /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestOrder vftable:0x1B8EB74, Size:0x8, CRC32:0x7A963DE1 +class cQuestSvNotQuestOrder /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestPhase vftable:0x1B8ECB8, Size:0x8, CRC32:0x3E0278B2 +class cQuestSvNotQuestPhase /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestProgress vftable:0x1B8E85C, Size:0x8, CRC32:0x6D3A477E +class cQuestSvNotQuestProgress /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestProgressWorkSave vftable:0x1B8E9A0, Size:0x8, CRC32:0x13D68949 +class cQuestSvNotQuestProgressWorkSave /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestSvCancel vftable:0x1B8ED90, Size:0x8, CRC32:0x670678D4 +class cQuestSvNotQuestSvCancel /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestSvClear vftable:0x1B8EDB4, Size:0x8, CRC32:0x718F031B +class cQuestSvNotQuestSvClear /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotQuestTimer vftable:0x1B8E8EC, Size:0x8, CRC32:0x656F7063 +class cQuestSvNotQuestTimer /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotReleaseSetQuestArea vftable:0x1B8EC94, Size:0x8, CRC32:0x11DD9109 +class cQuestSvNotReleaseSetQuestArea /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotRestartTimer vftable:0x1B8EB08, Size:0x8, CRC32:0x790E0A36 +class cQuestSvNotRestartTimer /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotSendLeaderQuestOrderConditionInfo vftable:0x1B8EC04, Size:0x8, CRC32:0x31481B71 +class cQuestSvNotSendLeaderQuestOrderConditionInfo /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotSendLeaderWaitOrderQuestList vftable:0x1B8EC28, Size:0x8, CRC32:0x58F2DAD +class cQuestSvNotSendLeaderWaitOrderQuestList /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotSetQuestNavigation vftable:0x1B8EDD8, Size:0x8, CRC32:0x2911F05C +class cQuestSvNotSetQuestNavigation /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotSetQuestUnreleasedArea vftable:0x1B8EC70, Size:0x8, CRC32:0x201AA023 +class cQuestSvNotSetQuestUnreleasedArea /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotStopTimer vftable:0x1B8EAE4, Size:0x8, CRC32:0x75F5C32C +class cQuestSvNotStopTimer /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNotWarMissionGaugeZero vftable:0x1B8ED48, Size:0x8, CRC32:0x1888C68D +class cQuestSvNotWarMissionGaugeZero /*: cQuestSvNotice, MtObject*/ { +}; + +// cQuestSvNoticeCallback vftable:0x1B8E83C, Size:0x2C, CRC32:0x2A76CD8A +class cQuestSvNoticeCallback /*: MtObject*/ { +}; + +// cQuestSvNoticeManager vftable:0x1B8F834, Size:0x2C, CRC32:0x4964C96D +class cQuestSvNoticeManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestSvReqAddPackageQuestPoint vftable:0x1B90860, Size:0x1C, CRC32:0x6DEC9018 +class cQuestSvReqAddPackageQuestPoint /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqCancelActiveQuest vftable:0x1B9034C, Size:0x18, CRC32:0x78A0467E +class cQuestSvReqCancelActiveQuest /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqCancelNavigationQuest vftable:0x1B90998, Size:0x18, CRC32:0x61532292 +class cQuestSvReqCancelNavigationQuest /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqCheckQuestDistribution vftable:0x1B901E0, Size:0x18, CRC32:0x420CA1CE +class cQuestSvReqCheckQuestDistribution /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqCycleContentsPlayEnd vftable:0x1B90450, Size:0x10, CRC32:0x3775F310 +class cQuestSvReqCycleContentsPlayEnd /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqCycleContentsRoulette vftable:0x1B90894, Size:0x10, CRC32:0x18932E16 +class cQuestSvReqCycleContentsRoulette /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqDebugMainQuestJump vftable:0x1B900A8, Size:0x14, CRC32:0x7AF67E79 +class cQuestSvReqDebugMainQuestJump /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqDebugQuestForceProgress vftable:0x1B900DC, Size:0x1C, CRC32:0x12247110 +class cQuestSvReqDebugQuestForceProgress /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqDebugQuestReset vftable:0x1B90110, Size:0x14, CRC32:0x611C511B +class cQuestSvReqDebugQuestReset /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqDebugQuestResetAll vftable:0x1B90144, Size:0x14, CRC32:0x5BC69205 +class cQuestSvReqDebugQuestResetAll /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqDecideDeliveryItem vftable:0x1B9000C, Size:0x18, CRC32:0x5E6ADB27 +class cQuestSvReqDecideDeliveryItem /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqEndContentsPlayEnd vftable:0x1B90484, Size:0x10, CRC32:0x677E2820 +class cQuestSvReqEndContentsPlayEnd /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqEndDistributionQuestCancel vftable:0x1B904EC, Size:0x10, CRC32:0x1AC5261C +class cQuestSvReqEndDistributionQuestCancel /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetActiveQuest vftable:0x1B902E4, Size:0x10, CRC32:0x226A6540 +class cQuestSvReqGetActiveQuest /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetAdventureGuideQuestList vftable:0x1B908FC, Size:0x10, CRC32:0x43D0E612 +class cQuestSvReqGetAdventureGuideQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetAdventureGuideQuestNotice vftable:0x1B90930, Size:0x10, CRC32:0x93485CC +class cQuestSvReqGetAdventureGuideQuestNotice /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetAreaBonusList vftable:0x1B90728, Size:0x10, CRC32:0x1AE97F9F +class cQuestSvReqGetAreaBonusList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetAreaInfoList vftable:0x1B90248, Size:0x10, CRC32:0x535530DD +class cQuestSvReqGetAreaInfoList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetAreaMasterInfo vftable:0x1B90588, Size:0x14, CRC32:0x4281BC9D +class cQuestSvReqGetAreaMasterInfo /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetAreaQuestInfoList vftable:0x1B90554, Size:0x14, CRC32:0xC863448 +class cQuestSvReqGetAreaQuestInfoList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetBoardBonusList vftable:0x1B908C8, Size:0x10, CRC32:0x28A055AB +class cQuestSvReqGetBoardBonusList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetClanQuestList vftable:0x1B8FDD0, Size:0x14, CRC32:0x4006E499 +class cQuestSvReqGetClanQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsBorderRewardList vftable:0x1B903E8, Size:0x18, CRC32:0x2EAB139B +class cQuestSvReqGetCycleContentsBorderRewardList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsNewsList vftable:0x1B9041C, Size:0x10, CRC32:0xFFE0F37 +class cQuestSvReqGetCycleContentsNewsList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsNowPointList vftable:0x1B901AC, Size:0x18, CRC32:0x28FC4CAF +class cQuestSvReqGetCycleContentsNowPointList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsPointList vftable:0x1B90178, Size:0x18, CRC32:0x4AFC81F2 +class cQuestSvReqGetCycleContentsPointList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsRankingList vftable:0x1B90380, Size:0x1C, CRC32:0x4A80B03C +class cQuestSvReqGetCycleContentsRankingList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsRankingRewardList vftable:0x1B903B4, Size:0x18, CRC32:0x130760CE +class cQuestSvReqGetCycleContentsRankingRewardList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetCycleContentsStateList vftable:0x1B8FFD8, Size:0x10, CRC32:0x1E8241E2 +class cQuestSvReqGetCycleContentsStateList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetEndContentsGroup vftable:0x1B905BC, Size:0x10, CRC32:0x299A2CEA +class cQuestSvReqGetEndContentsGroup /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetLightQuestList vftable:0x1B8FD9C, Size:0x14, CRC32:0x595C5F11 +class cQuestSvReqGetLightQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetMainQuestCompleteInfo vftable:0x1B9027C, Size:0x10, CRC32:0xE4B145E +class cQuestSvReqGetMainQuestCompleteInfo /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetMainQuestList vftable:0x1B8FD34, Size:0x10, CRC32:0x1E8C0882 +class cQuestSvReqGetMainQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetMobHuntQuestList vftable:0x1B909CC, Size:0x14, CRC32:0x2A3CE0F5 +class cQuestSvReqGetMobHuntQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetPackageQuestInfoDetail vftable:0x1B9082C, Size:0x14, CRC32:0x4DBBBDAC +class cQuestSvReqGetPackageQuestInfoDetail /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetPackageQuestInfoList vftable:0x1B907F8, Size:0x10, CRC32:0x5398D79A +class cQuestSvReqGetPackageQuestInfoList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetPackageQuestList vftable:0x1B907C4, Size:0x14, CRC32:0x7A640DA +class cQuestSvReqGetPackageQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetPartyQuestProgressInfo vftable:0x1B8FFA4, Size:0x10, CRC32:0x5A74B94E +class cQuestSvReqGetPartyQuestProgressInfo /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetPawnQuestList vftable:0x1B9075C, Size:0x14, CRC32:0x112721EB +class cQuestSvReqGetPawnQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetQuestCompleteList vftable:0x1B90074, Size:0x14, CRC32:0x5ACFDA9 +class cQuestSvReqGetQuestCompleteList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetQuestDetailList vftable:0x1B90040, Size:0x18, CRC32:0x4E7E1090 +class cQuestSvReqGetQuestDetailList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetQuestLayoutFlag vftable:0x1B8FF70, Size:0x14, CRC32:0x7AC762C5 +class cQuestSvReqGetQuestLayoutFlag /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetQuestListInfo vftable:0x1B90790, Size:0x10, CRC32:0x7D60753E +class cQuestSvReqGetQuestListInfo /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetQuestPartyBonusList vftable:0x1B90624, Size:0x10, CRC32:0x70815A66 +class cQuestSvReqGetQuestPartyBonusList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetRankingDataRankByQuestScheduleId vftable:0x1B90658, Size:0x20, CRC32:0x7B9BE248 +class cQuestSvReqGetRankingDataRankByQuestScheduleId /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetRecommendedQuestInfoList vftable:0x1B905F0, Size:0x10, CRC32:0x3FAFD32C +class cQuestSvReqGetRecommendedQuestInfoList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetSetQuestInfoList vftable:0x1B90214, Size:0x14, CRC32:0x3BA1F29C +class cQuestSvReqGetSetQuestInfoList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetSetQuestList vftable:0x1B8FD68, Size:0x14, CRC32:0x46A89F81 +class cQuestSvReqGetSetQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetSetQuestOpenDateList vftable:0x1B902B0, Size:0x10, CRC32:0x20B9A801 +class cQuestSvReqGetSetQuestOpenDateList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetTimeLimitedQuestList vftable:0x1B8FEA0, Size:0x10, CRC32:0x5307FC1D +class cQuestSvReqGetTimeLimitedQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetTutorialQuestList vftable:0x1B8FE38, Size:0x14, CRC32:0x197066D5 +class cQuestSvReqGetTutorialQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGetWorldManageQuestList vftable:0x1B8FE6C, Size:0x10, CRC32:0x4A1EA6C0 +class cQuestSvReqGetWorldManageQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqGpCompleteLightQuestList vftable:0x1B8FE04, Size:0x14, CRC32:0x2BE64B1 +class cQuestSvReqGpCompleteLightQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqLeaderQuestProgress vftable:0x1B90520, Size:0x1C, CRC32:0x55F5CF87 +class cQuestSvReqLeaderQuestProgress /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqQuestCancel vftable:0x1B8FF3C, Size:0x18, CRC32:0x43F9E0BE +class cQuestSvReqQuestCancel /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqQuestCompleteFlagClear vftable:0x1B9068C, Size:0x18, CRC32:0x1FD32DB7 +class cQuestSvReqQuestCompleteFlagClear /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqQuestOrder vftable:0x1B8FED4, Size:0x18, CRC32:0x4F4B66E3 +class cQuestSvReqQuestOrder /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqQuestProgress vftable:0x1B8FF08, Size:0x20, CRC32:0x4F93B953 +class cQuestSvReqQuestProgress /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqSendLeaderQuestOrderConditionInfo vftable:0x1B906C0, Size:0x24, CRC32:0x207A0DAE +class cQuestSvReqSendLeaderQuestOrderConditionInfo /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqSendLeaderWaitOrderQuestList vftable:0x1B906F4, Size:0x24, CRC32:0x538F2695 +class cQuestSvReqSendLeaderWaitOrderQuestList /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqSetActiveQuest vftable:0x1B90318, Size:0x18, CRC32:0x5D74D637 +class cQuestSvReqSetActiveQuest /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqSetNavigationQuest vftable:0x1B90964, Size:0x18, CRC32:0x39B4DAA9 +class cQuestSvReqSetNavigationQuest /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvReqStartQuestTime vftable:0x1B904B8, Size:0x10, CRC32:0x122B8E33 +class cQuestSvReqStartQuestTime /*: cQuestSvRequest, MtObject*/ { +}; + +// cQuestSvRequestManager vftable:0x1B9173C, Size:0x20, CRC32:0x57A7F965 +class cQuestSvRequestManager /*: cQuestFunctionManagerBase, MtObject*/ { +}; + +// cQuestSyncDataManager vftable:0x1B91C28, Size:0x28, CRC32:0x5ED25145 +class cQuestSyncDataManager /*: MtObject*/ { + class 'mQuestScheduleId' ; // Offset:0x4, Var, CRC32:0x6F80E856, Flags:0x0 + s32 'mOnMemberNum' ; // Offset:0x18, Var, CRC32:0x2B69E4D1, Flags:0x0 +}; + +// cQuestTask vftable:0x1C07200, Size:0x268, CRC32:0x2C5E131E +class cQuestTask /*: MtObject*/ { +}; + +// cQuestTask::cDeliveryItemInfo vftable:0x1C07288, Size:0x14, CRC32:0x4C998B77 +class cQuestTask::cDeliveryItemInfo /*: MtObject*/ { +}; + +// cQuestTask::cEnemyGroupInfo vftable:0x1C072DC, Size:0x14, CRC32:0x118F825E +class cQuestTask::cEnemyGroupInfo /*: MtObject*/ { + u32 'mEnemyGroupId' ; // Offset:0x4, Var, CRC32:0x859B33AD, Flags:0x0 + u32 'mEnemyLevel' ; // Offset:0x8, Var, CRC32:0x2044C807, Flags:0x0 + bool 'mIsPartyRecommanded' ; // Offset:0xC, Var, CRC32:0xB0D15F8D, Flags:0x0 +}; + +// cQuestTask::cLayoutFlagInfo vftable:0x1C0730C, Size:0x1C, CRC32:0x3EBFE10B +class cQuestTask::cLayoutFlagInfo /*: MtObject*/ { + u32 'mFlagNo' ; // Offset:0x4, Var, CRC32:0x70C42D18, Flags:0x0 + class 'mSetInfoList' ; // Offset:0x8, Var, CRC32:0xA420D821, Flags:0x0 +}; + +// cQuestTask::cLayoutFlagInfo::cSetInfo vftable:0x1C07328, Size:0xC, CRC32:0x3424E107 +class cQuestTask::cLayoutFlagInfo::cSetInfo /*: MtObject*/ { + u32 'mGroupId' ; // Offset:0x4, Var, CRC32:0x6E63FBAE, Flags:0x0 + u32 'mStageNo' ; // Offset:0x8, Var, CRC32:0xACF5AFCF, Flags:0x0 +}; + +// cQuestTask::cLeaderQuestProgress vftable:0x1C07344, Size:0x10, CRC32:0x79917067 +class cQuestTask::cLeaderQuestProgress /*: MtObject*/ { +}; + +// cQuestTask::cQuestOmTargetData vftable:0x1C07188, Size:0x14, CRC32:0x188DFC98 +class cQuestTask::cQuestOmTargetData /*: MtObject*/ { +}; + +// cQuestTask::cQuestProcess vftable:0x1B8D870, Size:0x88, CRC32:0x16787EA5 +class cQuestTask::cQuestProcess /*: MtObject*/ { +}; + +// cQuestTaskParam vftable:0x1B9216C, Size:0x1A0, CRC32:0x61761D16 +class cQuestTaskParam /*: MtObject*/ { +}; + +// cQuestTimerKeep vftable:0x1B921A4, Size:0x10, CRC32:0x55F5AF56 +class cQuestTimerKeep /*: MtObject*/ { +}; + +// cQuestUnitGroup vftable:0x1B926C8, Size:0x40, CRC32:0x5739507B +class cQuestUnitGroup /*: MtObject*/ { +}; + +// cQuestUnitManager vftable:0x1B926F8, Size:0x24, CRC32:0x5B615AF4 +class cQuestUnitManager /*: MtObject*/ { + u32 'mQuestId' ; // Offset:0x4, Var, CRC32:0x1FBA8D43, Flags:0x0 + s32 'mStageNo' ; // Offset:0x8, Var, CRC32:0xACF5AFCF, Flags:0x0 + custom 'mpQuestList' ; // Offset:0xC, Var, CRC32:0xE53C086D, Flags:0x0 +}; + +// cRage vftable:0x1BED9D0, Size:0x20, CRC32:0x583A0BF6 +class cRage /*: MtObject*/ { +}; + +// cReaction vftable:0x1B0D778, Size:0x100, CRC32:0x449BECF8 +class cReaction /*: MtObject*/ { +}; + +// cReaction::cAction vftable:0x1C6CDA0, Size:0x14, CRC32:0x64B94096 +class cReaction::cAction /*: MtObject*/ { +}; + +// cReaction::cCondition vftable:0x1C6CD68, Size:0x20, CRC32:0x2BEE45F +class cReaction::cCondition /*: MtObject*/ { +}; + +// cReaction::cTrigger vftable:0x1C6CD84, Size:0x14, CRC32:0x4F275105 +class cReaction::cTrigger /*: MtObject*/ { +}; + +// cRecommendDragonSkill vftable:0x1C6CED8, Size:0x10, CRC32:0x1ED13E47 +class cRecommendDragonSkill /*: MtObject*/ { +}; + +// cRegionBreakInfo vftable:0x1C6CFDC, Size:0x10, CRC32:0x47FFE062 +class cRegionBreakInfo /*: MtObject*/ { +}; + +// cRegionStatusCtrlTable vftable:0x1C73C90, Size:0x48, CRC32:0x51E5C0BF +class cRegionStatusCtrlTable /*: MtObject*/ { + s32 'mRegionStatusKeyNo' ; // Offset:0x4, Var, CRC32:0xC7F5B666, Flags:0x0 + bool 'RegionStatusActive'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAEB100, Setter:0xAEB3F0, GetCount:0xAEB0F0, Reallocate:0xAEB420 CRC32:0x2C95F4B, Flags:0xA00000 +}; + +// cRemoteCall vftable:0x20C7FD0, Size:0x8, CRC32:0x4CD24D24 +class cRemoteCall /*: MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cRemoteProcedureAsync vftable:0x20C7F4C, Size:0x60, CRC32:0x4043581F +class cRemoteProcedureAsync /*: cRemoteProcedure, MtObject*/ { + bool 'mValid' ; // Offset:0xC, Var, CRC32:0x71B3AF3E, Flags:0x0 + bool 'mKill' ; // Offset:0xD, Var, CRC32:0xDE209D55, Flags:0x0 + u64 'mID' ; // Offset:0x20, Var, CRC32:0x10BB0F5B, Flags:0x10000 + string 'mGroup' ; // Offset:0x28, Var, CRC32:0x9074DE04, Flags:0x10000 +}; + +// cRemoteProcedureAsync::MsgMTFN_Async vftable:0x20C7F30, Size:0x8, CRC32:0x7C907717 +class cRemoteProcedureAsync::MsgMTFN_Async /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// cReplaceWardGmdList vftable:0x1C6D0E0, Size:0x18, CRC32:0x48B5A68A +class cReplaceWardGmdList /*: MtObject*/ { +}; + +// cRoomWearParam vftable:0x1C6D674, Size:0x30, CRC32:0x4CD77DDC +class cRoomWearParam /*: MtObject*/ { + u32 'mItem' ; // Offset:0x4, Var, CRC32:0xC612EE22, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x0 + u16 'mAH_M' ; // Offset:0xC, Var, CRC32:0x30102488, Flags:0x0 + u16 'mAB_M' ; // Offset:0xE, Var, CRC32:0x3D87A15E, Flags:0x0 + u16 'mWB_M' ; // Offset:0x10, Var, CRC32:0x48F5A91D, Flags:0x0 + u16 'mAA_M' ; // Offset:0x12, Var, CRC32:0x3FC11F07, Flags:0x0 + u16 'mAL_M' ; // Offset:0x14, Var, CRC32:0x37198C54, Flags:0x0 + u16 'mWL_M' ; // Offset:0x16, Var, CRC32:0x426B8417, Flags:0x0 + u16 'mCategory_M' ; // Offset:0x18, Var, CRC32:0x61F2D840, Flags:0x0 + u16 'mMotNo_M' ; // Offset:0x1A, Var, CRC32:0xC11A560, Flags:0x0 + u16 'mAC_M' ; // Offset:0x1C, Var, CRC32:0x3C45CB69, Flags:0x0 + u16 'mAH_W' ; // Offset:0x1E, Var, CRC32:0xCD72DDF2, Flags:0x0 + u16 'mAB_W' ; // Offset:0x20, Var, CRC32:0xC0E55824, Flags:0x0 + u16 'mWB_W' ; // Offset:0x22, Var, CRC32:0xB5975067, Flags:0x0 + u16 'mAA_W' ; // Offset:0x24, Var, CRC32:0xC2A3E67D, Flags:0x0 + u16 'mAL_W' ; // Offset:0x26, Var, CRC32:0xCA7B752E, Flags:0x0 + u16 'mWL_W' ; // Offset:0x28, Var, CRC32:0xBF097D6D, Flags:0x0 + u16 'mAC_W' ; // Offset:0x2A, Var, CRC32:0xC1273213, Flags:0x0 + u16 'mCategory_W' ; // Offset:0x2C, Var, CRC32:0x9C90213A, Flags:0x0 + u16 'mMotNo_W' ; // Offset:0x2E, Var, CRC32:0xF1735C1A, Flags:0x0 +}; + +// cS32Integer vftable:0x1C477AC, Size:0x8, CRC32:0x57E7669F +class cS32Integer /*: MtObject*/ { + s32 'mInteger' ; // Offset:0x4, Var, CRC32:0xD9EDD815, Flags:0x0 +}; + +// cSTFDNLight vftable:0x1DA5C9C, Size:0xC0, CRC32:0x26CEE6E9 +class cSTFDNLight /*: cSTFLight, cStateTransitionFromGameInfo, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x10, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x14, Var, CRC32:0x63D9F36F, Flags:0x0 + classref 'mpLightParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C26C0, Setter:0x10C5260, CRC32:0xE96E9633, Flags:0x800000 + classref 'mpLPBlink' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2630, Setter:0x10C51D0, CRC32:0xA274460C, Flags:0x800000 + classref 'mpLPDayNight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2640, Setter:0x10C51E0, CRC32:0x8023A01C, Flags:0x800000 + classref 'mpLPVisible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2650, Setter:0x10C51F0, CRC32:0xBC901DDA, Flags:0x800000 +}; + +// cSTFDayNightColorFogEm021004 vftable:0x1DA4794, Size:0x18, CRC32:0x6BB1E41F +class cSTFDayNightColorFogEm021004 /*: cSTFLightExt, cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFFilter vftable:0x1AEDB5C, Size:0x18, CRC32:0x526713BE +class cSTFFilter /*: cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFFilterAfterlife vftable:0x1DA3934, Size:0x18, CRC32:0x592D70B4 +class cSTFFilterAfterlife /*: cSTFFilter, cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFFilterEm021004 vftable:0x1DA3974, Size:0x18, CRC32:0x4E1547A +class cSTFFilterEm021004 /*: cSTFFilter, cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFFilterEvilEye vftable:0x1DA38F4, Size:0x18, CRC32:0x24F0D97A +class cSTFFilterEvilEye /*: cSTFFilter, cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFFilterParam vftable:0x1AEDB9C, Size:0x10, CRC32:0xB5708E7 +class cSTFFilterParam /*: MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 +}; + +// cSTFFilterParamBloom vftable:0x1AEDD28, Size:0x14, CRC32:0x2FEAEF97 +class cSTFFilterParamBloom /*: cSTFFilterParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 +}; + +// cSTFFilterParamColorCorrect vftable:0x1AEDD04, Size:0x250, CRC32:0x262BE40 +class cSTFFilterParamColorCorrect /*: cSTFFilterParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u32 'mResource.mPass' ; // Offset:0x10, Var, CRC32:0x89808E59, Flags:0x0 + vector3 'mResource.mGamma' ; // Offset:0x20, Var, CRC32:0x38B2C227, Flags:0x0 + hermitecurve 'mResource.mToneCurve' ; // Offset:0x30, Var, CRC32:0xF86B8E28, Flags:0x0 + u32 'mResource.mCorrector[0].mType' ; // Offset:0x70, Var, CRC32:0xE6D76401, Flags:0x0 + vector3 'mResource.mCorrector[0].mFactor' ; // Offset:0x80, Var, CRC32:0x4E6C5B4A, Flags:0x0 + vector3 'mResource.mCorrector[0].mFactor2' ; // Offset:0x90, Var, CRC32:0x5E909555, Flags:0x0 + u32 'mResource.mCorrector[1].mType' ; // Offset:0xA0, Var, CRC32:0x2A7D649F, Flags:0x0 + vector3 'mResource.mCorrector[1].mFactor' ; // Offset:0xB0, Var, CRC32:0xA1AE3074, Flags:0x0 + vector3 'mResource.mCorrector[1].mFactor2' ; // Offset:0xC0, Var, CRC32:0x9F1E4A95, Flags:0x0 +}; + +// cSTFFilterParamDOF vftable:0x1AEDCE0, Size:0x64, CRC32:0xEB61A82 +class cSTFFilterParamDOF /*: cSTFFilterParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + f32 'mResource.mBlurSize' ; // Offset:0x10, Var, CRC32:0x308F1C1E, Flags:0x0 + f32 'mResource.mFarBlurLimit' ; // Offset:0x14, Var, CRC32:0x2209E01, Flags:0x0 + f32 'mResource.mNearBlurLimit' ; // Offset:0x18, Var, CRC32:0x8AB9B54C, Flags:0x0 + f32 'mResource.mFocal' ; // Offset:0x1C, Var, CRC32:0x3D97821F, Flags:0x0 + f32 'mResource.mNear' ; // Offset:0x20, Var, CRC32:0x31BC466C, Flags:0x0 + f32 'mResource.mFar' ; // Offset:0x24, Var, CRC32:0x3C0956BE, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x28, Var, CRC32:0x24318DCD, Flags:0x0 +}; + +// cSTFFilterParamHaze vftable:0x1AEDCBC, Size:0x14, CRC32:0x35966C6C +class cSTFFilterParamHaze /*: cSTFFilterParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 +}; + +// cSTFInfLEnemyActionSpritDragon vftable:0x1DA61A8, Size:0x60, CRC32:0x752EA4F5 +class cSTFInfLEnemyActionSpritDragon /*: cSTFLight, cStateTransitionFromGameInfo, MtObject*/ { + f32 'mWaitFrame_SP' ; // Offset:0x10, Var, CRC32:0x47BA10F1, Flags:0x0 + f32 'mInterpolationFrame_SP' ; // Offset:0x14, Var, CRC32:0x1E08629E, Flags:0x0 + vector3 'mDayColor_SP' ; // Offset:0x20, Var, CRC32:0xD4F0AC9D, Flags:0x0 + vector3 'mNightColor_SP' ; // Offset:0x30, Var, CRC32:0x13F06F68, Flags:0x0 +}; + +// cSTFLight vftable:0x1AEDA7C, Size:0x10, CRC32:0x45D3022E +class cSTFLight /*: cStateTransitionFromGameInfo, MtObject*/ { +}; + +// cSTFLightDarkSky vftable:0x1DA5D64, Size:0xC0, CRC32:0x7F5D52 +class cSTFLightDarkSky /*: cSTFDNLight, cSTFLight, cStateTransitionFromGameInfo, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x10, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x14, Var, CRC32:0x63D9F36F, Flags:0x0 + classref 'mpLightParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C26C0, Setter:0x10C5260, CRC32:0xE96E9633, Flags:0x800000 + classref 'mpLPBlink' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2630, Setter:0x10C51D0, CRC32:0xA274460C, Flags:0x800000 + classref 'mpLPDayNight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2640, Setter:0x10C51E0, CRC32:0x8023A01C, Flags:0x800000 + classref 'mpLPVisible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2650, Setter:0x10C51F0, CRC32:0xBC901DDA, Flags:0x800000 +}; + +// cSTFLightExt vftable:0x1AEDAF0, Size:0x18, CRC32:0x59E08333 +class cSTFLightExt /*: cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFLightExtEm021004 vftable:0x1D670A0, Size:0x18, CRC32:0x669417AE +class cSTFLightExtEm021004 /*: cSTFLightExt, cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFLightExtParam vftable:0x1AEDB30, Size:0x10, CRC32:0x436CD1E5 +class cSTFLightExtParam /*: MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 +}; + +// cSTFLightExtParamInfinite vftable:0x1AEDC98, Size:0x14, CRC32:0x6B4180F3 +class cSTFLightExtParamInfinite /*: cSTFLightExtParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 +}; + +// cSTFLightParam vftable:0x1AEDABC, Size:0x8, CRC32:0x4EA3551C +class cSTFLightParam /*: MtObject*/ { + bool 'mIsParentLink' ; // Offset:0x4, Var, CRC32:0x3FDF9D38, Flags:0x0 +}; + +// cSTFLightParamBlink vftable:0x1DA5C00, Size:0x34, CRC32:0x59DC4965 +class cSTFLightParamBlink /*: cSTFLightParam, MtObject*/ { + bool 'mIsParentLink' ; // Offset:0x4, Var, CRC32:0x3FDF9D38, Flags:0x0 + class 'mBlink' ; // Offset:0x8, Var, CRC32:0xCF8C0F1C, Flags:0x0 +}; + +// cSTFLightParamDayNight vftable:0x1DA5BCC, Size:0x50, CRC32:0x18B067DD +class cSTFLightParamDayNight /*: cSTFLightParam, MtObject*/ { + bool 'mIsParentLink' ; // Offset:0x4, Var, CRC32:0x3FDF9D38, Flags:0x0 + vector3 'mDayColor' ; // Offset:0x10, Var, CRC32:0x7954CA1D, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x20, Var, CRC32:0xECFAE1C7, Flags:0x0 +}; + +// cSTFLightParamPoint vftable:0x1DA5C34, Size:0x10, CRC32:0x5C412F9C +class cSTFLightParamPoint /*: cSTFLightParam, MtObject*/ { + bool 'mIsParentLink' ; // Offset:0x4, Var, CRC32:0x3FDF9D38, Flags:0x0 + f32 'mStart' ; // Offset:0x8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0xC, Var, CRC32:0xD007A37E, Flags:0x0 +}; + +// cSTFLightParamSpot vftable:0x1DA5C68, Size:0x20, CRC32:0x5CB28D90 +class cSTFLightParamSpot /*: cSTFLightParam, MtObject*/ { + bool 'mIsParentLink' ; // Offset:0x4, Var, CRC32:0x3FDF9D38, Flags:0x0 + f32 'mStart' ; // Offset:0x8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0xC, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x10, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x14, Var, CRC32:0x42290949, Flags:0x0 + f32 'mFalloff' ; // Offset:0x18, Var, CRC32:0xCC8F5FE6, Flags:0x0 + f32 'mShadowGroup0' ; // Offset:0x1C, Var, CRC32:0xAEDE9247, Flags:0x0 +}; + +// cSTFLightParamVisible vftable:0x1DA5B98, Size:0xC, CRC32:0x1810AB0D +class cSTFLightParamVisible /*: cSTFLightParam, MtObject*/ { + bool 'mIsParentLink' ; // Offset:0x4, Var, CRC32:0x3FDF9D38, Flags:0x0 + bool 'mIsVisible' ; // Offset:0x9, Var, CRC32:0x40E335DD, Flags:0x0 +}; + +// cSTFLightSetManager vftable:0x1DA5CDC, Size:0xD0, CRC32:0x2DED7FA7 +class cSTFLightSetManager /*: cSTFDNLight, cSTFLight, cStateTransitionFromGameInfo, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x10, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x14, Var, CRC32:0x63D9F36F, Flags:0x0 + u16 'mUniqueId' ; // Offset:0xC0, Var, CRC32:0xE045D83D, Flags:0x0 + classref 'mpLightParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C26C0, Setter:0x10C5260, CRC32:0xE96E9633, Flags:0x800000 + classref 'mpLPBlink' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2630, Setter:0x10C51D0, CRC32:0xA274460C, Flags:0x800000 + classref 'mpLPDayNight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2640, Setter:0x10C51E0, CRC32:0x8023A01C, Flags:0x800000 + classref 'mpLPVisible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2650, Setter:0x10C51F0, CRC32:0xBC901DDA, Flags:0x800000 +}; + +// cSTFLightSetManagerTimeChangeSpot vftable:0x1DA5D20, Size:0xE0, CRC32:0x53AB67A2 +class cSTFLightSetManagerTimeChangeSpot /*: cSTFLightSetManager, cSTFDNLight, cSTFLight, cStateTransitionFromGameInfo, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x10, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x14, Var, CRC32:0x63D9F36F, Flags:0x0 + u16 'mUniqueId' ; // Offset:0xC0, Var, CRC32:0xE045D83D, Flags:0x0 + u16 'mDayRank' ; // Offset:0xD0, Var, CRC32:0x5F120210, Flags:0x0 + classref 'mpLightParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C26C0, Setter:0x10C5260, CRC32:0xE96E9633, Flags:0x800000 + classref 'mpLPBlink' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2630, Setter:0x10C51D0, CRC32:0xA274460C, Flags:0x800000 + classref 'mpLPDayNight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2640, Setter:0x10C51E0, CRC32:0x8023A01C, Flags:0x800000 + classref 'mpLPVisible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2650, Setter:0x10C51F0, CRC32:0xBC901DDA, Flags:0x800000 +}; + +// cSTFShadowExt vftable:0x1AEDBC8, Size:0x18, CRC32:0xEB4E3B9 +class cSTFShadowExt /*: cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFShadowExtEm021004 vftable:0x1D6FE3C, Size:0x18, CRC32:0x32F59B63 +class cSTFShadowExtEm021004 /*: cSTFLightExt, cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFShadowExtParam vftable:0x1AEDC08, Size:0x10, CRC32:0x1D53C32A +class cSTFShadowExtParam /*: MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 +}; + +// cSTFShadowExtParamStable vftable:0x1AEDD4C, Size:0x14, CRC32:0x7FD52636 +class cSTFShadowExtParamStable /*: cSTFShadowExtParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 +}; + +// cSTFSkyFog vftable:0x1AEDC34, Size:0x18, CRC32:0x2CA649C4 +class cSTFSkyFog /*: cStateTransitionFromGameInfo, MtObject*/ { + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 +}; + +// cSTFSkyFogParam vftable:0x1AEDC74, Size:0x10, CRC32:0x6D72F0B +class cSTFSkyFogParam /*: MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 +}; + +// cSTFSkyFogParamDayNight vftable:0x1AEDD70, Size:0x130, CRC32:0x6F003C47 +class cSTFSkyFogParamDayNight /*: cSTFSkyFogParam, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + class 'mResource.mParam' ; // Offset:0x10, Var, CRC32:0x580B6EDF, Flags:0x0 +}; + +// cSTFSpotLEnemyActionSpritDragon vftable:0x1DA61E8, Size:0xB0, CRC32:0x3928D5FE +class cSTFSpotLEnemyActionSpritDragon /*: cSTFInfLEnemyActionSpritDragon, cSTFLight, cStateTransitionFromGameInfo, MtObject*/ { + f32 'mWaitFrame_SP' ; // Offset:0x10, Var, CRC32:0x47BA10F1, Flags:0x0 + f32 'mInterpolationFrame_SP' ; // Offset:0x14, Var, CRC32:0x1E08629E, Flags:0x0 + vector3 'mDayColor_SP' ; // Offset:0x20, Var, CRC32:0xD4F0AC9D, Flags:0x0 + vector3 'mNightColor_SP' ; // Offset:0x30, Var, CRC32:0x13F06F68, Flags:0x0 + f32 'mStart' ; // Offset:0x60, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x64, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x68, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x6C, Var, CRC32:0x42290949, Flags:0x0 + f32 'mFalloff' ; // Offset:0x70, Var, CRC32:0xCC8F5FE6, Flags:0x0 + f32 'mShadowGroup0' ; // Offset:0x74, Var, CRC32:0xAEDE9247, Flags:0x0 +}; + +// cScenario vftable:0x1C07E0C, Size:0x28, CRC32:0x5E0923D7 +class cScenario /*: MtObject*/ { + classref 'AreaHit' ; // Offset:0x8, Var, CRC32:0x8993236E, Flags:0x0 + u32 'mStatus' ; // Offset:0x1C, Var, CRC32:0x459CCC2D, Flags:0x20000 + u32 'mBootType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D5270, Setter:0x9D58C0, CRC32:0x5AC4A8B5, Flags:0x830000 + u32 'mTaskType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D52E0, Setter:0x9D58C0, CRC32:0x268B29F7, Flags:0x830000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D52D0, Setter:0x9D58C0, CRC32:0x4A28ECBA, Flags:0x830000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D52B0, Setter:0x9D5940, CRC32:0x1EE2EC7, Flags:0x820000 + classref 'Shape' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D5250, Setter:0x9D5840, CRC32:0xE30E2F23, Flags:0x800000 + classref 'Arg' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D5260, Setter:0x9D5890, CRC32:0xBF392E95, Flags:0x800000 + classref 'Param' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D52C0, Setter:0x9D5970, CRC32:0x9AC4AC72, Flags:0x800000 +}; + +// cScenarioArg vftable:0x1C07E50, Size:0x2C, CRC32:0x7034E4D6 +class cScenarioArg /*: MtObject*/ { +}; + +// cScenarioArg_AreaJump vftable:0x1C083B8, Size:0x34, CRC32:0x40BCB086 +class cScenarioArg_AreaJump /*: cScenarioArg, MtObject*/ { + u32 'mStageNo' ; // Offset:0x2C, Var, CRC32:0xACF5AFCF, Flags:0x0 + s32 'mPosNo' ; // Offset:0x30, Var, CRC32:0x4441A20D, Flags:0x0 +}; + +// cScenarioArg_BootFSM vftable:0x1C083D8, Size:0x44, CRC32:0x54A1C553 +class cScenarioArg_BootFSM /*: cScenarioArg, MtObject*/ { + class 'mFSMList' ; // Offset:0x2C, Var, CRC32:0x192FBB24, Flags:0x0 + u32 'mTouchType' ; // Offset:0x40, Var, CRC32:0x8AC323DB, Flags:0x0 +}; + +// cScenarioArg_Camera vftable:0x1C08398, Size:0x34, CRC32:0x4FEEB4C4 +class cScenarioArg_Camera /*: cScenarioArg, MtObject*/ { + u32 'CameraMode' ; // Offset:0x30, Var, CRC32:0x4484AD5B, Flags:0x0 +}; + +// cScenarioData vftable:0x1C7612C, Size:0x14, CRC32:0x1DA4BE42 +class cScenarioData /*: MtObject*/ { + classref 'Param' ; // Offset:0x4, Var, CRC32:0x9AC4AC72, Flags:0x0 + classref 'Shape' ; // Offset:0x8, Var, CRC32:0xE30E2F23, Flags:0x0 + classref 'Arg' ; // Offset:0xC, Var, CRC32:0xBF392E95, Flags:0x0 + s32 'mIndex' ; // Offset:0x10, Var, CRC32:0x7DC7FDC0, Flags:0x10000 +}; + +// cScenarioParam vftable:0x1C07E30, Size:0x1C, CRC32:0x3A21D417 +class cScenarioParam /*: MtObject*/ { + u32 'mTaskType' ; // Offset:0x4, Var, CRC32:0x268B29F7, Flags:0x10000 + u32 'mBootType' ; // Offset:0x8, Var, CRC32:0x5AC4A8B5, Flags:0x0 + u32 'mCheckType' ; // Offset:0xC, Var, CRC32:0x68D9E364, Flags:0x0 + u32 'mPriority' ; // Offset:0x10, Var, CRC32:0x4A28ECBA, Flags:0x10000 + u32 'mStatus' ; // Offset:0x14, Var, CRC32:0x459CCC2D, Flags:0x0 + u32 'mDetectAttr' ; // Offset:0x18, Var, CRC32:0x783362F8, Flags:0x0 +}; + +// cSeedGameSvConnection vftable:0x1BC5C38, Size:0x540, CRC32:0x526A5680 +class cSeedGameSvConnection /*: cSeedServerConnection, MtObject*/ { +}; + +// cSeedLoginSvConnection vftable:0x1BD6AF8, Size:0x170, CRC32:0x7D89A49D +class cSeedLoginSvConnection /*: cSeedServerConnection, MtObject*/ { + classref 'mpManager' ; // Offset:0x110, Var, CRC32:0xB07FDF69, Flags:0x0 + bool 'mIsLoginSuccess' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x88CC50, Setter:0x88DAE0, CRC32:0xB3C3E8AC, Flags:0x800000 + bool 'mIsLoginWithSessionKey' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x88CC70, Setter:0x88DB10, CRC32:0x729549D0, Flags:0x800000 +}; + +// cSeedServerStream vftable:0x1C08930, Size:0x1C, CRC32:0x7E6BFC92 +class cSeedServerStream /*: MtMemoryStream, MtStream, MtObject*/ { +}; + +// cServerUIClientControl vftable:0x1B42B24, Size:0x28, CRC32:0x1801EBCD +class cServerUIClientControl /*: MtObject*/ { +}; + +// cSetFurnitureWk vftable:0x1DAAFB4, Size:0x60, CRC32:0x3E231169 +class cSetFurnitureWk /*: MtObject*/ { +}; + +// cSetInfoCharacter vftable:0x1C08F60, Size:0x3C, CRC32:0x61F0B882 +class cSetInfoCharacter /*: cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoCoord vftable:0x1C09468, Size:0x3C, CRC32:0x18A9ACE8 +class cSetInfoCoord /*: cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoEnemy vftable:0x1C099E8, Size:0x54, CRC32:0xC9ED9BC +class cSetInfoEnemy /*: cSetInfoCharacter, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + s32 'mPresetKind' ; // Offset:0x3C, Var, CRC32:0xC32B8843, Flags:0x0 + s32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mEmReactNo' ; // Offset:0x44, Var, CRC32:0x663A55C2, Flags:0x0 + s32 'mSubGroupNo' ; // Offset:0x48, Var, CRC32:0x1222A826, Flags:0x0 + bool 'mReturnPoint2nd' ; // Offset:0x4C, Var, CRC32:0xDEB35B0A, Flags:0x0 + s32 'mWanderType' ; // Offset:0x50, Var, CRC32:0x73F34DC8, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoEnemyLinked vftable:0x1C09A28, Size:0x58, CRC32:0x7DCBFB2C +class cSetInfoEnemyLinked /*: cSetInfoEnemy, cSetInfoCharacter, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + s32 'mPresetKind' ; // Offset:0x3C, Var, CRC32:0xC32B8843, Flags:0x0 + s32 'mGroup' ; // Offset:0x40, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mEmReactNo' ; // Offset:0x44, Var, CRC32:0x663A55C2, Flags:0x0 + s32 'mSubGroupNo' ; // Offset:0x48, Var, CRC32:0x1222A826, Flags:0x0 + bool 'mReturnPoint2nd' ; // Offset:0x4C, Var, CRC32:0xDEB35B0A, Flags:0x0 + s32 'mWanderType' ; // Offset:0x50, Var, CRC32:0x73F34DC8, Flags:0x0 + s32 'AgtOID' ; // Offset:0x54, Var, CRC32:0x8656EC6, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoGeneralPoint vftable:0x1C09AE0, Size:0x48, CRC32:0x28A407EE +class cSetInfoGeneralPoint /*: cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoNpc vftable:0x1C09FE8, Size:0x6C, CRC32:0x26590A06 +class cSetInfoNpc /*: cSetInfoCharacter, cSetInfoCoord, cSetInfo, MtObject*/ { + string 'mFSMName' ; // Offset:0x4, Var, CRC32:0x3C43D3A, Flags:0x10000 + u8 'mFSMType' ; // Offset:0x8, Var, CRC32:0xD1391415, Flags:0x0 + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + s32 'mNpcId' ; // Offset:0x3C, Var, CRC32:0x575E2018, Flags:0x0 + bool 'mIsCommunicate' ; // Offset:0x50, Var, CRC32:0xFBAA16C2, Flags:0x0 + u8 'mClothType' ; // Offset:0x51, Var, CRC32:0x1190FA23, Flags:0x0 + s8 'mDefNPCMotCategory' ; // Offset:0x52, Var, CRC32:0x4F247980, Flags:0x0 + s8 'mDefNPCMotNo' ; // Offset:0x53, Var, CRC32:0xF9D6EDC8, Flags:0x0 + u8 'mLantern' ; // Offset:0x54, Var, CRC32:0xAA70F609, Flags:0x0 + u16 'mThinkIndex' ; // Offset:0x56, Var, CRC32:0xA9F25C0B, Flags:0x0 + u16 'mJobLv' ; // Offset:0x58, Var, CRC32:0x25A82E2B, Flags:0x0 + bool 'mDisableScrAdj' ; // Offset:0x5A, Var, CRC32:0xE0062E07, Flags:0x0 + bool 'mDisableLedgerFinger' ; // Offset:0x5B, Var, CRC32:0x474760F4, Flags:0x0 + bool 'mIsForceListTalk' ; // Offset:0x5C, Var, CRC32:0x3BA6EE30, Flags:0x0 + bool 'mIsAttand' ; // Offset:0x5D, Var, CRC32:0x8B3774A0, Flags:0x0 + bool 'mDisableTouchAction' ; // Offset:0x5E, Var, CRC32:0xDB6618E3, Flags:0x0 + bool 'mDispElseQuestTalk' ; // Offset:0x5F, Var, CRC32:0xA1EB3876, Flags:0x0 + u32 'mTalkStateId' ; // Offset:0x60, Var, CRC32:0x14BAD6CE, Flags:0x0 + bool 'mForceSwitchGreeting' ; // Offset:0x64, Var, CRC32:0x1996E341, Flags:0x0 + bool 'mUseAttendComponent' ; // Offset:0x65, Var, CRC32:0xC0650BC5, Flags:0x0 + bool 'mUseLiteMotion' ; // Offset:0x66, Var, CRC32:0xB5D3BDD2, Flags:0x0 + bool 'mIsNoSetOnPS3' ; // Offset:0x67, Var, CRC32:0xA1C31581, Flags:0x0 + bool 'mUseJobParamEx' ; // Offset:0x68, Var, CRC32:0x9837E630, Flags:0x0 + bool 'mDispOnWeapon' ; // Offset:0x69, Var, CRC32:0xB81C3EAB, Flags:0x0 + s16 'mInitEffectType' ; // Offset:0x6A, Var, CRC32:0x619C8004, Flags:0x0 + custom 'FSMResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x669540, Setter:0x669590, CRC32:0xF7BE0D8D, Flags:0x820000 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOm vftable:0x1C0A638, Size:0x68, CRC32:0x7A27F7CB +class cSetInfoOm /*: cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOm511380 vftable:0x1B38CD8, Size:0xC0, CRC32:0x13874CC9 +class cSetInfoOm511380 /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xA0, Var, CRC32:0xE1F7E2C4, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xA2, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xA4, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xA8, Var, CRC32:0x5EB4FE79, Flags:0x0 + bool 'mVal.mbMapIcon' ; // Offset:0xB0, Var, CRC32:0xC0073658, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOm511380::omLOT vftable:0x1B38CC4, Size:0x50, CRC32:0x14979191 +class cSetInfoOm511380::omLOT /*: cSetInfoOmGrpID::omLOT, cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmActText vftable:0x1C0AB48, Size:0x78, CRC32:0x60475D4 +class cSetInfoOmActText /*: cSetInfoOmText, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mTextNo' ; // Offset:0x68, Var, CRC32:0xBBE9C5, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0x6C, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextType' ; // Offset:0x70, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mPLActNo' ; // Offset:0x74, Var, CRC32:0x26734186, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBadStatus vftable:0x1C0AD90, Size:0x90, CRC32:0x2F9D9F70 +class cSetInfoOmBadStatus /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mBadRadius' ; // Offset:0x68, Var, CRC32:0x26A231D4, Flags:0x0 + f32 'mBadHeight' ; // Offset:0x6C, Var, CRC32:0xE893BA81, Flags:0x0 + vector3 'mBadPos' ; // Offset:0x70, Var, CRC32:0x9DA1E134, Flags:0x0 + u32 'mBreakHitNum' ; // Offset:0x80, Var, CRC32:0x45704746, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBlock vftable:0x1C0AE68, Size:0x6C, CRC32:0x52DDE1BD +class cSetInfoOmBlock /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mQuestID' ; // Offset:0x68, Var, CRC32:0x24D4AD8B, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBoard vftable:0x1C0A998, Size:0x6C, CRC32:0x9905DD8 +class cSetInfoOmBoard /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mBoardID' ; // Offset:0x68, Var, CRC32:0x81B568F0, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBowlOfLife vftable:0x1C0ACB0, Size:0x7C, CRC32:0x42A406A5 +class cSetInfoOmBowlOfLife /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mbWaitBowlOfLife' ; // Offset:0x68, Var, CRC32:0x2085C910, Flags:0x0 + bool 'mbFullBowlOfLife' ; // Offset:0x69, Var, CRC32:0x23108AD8, Flags:0x0 + bool 'mbSetEM' ; // Offset:0x6A, Var, CRC32:0x681E573E, Flags:0x0 + bool 'mbInvisible' ; // Offset:0x6B, Var, CRC32:0x8AA67193, Flags:0x0 + bool 'mIsQuest' ; // Offset:0x6C, Var, CRC32:0xC9E2FA37, Flags:0x0 + u32 'mQuestId' ; // Offset:0x70, Var, CRC32:0x1FBA8D43, Flags:0x0 + u16 'mKind' ; // Offset:0x74, Var, CRC32:0xE2CD77E5, Flags:0x0 + u16 'mGroup' ; // Offset:0x76, Var, CRC32:0x9074DE04, Flags:0x0 + u16 'mID' ; // Offset:0x78, Var, CRC32:0x10BB0F5B, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBreakHeal vftable:0x1B38650, Size:0xB0, CRC32:0x33A4F7AA +class cSetInfoOmBreakHeal /*: cSetInfoOmBreakTarget, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mBreakHitNum' ; // Offset:0x68, Var, CRC32:0x45704746, Flags:0x0 + s32 'mVal.mGrp' ; // Offset:0xA0, Var, CRC32:0xFA00B025, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBreakHeal::omLOT vftable:0x1B3863C, Size:0x40, CRC32:0x7897DEB5 +class cSetInfoOmBreakHeal::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmBreakRecovery vftable:0x1C0AE20, Size:0x70, CRC32:0x59D5D5B0 +class cSetInfoOmBreakRecovery /*: cSetInfoOmBreakTarget, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mBreakHitNum' ; // Offset:0x68, Var, CRC32:0x45704746, Flags:0x0 + u32 'mRecoveryMul' ; // Offset:0x6C, Var, CRC32:0x654469C3, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmBreakTarget vftable:0x1C0ADD8, Size:0x6C, CRC32:0x77BED90F +class cSetInfoOmBreakTarget /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mBreakHitNum' ; // Offset:0x68, Var, CRC32:0x45704746, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmCannon vftable:0x1C0A710, Size:0x90, CRC32:0x78CC78A9 +class cSetInfoOmCannon /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mbHoming' ; // Offset:0x68, Var, CRC32:0x9391CD0E, Flags:0x0 + bool 'mbAutoFire' ; // Offset:0x69, Var, CRC32:0x43E75A32, Flags:0x0 + f32 'mAngleX' ; // Offset:0x6C, Var, CRC32:0xF0F2A69B, Flags:0x0 + u32 'mCannonType' ; // Offset:0x70, Var, CRC32:0xFD4D6AF1, Flags:0x0 + u32 'mBreakHitNum' ; // Offset:0x74, Var, CRC32:0x45704746, Flags:0x0 + s16 'mGroup' ; // Offset:0x78, Var, CRC32:0x9074DE04, Flags:0x0 + s16 'mGroupID' ; // Offset:0x7A, Var, CRC32:0x550DDB66, Flags:0x0 + f32 'mCannonHeightLimit' ; // Offset:0x7C, Var, CRC32:0x34AEF6C2, Flags:0x0 + f32 'mDistanceLimitMin' ; // Offset:0x80, Var, CRC32:0x2A041627, Flags:0x0 + f32 'mDistanceLimitMax' ; // Offset:0x84, Var, CRC32:0x1609297E, Flags:0x0 + u32 'mShotInterval' ; // Offset:0x88, Var, CRC32:0x1097630C, Flags:0x0 + u8 'mShotIdleFrequency' ; // Offset:0x8C, Var, CRC32:0x4E5110D, Flags:0x0 + u8 'mCheckAngle' ; // Offset:0x8D, Var, CRC32:0xDA0A901D, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmCtrl vftable:0x1C0AD18, Size:0x128, CRC32:0x153EA46D +class cSetInfoOmCtrl /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mKeyItemNo' ; // Offset:0x68, Var, CRC32:0x5E55E21F, Flags:0x0 + class 'mLinkParam'[4] ; // Offset:0x70, Array, CRC32:0xD5CD3F7B, Flags:0x200000 + bool 'mIsQuest' ; // Offset:0x110, Var, CRC32:0xC9E2FA37, Flags:0x0 + u32 'mQuestId' ; // Offset:0x114, Var, CRC32:0x1FBA8D43, Flags:0x0 + s32 'mAddGroupNo' ; // Offset:0x118, Var, CRC32:0x4CADA646, Flags:0x0 + s32 'mAddSubGroupNo' ; // Offset:0x11C, Var, CRC32:0xA33BBEA3, Flags:0x0 + u32 'mEmHpRate' ; // Offset:0x120, Var, CRC32:0x7B854BDB, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmCtrl::cLinkParam vftable:0x1C0ACF8, Size:0x28, CRC32:0x49E4425 +class cSetInfoOmCtrl::cLinkParam /*: MtObject*/ { + u16 'mKind' ; // Offset:0x4, Var, CRC32:0xE2CD77E5, Flags:0x0 + u16 'mGroup' ; // Offset:0x6, Var, CRC32:0x9074DE04, Flags:0x0 + u16 'mID' ; // Offset:0x8, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mTransition' ; // Offset:0xC, Var, CRC32:0x54FA59D0, Flags:0x0 + u32 'mState' ; // Offset:0x10, Var, CRC32:0x5E27483A, Flags:0x0 + s32 'mCamEvNo' ; // Offset:0x14, Var, CRC32:0x499B37B4, Flags:0x0 +}; + +// cSetInfoOmDoor vftable:0x1C0A878, Size:0xA0, CRC32:0x1DF9813A +class cSetInfoOmDoor /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mbPRT' ; // Offset:0x68, Var, CRC32:0x4167001D, Flags:0x0 + vector3 'mPRTPos' ; // Offset:0x70, Var, CRC32:0xC5157853, Flags:0x0 + f32 'mPRTScale' ; // Offset:0x80, Var, CRC32:0x290C3186, Flags:0x0 + u32 'mTextType' ; // Offset:0x84, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0x88, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextNo' ; // Offset:0x8C, Var, CRC32:0xBBE9C5, Flags:0x0 + u32 'mQuestID' ; // Offset:0x90, Var, CRC32:0x24D4AD8B, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmElfSW vftable:0x1C0AA28, Size:0x6C, CRC32:0x1F054C56 +class cSetInfoOmElfSW /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mPLCount' ; // Offset:0x68, Var, CRC32:0x8462A27, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmEx vftable:0x1C0A680, Size:0x6C, CRC32:0x5807D153 +class cSetInfoOmEx /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mQuestID' ; // Offset:0x68, Var, CRC32:0x24D4AD8B, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmFall vftable:0x1C0AA70, Size:0x6C, CRC32:0x6C4C0A1B +class cSetInfoOmFall /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mFallHeight' ; // Offset:0x68, Var, CRC32:0x5FF5A5D3, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmFlagMapMarker vftable:0x1B39D10, Size:0xB0, CRC32:0x1BF6A3BB +class cSetInfoOmFlagMapMarker /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mVal.mRedQuestFlag' ; // Offset:0xA0, Var, CRC32:0x1EDB4A59, Flags:0x0 + u32 'mVal.mRedQuestID' ; // Offset:0xA4, Var, CRC32:0x6AA4913F, Flags:0x0 + u32 'mVal.mBlueQuestFlag' ; // Offset:0xA8, Var, CRC32:0x16F08842, Flags:0x0 + u32 'mVal.mBlueQuestID' ; // Offset:0xAC, Var, CRC32:0xFC2CA590, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmFlagMapMarker::omLOT vftable:0x1B39CFC, Size:0x40, CRC32:0x642DAE6F +class cSetInfoOmFlagMapMarker::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmGather vftable:0x1C0A758, Size:0x74, CRC32:0x369A4533 +class cSetInfoOmGather /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mItemListID' ; // Offset:0x68, Var, CRC32:0x2472C975, Flags:0x0 + u32 'mGatheringType' ; // Offset:0x6C, Var, CRC32:0x184A1267, Flags:0x0 + bool 'mIsGatherEnemy' ; // Offset:0x70, Var, CRC32:0x70A0B6C0, Flags:0x0 + s16 'mEnemyGroupNo' ; // Offset:0x72, Var, CRC32:0x5D087CE2, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmGauge vftable:0x1B3A378, Size:0xB0, CRC32:0x7A3278B5 +class cSetInfoOmGauge /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mVal.mBreakHitNum' ; // Offset:0xA0, Var, CRC32:0x19ACE242, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmGauge::omLOT vftable:0x1B3A360, Size:0x40, CRC32:0x53E4E7A3 +class cSetInfoOmGauge::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmGrp vftable:0x1B3A3E0, Size:0xB0, CRC32:0x5BD44A47 +class cSetInfoOmGrp /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xA0, Var, CRC32:0xE1F7E2C4, Flags:0x0 + s32 'mVal.mGrp' ; // Offset:0xA4, Var, CRC32:0xFA00B025, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmGrp::omLOT vftable:0x1B3A3C8, Size:0x40, CRC32:0x56AD90D1 +class cSetInfoOmGrp::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmGrpID vftable:0x1B3A448, Size:0xB0, CRC32:0x793B5B5D +class cSetInfoOmGrpID /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xA0, Var, CRC32:0xE1F7E2C4, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xA2, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xA4, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xA8, Var, CRC32:0x5EB4FE79, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmGrpID::omLOT vftable:0x1B3A430, Size:0x40, CRC32:0x7D36B5D4 +class cSetInfoOmGrpID::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmHakuryuu vftable:0x1C0AC68, Size:0x6C, CRC32:0x72B11FA3 +class cSetInfoOmHakuryuu /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mStoneLevel' ; // Offset:0x68, Var, CRC32:0xE72635F2, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmHeal vftable:0x1C0A7E8, Size:0x6C, CRC32:0x3E34ABB9 +class cSetInfoOmHeal /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mHealType' ; // Offset:0x68, Var, CRC32:0x5EE5600, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmHugeRimShl vftable:0x1B36F80, Size:0x180, CRC32:0x6E7E91D8 +class cSetInfoOmHugeRimShl /*: cSetInfoOmVolcano, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + s32 'mVal.mShotGrp' ; // Offset:0xA0, Var, CRC32:0x32E5AB, Flags:0x0 + u32 'mVal.mShotInterval' ; // Offset:0xA4, Var, CRC32:0x17A67BB0, Flags:0x0 + s32 'mVal.mWeatherID' ; // Offset:0xA8, Var, CRC32:0xD6943E3F, Flags:0x0 + u32 'mVal.mStartHour' ; // Offset:0xAC, Var, CRC32:0xB2CF6CBE, Flags:0x0 + u32 'mVal.mEndHour' ; // Offset:0xB0, Var, CRC32:0x885939F9, Flags:0x0 + bool 'mVal.mbBoundary' ; // Offset:0xB4, Var, CRC32:0x97A454D0, Flags:0x0 + vector3 'mVal.mBoundaryPos' ; // Offset:0xC0, Var, CRC32:0xD137AB5C, Flags:0x0 + f32 'mVal.mBoundaryRadius' ; // Offset:0xD0, Var, CRC32:0x739C3AFE, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xD4, Var, CRC32:0xE1F7E2C4, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xD6, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xD8, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xDC, Var, CRC32:0x5EB4FE79, Flags:0x0 + bool 'mVal.mbBlockQuest' ; // Offset:0xE0, Var, CRC32:0xD3F9405E, Flags:0x0 + u32 'mVal.mBlockQuestID' ; // Offset:0xE4, Var, CRC32:0x5975077, Flags:0x0 + u32 'mVal.mBlockQuestFlag' ; // Offset:0xE8, Var, CRC32:0xCA181241, Flags:0x0 + u32 'mVal.mShotPtn' ; // Offset:0x170, Var, CRC32:0xB50ECABB, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmHugeRimShl::omLOT vftable:0x1B36F6C, Size:0x90, CRC32:0x27EF4377 +class cSetInfoOmHugeRimShl::omLOT /*: cSetInfoOmVolcano::omLOT, cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmLadder vftable:0x1C0A830, Size:0x6C, CRC32:0x55E1B0B +class cSetInfoOmLadder /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mHeight' ; // Offset:0x68, Var, CRC32:0xCBD14C3E, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmLever vftable:0x1C0AC20, Size:0x80, CRC32:0x312387EF +class cSetInfoOmLever /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mbReqLever' ; // Offset:0x68, Var, CRC32:0x230CD19F, Flags:0x0 + s32 'mCamEvNo' ; // Offset:0x6C, Var, CRC32:0x499B37B4, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmLimitWarp vftable:0x1C0A950, Size:0xB8, CRC32:0x1D263FD4 +class cSetInfoOmLimitWarp /*: cSetInfoOmWarp, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mTextType' ; // Offset:0xA4, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0xA8, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextNo' ; // Offset:0xAC, Var, CRC32:0xBBE9C5, Flags:0x0 + bool 'mbNoWarp' ; // Offset:0xB0, Var, CRC32:0xB1E9BFF4, Flags:0x0 + u32 'mLimitSpotID' ; // Offset:0xB4, Var, CRC32:0xAAA71535, Flags:0x0 + u32 'mQuestNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B50, Setter:0x9E5F40, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xC729C20C, Flags:0xA00000 + u32 'mFlagNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B40, Setter:0x9E4EE0, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0x70C42D18, Flags:0xA00000 + u32 'mSpotId'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B70, Setter:0x9E5F60, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xA0E3E1E6, Flags:0xA00000 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + u32 'mStageNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B80, Setter:0x9E5F80, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xACF5AFCF, Flags:0xA00000 + u32 'mStartPosNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B90, Setter:0x9E5F90, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xB947F49B, Flags:0xA00000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmMagmaFall vftable:0x1B362A8, Size:0xB0, CRC32:0x66BC66E2 +class cSetInfoOmMagmaFall /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mVal.mRelation' ; // Offset:0xA0, Var, CRC32:0x57501A98, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xA4, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xA6, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xA8, Var, CRC32:0x5EB4FE79, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmMagmaFall::omLOT vftable:0x1B36294, Size:0x40, CRC32:0x1853B5A5 +class cSetInfoOmMagmaFall::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmMagmaSpring vftable:0x1B3B070, Size:0xD0, CRC32:0x58A74E30 +class cSetInfoOmMagmaSpring /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xA4, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xA8, Var, CRC32:0x5EB4FE79, Flags:0x0 + u32 'mVal.mRelation' ; // Offset:0xB0, Var, CRC32:0x57501A98, Flags:0x0 + bool 'mVal.mbAllways' ; // Offset:0xB4, Var, CRC32:0x72C7B783, Flags:0x0 + f32 'mVal.mLength' ; // Offset:0xB8, Var, CRC32:0x97203989, Flags:0x0 + f32 'mVal.mJumpLength' ; // Offset:0xBC, Var, CRC32:0x43CEDB02, Flags:0x0 + f32 'mVal.mSpan' ; // Offset:0xC0, Var, CRC32:0x6ED2AF1E, Flags:0x0 + f32 'mVal.mFireTime' ; // Offset:0xC4, Var, CRC32:0xA18B9E22, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmMagmaSpring::omLOT vftable:0x1B3B05C, Size:0x60, CRC32:0x48340993 +class cSetInfoOmMagmaSpring::omLOT /*: cSetInfoOmGrpID::omLOT, cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmNav vftable:0x1C0A7A0, Size:0x80, CRC32:0x5C89956F +class cSetInfoOmNav /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + vector3 'mNavOBBExtent' ; // Offset:0x70, Var, CRC32:0x236C4B5F, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmOldDoor vftable:0x1C0A8C0, Size:0x84, CRC32:0x76E3D834 +class cSetInfoOmOldDoor /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mIsQuest' ; // Offset:0x68, Var, CRC32:0xC9E2FA37, Flags:0x0 + u32 'mQuestId' ; // Offset:0x6C, Var, CRC32:0x1FBA8D43, Flags:0x0 + u16 'mKind[0]' ; // Offset:0x70, Var, CRC32:0x80F7997E, Flags:0x0 + u16 'mKind[1]' ; // Offset:0x72, Var, CRC32:0x99ECA83F, Flags:0x0 + u16 'mKind[2]' ; // Offset:0x74, Var, CRC32:0xB2C1FBFC, Flags:0x0 + u16 'mGroup[0]' ; // Offset:0x76, Var, CRC32:0xE5AF2F13, Flags:0x0 + u16 'mGroup[1]' ; // Offset:0x78, Var, CRC32:0xFCB41E52, Flags:0x0 + u16 'mGroup[2]' ; // Offset:0x7A, Var, CRC32:0xD7994D91, Flags:0x0 + u16 'mID[0]' ; // Offset:0x7C, Var, CRC32:0x11B76D61, Flags:0x0 + u16 'mID[1]' ; // Offset:0x7E, Var, CRC32:0x8AC5C20, Flags:0x0 + u16 'mID[2]' ; // Offset:0x80, Var, CRC32:0x23810FE3, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmOneWay vftable:0x1C0AEB0, Size:0xB0, CRC32:0x6CB5DE54 +class cSetInfoOmOneWay /*: cSetInfoOmEx, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mQuestID' ; // Offset:0x68, Var, CRC32:0x24D4AD8B, Flags:0x0 + vector3 'mWarpPos[0]' ; // Offset:0x70, Var, CRC32:0xD9E6E6CE, Flags:0x0 + vector3 'mWarpPos[1]' ; // Offset:0x80, Var, CRC32:0xC0FDD78F, Flags:0x0 + vector3 'mWarpPos[2]' ; // Offset:0x90, Var, CRC32:0xEBD0844C, Flags:0x0 + vector3 'mWarpPos[3]' ; // Offset:0xA0, Var, CRC32:0xF2CBB50D, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmPLJump vftable:0x1C0AB90, Size:0x78, CRC32:0x33C5C830 +class cSetInfoOmPLJump /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mLength' ; // Offset:0x68, Var, CRC32:0x3FE13783, Flags:0x0 + f32 'mJumpLength' ; // Offset:0x6C, Var, CRC32:0x2C01DBB9, Flags:0x0 + f32 'mSpan' ; // Offset:0x70, Var, CRC32:0x3DA65BB, Flags:0x0 + f32 'mFireTime' ; // Offset:0x74, Var, CRC32:0xBCDCF36E, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmPlCannon vftable:0x1C0AEF8, Size:0x8C, CRC32:0x7B498C01 +class cSetInfoOmPlCannon /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + bool 'mIsSetCorruption' ; // Offset:0x68, Var, CRC32:0x695EC5F9, Flags:0x0 + f32 'mAngleX' ; // Offset:0x6C, Var, CRC32:0xF0F2A69B, Flags:0x0 + u32 'mBreakHitNum' ; // Offset:0x70, Var, CRC32:0x45704746, Flags:0x0 + u32 'mFirstShotInterval' ; // Offset:0x74, Var, CRC32:0x7996ED4C, Flags:0x0 + u32 'mShotInterval' ; // Offset:0x78, Var, CRC32:0x1097630C, Flags:0x0 + u32 'mCancelInterval' ; // Offset:0x7C, Var, CRC32:0x78FFBA59, Flags:0x0 + u32 'mCannonType' ; // Offset:0x80, Var, CRC32:0xFD4D6AF1, Flags:0x0 + f32 'mDistanceLimitMax' ; // Offset:0x84, Var, CRC32:0x1609297E, Flags:0x0 + u32 'mOmAtkMagnification' ; // Offset:0x88, Var, CRC32:0x5DD15E82, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmRange vftable:0x1C0AAB8, Size:0x74, CRC32:0x42412CD6 +class cSetInfoOmRange /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mRange' ; // Offset:0x68, Var, CRC32:0x6E33C088, Flags:0x0 + u32 'mGrp' ; // Offset:0x6C, Var, CRC32:0x2F2EFE30, Flags:0x0 + bool 'mIsAll' ; // Offset:0x70, Var, CRC32:0x2A2A99BD, Flags:0x0 + bool 'mIsOneTime' ; // Offset:0x71, Var, CRC32:0x570F4086, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmRimWarp vftable:0x1B3AAB0, Size:0x100, CRC32:0x74670EB3 +class cSetInfoOmRimWarp /*: cSetInfoOmWarp, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mTextType' ; // Offset:0xA4, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0xA8, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextNo' ; // Offset:0xAC, Var, CRC32:0xBBE9C5, Flags:0x0 + bool 'mbNoWarp' ; // Offset:0xB0, Var, CRC32:0xB1E9BFF4, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xF0, Var, CRC32:0xE1F7E2C4, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xF2, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xF4, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xF8, Var, CRC32:0x5EB4FE79, Flags:0x0 + u32 'mSpotId'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B70, Setter:0x9E5F60, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xA0E3E1E6, Flags:0xA00000 + u32 'mStageNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B80, Setter:0x9E5F80, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xACF5AFCF, Flags:0xA00000 + u32 'mStartPosNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B90, Setter:0x9E5F90, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xB947F49B, Flags:0xA00000 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + u32 'mQuestNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B50, Setter:0x9E5F40, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xC729C20C, Flags:0xA00000 + u32 'mFlagNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B40, Setter:0x9E4EE0, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0x70C42D18, Flags:0xA00000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmRimWarp::omLOT vftable:0x1B3AA98, Size:0x40, CRC32:0x103ABDF6 +class cSetInfoOmRimWarp::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmRisingMagma vftable:0x1B36138, Size:0xE0, CRC32:0x397649A6 +class cSetInfoOmRisingMagma /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mVal.mF3Height'[6] ; // Offset:0xA0, Array, CRC32:0x9CD7D5D1, Flags:0x200000 + f32 'mVal.mF3Sec'[5] ; // Offset:0xB8, Array, CRC32:0xCB60D83A, Flags:0x200000 + u16 'mVal.mKind' ; // Offset:0xCC, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xCE, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xD0, Var, CRC32:0x5EB4FE79, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmRisingMagma2 vftable:0x1B361F0, Size:0xD0, CRC32:0x77DB2114 +class cSetInfoOmRisingMagma2 /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mVal.mF2Height'[4] ; // Offset:0xA0, Array, CRC32:0x3AA0DE65, Flags:0x200000 + f32 'mVal.mF2Speed'[4] ; // Offset:0xB0, Array, CRC32:0x57E27DE6, Flags:0x200000 + u16 'mVal.mKind' ; // Offset:0xC0, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xC2, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xC4, Var, CRC32:0x5EB4FE79, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmRisingMagma2::omLOT vftable:0x1B361DC, Size:0x60, CRC32:0x234EAD0E +class cSetInfoOmRisingMagma2::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmRisingMagma::omLOT vftable:0x1B36124, Size:0x70, CRC32:0x37F0A99 +class cSetInfoOmRisingMagma::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmText vftable:0x1C0AB00, Size:0x74, CRC32:0x2C9772D0 +class cSetInfoOmText /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mTextNo' ; // Offset:0x68, Var, CRC32:0xBBE9C5, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0x6C, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextType' ; // Offset:0x70, Var, CRC32:0x5AB3FD74, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmTimer vftable:0x1C0A6C8, Size:0x6C, CRC32:0x3B16A885 +class cSetInfoOmTimer /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + f32 'mTimer' ; // Offset:0x68, Var, CRC32:0x976444DB, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmTreasureBox vftable:0x1C0A9E0, Size:0x74, CRC32:0xE6D7163 +class cSetInfoOmTreasureBox /*: cSetInfoOmGather, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mItemListID' ; // Offset:0x68, Var, CRC32:0x2472C975, Flags:0x0 + u32 'mGatheringType' ; // Offset:0x6C, Var, CRC32:0x184A1267, Flags:0x0 + bool 'mIsGatherEnemy' ; // Offset:0x70, Var, CRC32:0x70A0B6C0, Flags:0x0 + s16 'mEnemyGroupNo' ; // Offset:0x72, Var, CRC32:0x5D087CE2, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmTreasureBoxG vftable:0x1BFD7D0, Size:0xC0, CRC32:0x3C0D89A0 +class cSetInfoOmTreasureBoxG /*: cSetInfoOmGather, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mItemListID' ; // Offset:0x68, Var, CRC32:0x2472C975, Flags:0x0 + u32 'mGatheringType' ; // Offset:0x6C, Var, CRC32:0x184A1267, Flags:0x0 + bool 'mIsGatherEnemy' ; // Offset:0x70, Var, CRC32:0x70A0B6C0, Flags:0x0 + s16 'mEnemyGroupNo' ; // Offset:0x72, Var, CRC32:0x5D087CE2, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xB0, Var, CRC32:0xE1F7E2C4, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xB2, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xB4, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xB8, Var, CRC32:0x5EB4FE79, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmTreasureBoxG::omLOT vftable:0x1BFD7BC, Size:0x40, CRC32:0x25C2B6C0 +class cSetInfoOmTreasureBoxG::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmVolcano vftable:0x1B36080, Size:0xF0, CRC32:0x7F27DF53 +class cSetInfoOmVolcano /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + s32 'mVal.mShotGrp' ; // Offset:0xA0, Var, CRC32:0x32E5AB, Flags:0x0 + u32 'mVal.mShotInterval' ; // Offset:0xA4, Var, CRC32:0x17A67BB0, Flags:0x0 + s32 'mVal.mWeatherID' ; // Offset:0xA8, Var, CRC32:0xD6943E3F, Flags:0x0 + u32 'mVal.mStartHour' ; // Offset:0xAC, Var, CRC32:0xB2CF6CBE, Flags:0x0 + u32 'mVal.mEndHour' ; // Offset:0xB0, Var, CRC32:0x885939F9, Flags:0x0 + bool 'mVal.mbBoundary' ; // Offset:0xB4, Var, CRC32:0x97A454D0, Flags:0x0 + vector3 'mVal.mBoundaryPos' ; // Offset:0xC0, Var, CRC32:0xD137AB5C, Flags:0x0 + f32 'mVal.mBoundaryRadius' ; // Offset:0xD0, Var, CRC32:0x739C3AFE, Flags:0x0 + bool 'mVal.mbBlock' ; // Offset:0xD4, Var, CRC32:0xE1F7E2C4, Flags:0x0 + u16 'mVal.mKind' ; // Offset:0xD6, Var, CRC32:0x8FC5BD40, Flags:0x0 + u16 'mVal.mGrp' ; // Offset:0xD8, Var, CRC32:0xFA00B025, Flags:0x0 + s32 'mVal.mID' ; // Offset:0xDC, Var, CRC32:0x5EB4FE79, Flags:0x0 + bool 'mVal.mbBlockQuest' ; // Offset:0xE0, Var, CRC32:0xD3F9405E, Flags:0x0 + u32 'mVal.mBlockQuestID' ; // Offset:0xE4, Var, CRC32:0x5975077, Flags:0x0 + u32 'mVal.mBlockQuestFlag' ; // Offset:0xE8, Var, CRC32:0xCA181241, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmVolcano::omLOT vftable:0x1B3606C, Size:0x80, CRC32:0x450A0B23 +class cSetInfoOmVolcano::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmWall vftable:0x1C0ABD8, Size:0xC0, CRC32:0x4E93AE1 +class cSetInfoOmWall /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mWallType' ; // Offset:0x68, Var, CRC32:0xE8A4424A, Flags:0x0 + obb 'mNavOBB' ; // Offset:0x70, Var, CRC32:0x76FD00C3, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmWarp vftable:0x1C0A908, Size:0xB4, CRC32:0x44A95971 +class cSetInfoOmWarp /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mTextType' ; // Offset:0xA4, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0xA8, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextNo' ; // Offset:0xAC, Var, CRC32:0xBBE9C5, Flags:0x0 + bool 'mbNoWarp' ; // Offset:0xB0, Var, CRC32:0xB1E9BFF4, Flags:0x0 + u32 'mQuestNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B50, Setter:0x9E5F40, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xC729C20C, Flags:0xA00000 + u32 'mFlagNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B40, Setter:0x9E4EE0, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0x70C42D18, Flags:0xA00000 + u32 'mSpotId'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B70, Setter:0x9E5F60, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xA0E3E1E6, Flags:0xA00000 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + u32 'mStageNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B80, Setter:0x9E5F80, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xACF5AFCF, Flags:0xA00000 + u32 'mStartPosNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B90, Setter:0x9E5F90, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xB947F49B, Flags:0xA00000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmWarpFX vftable:0x1B36DC0, Size:0x100, CRC32:0x6700540B +class cSetInfoOmWarpFX /*: cSetInfoOmWarp, cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mTextType' ; // Offset:0xA4, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mTextQuestNo' ; // Offset:0xA8, Var, CRC32:0xB8059CB3, Flags:0x0 + u32 'mTextNo' ; // Offset:0xAC, Var, CRC32:0xBBE9C5, Flags:0x0 + bool 'mbNoWarp' ; // Offset:0xB0, Var, CRC32:0xB1E9BFF4, Flags:0x0 + u32 'mVal.mMemberCount' ; // Offset:0xF0, Var, CRC32:0x66A5F868, Flags:0x0 + u32 'mQuestNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B50, Setter:0x9E5F40, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xC729C20C, Flags:0xA00000 + u32 'mFlagNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B40, Setter:0x9E4EE0, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0x70C42D18, Flags:0xA00000 + u32 'mSpotId'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B70, Setter:0x9E5F60, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xA0E3E1E6, Flags:0xA00000 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + u32 'mStageNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B80, Setter:0x9E5F80, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xACF5AFCF, Flags:0xA00000 + u32 'mStartPosNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x9E1B90, Setter:0x9E5F90, GetCount:0x9E1B30, Reallocate:0x9E4ED0 CRC32:0xB947F49B, Flags:0xA00000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmWarpFX::omLOT vftable:0x1B36DA8, Size:0x40, CRC32:0x470BC48C +class cSetInfoOmWarpFX::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetInfoOmXXX vftable:0x1B3D648, Size:0xB0, CRC32:0x1670CAD8 +class cSetInfoOmXXX /*: cSetInfoOm, cSetInfoCoord, cSetInfo, MtObject*/ { + s32 'mAreaHitNo' ; // Offset:0x30, Var, CRC32:0xCB745392, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + bool 'mDisableEffect' ; // Offset:0x3C, Var, CRC32:0xA818C5A1, Flags:0x0 + bool 'mDisableOnlyEffect' ; // Offset:0x3D, Var, CRC32:0x27DD4F77, Flags:0x0 + bool 'mOpenFlag' ; // Offset:0x3E, Var, CRC32:0x86B641B5, Flags:0x0 + bool 'mEnableSyncLight' ; // Offset:0x3F, Var, CRC32:0x26A96706, Flags:0x0 + bool 'mEnableZone' ; // Offset:0x40, Var, CRC32:0xEC1B792E, Flags:0x0 + u32 'mInitMtnNo' ; // Offset:0x44, Var, CRC32:0xB4210A26, Flags:0x0 + u32 'mAreaMasterNo' ; // Offset:0x48, Var, CRC32:0x3ECD4563, Flags:0x0 + u16 'mAreaReleaseNo' ; // Offset:0x4C, Var, CRC32:0x521C426A, Flags:0x0 + bool 'mAreaReleaseON' ; // Offset:0x4E, Var, CRC32:0x76E6375, Flags:0x0 + bool 'mAreaReleaseOFF' ; // Offset:0x4F, Var, CRC32:0x770E857D, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x50, Var, CRC32:0x8242D9E9, Flags:0x0 + u32 'mKeyNo' ; // Offset:0x54, Var, CRC32:0x315B612C, Flags:0x0 + bool 'mIsBreakLink' ; // Offset:0x58, Var, CRC32:0xDFA3E0D9, Flags:0x0 + bool 'mIsBreakQuest' ; // Offset:0x59, Var, CRC32:0xA449B019, Flags:0x0 + u16 'mBreakKind' ; // Offset:0x5A, Var, CRC32:0x680B903F, Flags:0x0 + u16 'mBreakGroup' ; // Offset:0x5C, Var, CRC32:0xF6F82329, Flags:0x0 + u16 'mBreakID' ; // Offset:0x5E, Var, CRC32:0x828D6039, Flags:0x0 + u32 'mQuestFlag' ; // Offset:0x60, Var, CRC32:0xB11D1312, Flags:0x0 + bool 'mIsNoSbc' ; // Offset:0x64, Var, CRC32:0xE41A726A, Flags:0x0 + bool 'mIsMyQuest' ; // Offset:0x65, Var, CRC32:0x258753D8, Flags:0x0 + u32 'mVal.mPLActNo' ; // Offset:0xA0, Var, CRC32:0xC60E6996, Flags:0x0 + matrix44 'Matrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8890, Setter:0x9D8D50, CRC32:0x60BB06, Flags:0x820000 + vector3 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A40, Setter:0x9D8DC0, CRC32:0x11F2BF45, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8860, Setter:0x9D8D30, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A20, Setter:0x9D8DA0, CRC32:0x6EA2D468, Flags:0x800000 + s32 'mUnitID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A60, Setter:0x9D8DE0, CRC32:0xB76F540C, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9D8A70, Setter:0x9D8DF0, CRC32:0x872AB53A, Flags:0x800000 +}; + +// cSetInfoOmXXX::omLOT vftable:0x1B3D634, Size:0x40, CRC32:0x3D443B6A +class cSetInfoOmXXX::omLOT /*: cOmControl::InputLotBaseEx, cOmControl::InputLotBase, MtObject*/ { +}; + +// cSetMgrFlag vftable:0x1B42C18, Size:0x10, CRC32:0x523EDBAC +class cSetMgrFlag /*: MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 +}; + +// cSetMgrFlagDarkOrdeal vftable:0x1B42CF4, Size:0x14, CRC32:0xD06CF4B +class cSetMgrFlagDarkOrdeal /*: cSetMgrFlag, MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 +}; + +// cSetMgrFlagDarkTreasure vftable:0x1B42D20, Size:0x18, CRC32:0x4E6D15B9 +class cSetMgrFlagDarkTreasure /*: cSetMgrFlag, MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 + u32 'Xe[Wԍ' ; // Offset:0x10, Var, CRC32:0xD4C8A8A0, Flags:0x10000 + u32 'O[vԍ' ; // Offset:0x14, Var, CRC32:0x5D502525, Flags:0x10000 +}; + +// cSetMgrFlagEnemyLinked vftable:0x1B42CC8, Size:0x14, CRC32:0x1310127E +class cSetMgrFlagEnemyLinked /*: cSetMgrFlag, MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 +}; + +// cSetMgrFlagSeasonDungeon vftable:0x1B42C70, Size:0x14, CRC32:0x267D4BDF +class cSetMgrFlagSeasonDungeon /*: cSetMgrFlag, MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 +}; + +// cSetMgrFlagSoulOrdeal vftable:0x1B42C9C, Size:0x14, CRC32:0x4FD4B9DF +class cSetMgrFlagSoulOrdeal /*: cSetMgrFlag, MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 +}; + +// cSetMgrFlagTimeChange vftable:0x1B42C44, Size:0x14, CRC32:0x2D4BFBC8 +class cSetMgrFlagTimeChange /*: cSetMgrFlag, MtObject*/ { + event 'VCAEgtOԍ𔽉f' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x43B46369, Flags:0xA0000 + u32 'ZbgǗCAEgtO' ; // Offset:0x4, Var, CRC32:0xAB792DE1, Flags:0x10000 +}; + +// cSetQuestManager vftable:0x1C0BAD0, Size:0x24, CRC32:0x38BE7005 +class cSetQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cSetQuestManager::cMemberInfo vftable:0x1C0BB20, Size:0xC, CRC32:0x1814C594 +class cSetQuestManager::cMemberInfo /*: MtObject*/ { +}; + +// cShakeCtrl vftable:0x1C6D80C, Size:0x28, CRC32:0x7300AFEA +class cShakeCtrl /*: MtObject*/ { +}; + +// cShlBakuensenLogNode vftable:0x1D77590, Size:0x40, CRC32:0x473988B +class cShlBakuensenLogNode /*: cShlLogNode, MtObject*/ { +}; + +// cShlBreathSCRCheckPosInfo vftable:0x1D7AF00, Size:0x40, CRC32:0xBD1929B +class cShlBreathSCRCheckPosInfo /*: MtObject*/ { +}; + +// cShlConditionInfo vftable:0x1B3E8C4, Size:0x1C, CRC32:0xFE56A63 +class cShlConditionInfo /*: MtObject*/ { +}; + +// cShlConnectLineGame vftable:0x1D83530, Size:0x30, CRC32:0x3BDBC01E +class cShlConnectLineGame /*: cShlConnectLineInfo, MtObject*/ { + s32 'mStartNo' ; // Offset:0x4, Var, CRC32:0xD6D6C125, Flags:0x0 + s32 'mEndNo' ; // Offset:0x8, Var, CRC32:0x4D94686F, Flags:0x0 + f32 'mStartTime' ; // Offset:0xC, Var, CRC32:0xD232BF63, Flags:0x0 +}; + +// cShlConnectLineInfo vftable:0x1D834F4, Size:0x10, CRC32:0x5379C0C5 +class cShlConnectLineInfo /*: MtObject*/ { + s32 'mStartNo' ; // Offset:0x4, Var, CRC32:0xD6D6C125, Flags:0x0 + s32 'mEndNo' ; // Offset:0x8, Var, CRC32:0x4D94686F, Flags:0x0 + f32 'mStartTime' ; // Offset:0xC, Var, CRC32:0xD232BF63, Flags:0x0 +}; + +// cShlFuwaFuwaCtrl2 vftable:0x1B92C2C, Size:0xC0, CRC32:0x1A6772F6 +class cShlFuwaFuwaCtrl2 /*: MtObject*/ { +}; + +// cShlFuwaFuwaInfo2 vftable:0x1B92C10, Size:0x1C, CRC32:0x5F7185C3 +class cShlFuwaFuwaInfo2 /*: MtObject*/ { + f32 '' ; // Offset:0x4, Var, CRC32:0xF3E7009C, Flags:0x0 + f32 'XP[' ; // Offset:0x8, Var, CRC32:0xA8AC2DED, Flags:0x0 + f32 '_' ; // Offset:0xC, Var, CRC32:0x317F0EC8, Flags:0x0 + f32 'L' ; // Offset:0x10, Var, CRC32:0x97DC7FB2, Flags:0x0 + f32 'ԃt[' ; // Offset:0x14, Var, CRC32:0x56784A44, Flags:0x0 + u32 'ӂӂIvV' ; // Offset:0x18, Var, CRC32:0xCD9CB563, Flags:0x0 +}; + +// cShlGravityHitInfo vftable:0x1D89BC0, Size:0x10, CRC32:0x37110545 +class cShlGravityHitInfo /*: MtObject*/ { +}; + +// cShlGroupParam vftable:0x1C749B0, Size:0x3C, CRC32:0x23BB7A3C +class cShlGroupParam /*: MtObject*/ { + class 'mShlList' ; // Offset:0x4, Var, CRC32:0xBED5F997, Flags:0x0 + string 'name' ; // Offset:0x18, Var, CRC32:0xA1DC81F9, Flags:0x20000000 + string 'epvPath'[2] ; // Offset:0x1C, Array, CRC32:0x4C8FA040, Flags:0x200000 + string 'sePath'[2] ; // Offset:0x24, Array, CRC32:0x187B2223, Flags:0x200000 + string 'colPath' ; // Offset:0x2C, Var, CRC32:0xF78FAA17, Flags:0x0 + u32 'ddoVersion' ; // Offset:0x30, Var, CRC32:0x21F0641D, Flags:0x20000000 + u32 'mCustomSkillId' ; // Offset:0x34, Var, CRC32:0x46EEAAB9, Flags:0x0 + bool 'isNoArc' ; // Offset:0x38, Var, CRC32:0xCD679BC4, Flags:0x0 + u32 'Num' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAED3F0, Setter:0x0, CRC32:0x1BF11671, Flags:0x830000 +}; + +// cShlHomingEmCtrlParam vftable:0x1D78170, Size:0x2C, CRC32:0x160644EA +class cShlHomingEmCtrlParam /*: MtObject*/ { + f32 'mMinFrame' ; // Offset:0x4, Var, CRC32:0x9889D956, Flags:0x0 + u32 'mHomingType' ; // Offset:0x8, Var, CRC32:0x400BC22D, Flags:0x0 + u32 'mHomingPosType' ; // Offset:0xC, Var, CRC32:0x39BB26C8, Flags:0x0 + f32 'mHomingSpeed1' ; // Offset:0x10, Var, CRC32:0x72DDE285, Flags:0x0 + f32 'mHomingSpeed2' ; // Offset:0x14, Var, CRC32:0xEBD4B33F, Flags:0x0 + f32 'mHomingFreeParam1' ; // Offset:0x18, Var, CRC32:0xBB5BDD0F, Flags:0x0 + f32 'mHomingFreeParam2' ; // Offset:0x1C, Var, CRC32:0x22528CB5, Flags:0x0 + u32 'mEndType' ; // Offset:0x20, Var, CRC32:0x94E4578E, Flags:0x0 + f32 'mEndFreeParam1' ; // Offset:0x24, Var, CRC32:0x39A9DAAD, Flags:0x0 + f32 'mEndFreeParam2' ; // Offset:0x28, Var, CRC32:0xA0A08B17, Flags:0x0 +}; + +// cShlLimit vftable:0x1C6D908, Size:0x10, CRC32:0x18AB5FCF +class cShlLimit /*: MtObject*/ { +}; + +// cShlLogNode vftable:0x1D929F0, Size:0x40, CRC32:0x3A808491 +class cShlLogNode /*: MtObject*/ { +}; + +// cShlNotifyInfo vftable:0x1C0C030, Size:0x30, CRC32:0x4B25A9CA +class cShlNotifyInfo /*: MtObject*/ { +}; + +// cShlParam020702BladeShot vftable:0x1CDD074, Size:0x270, CRC32:0x77FFEF2F +class cShlParam020702BladeShot /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + bool 'mIsShotCenter' ; // Offset:0x260, Var, CRC32:0x21B4ADA7, Flags:0x0 +}; + +// cShlParam021004MainMagic01 vftable:0x1D70BB4, Size:0x1A0, CRC32:0x58963F79 +class cShlParam021004MainMagic01 /*: cShlParamGenerator, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 + vector3 'mOffset' ; // Offset:0x180, Var, CRC32:0x679663E1, Flags:0x0 + f32 'mSpeed' ; // Offset:0x190, Var, CRC32:0xF2926437, Flags:0x0 +}; + +// cShlParam021004MainMagic02 vftable:0x1D70F04, Size:0x280, CRC32:0x419F6EC3 +class cShlParam021004MainMagic02 /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + f32 'mLandShlInvalidRad' ; // Offset:0x260, Var, CRC32:0x9EBE2882, Flags:0x0 + s32 'mLandShlNo' ; // Offset:0x264, Var, CRC32:0x277C747A, Flags:0x0 + f32 'mLandShlLimitLength' ; // Offset:0x268, Var, CRC32:0xE438830A, Flags:0x0 + f32 'mAngHoming' ; // Offset:0x26C, Var, CRC32:0x247ECAD1, Flags:0x0 + f32 'mAngHomingLimit' ; // Offset:0x270, Var, CRC32:0x7A97CC0E, Flags:0x0 + f32 'mAngHomingStartFrame' ; // Offset:0x274, Var, CRC32:0xA560963A, Flags:0x0 + f32 'mAngHomingEndFrame' ; // Offset:0x278, Var, CRC32:0x3C39019B, Flags:0x0 +}; + +// cShlParam021004SubEnchant vftable:0x1D71BC8, Size:0x160, CRC32:0x2A18EE5D +class cShlParam021004SubEnchant /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParam021004SubMagic03 vftable:0x1D71234, Size:0x1B0, CRC32:0x6A99A3CD +class cShlParam021004SubMagic03 /*: cShlParamLineConnectCtrl, cShlParamGeneOwnerJoint, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'shlList' ; // Offset:0x160, Var, CRC32:0xC2C87576, Flags:0x0 + class 'mArrayConnectInfo' ; // Offset:0x180, Var, CRC32:0x37C5E83E, Flags:0x0 + s32 'mConnectEfNo' ; // Offset:0x194, Var, CRC32:0x48AC5BC, Flags:0x0 + s32 'mConnectColNo' ; // Offset:0x198, Var, CRC32:0x5AC034EC, Flags:0x0 + s32 'mConnectColShareID' ; // Offset:0x19C, Var, CRC32:0x23E8E5E4, Flags:0x0 + bool 'mFlgGeneShlPosBase' ; // Offset:0x1A0, Var, CRC32:0xF1F9AB34, Flags:0x0 +}; + +// cShlParam021004SubMagic04 vftable:0x1D71894, Size:0x180, CRC32:0x74FD366E +class cShlParam021004SubMagic04 /*: cShlParamGenerator, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 +}; + +// cShlParam021004ThunderBall vftable:0x1D71560, Size:0x160, CRC32:0x251BBA73 +class cShlParam021004ThunderBall /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamAlchemColBase vftable:0x1D76924, Size:0x170, CRC32:0x23A90E98 +class cShlParamAlchemColBase /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mFlgUseAreaEffect' ; // Offset:0x160, Var, CRC32:0xB8641A96, Flags:0x0 + u32 'mAreaEffectTime' ; // Offset:0x164, Var, CRC32:0x45996B77, Flags:0x0 + u32 'mAlchemyShlOption' ; // Offset:0x168, Var, CRC32:0xBD18F88F, Flags:0x0 + s32 'mAttackShlNo' ; // Offset:0x16C, Var, CRC32:0xC0CB6A57, Flags:0x0 +}; + +// cShlParamAlchemColEnchant vftable:0x1D76CCC, Size:0x1E0, CRC32:0x1F14E36 +class cShlParamAlchemColEnchant /*: cShlParamEnchant, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mElementType' ; // Offset:0x160, Var, CRC32:0xE98318C8, Flags:0x0 + f32 'mEnchantTime' ; // Offset:0x164, Var, CRC32:0xC1895464, Flags:0x0 + f32 'mEnchantRate' ; // Offset:0x168, Var, CRC32:0x71F1F318, Flags:0x0 + f32 'mAilmentDamage' ; // Offset:0x16C, Var, CRC32:0xD2409E61, Flags:0x0 + f32 'mEnchantIntervalTime' ; // Offset:0x170, Var, CRC32:0x1E836905, Flags:0x0 + s32 'mCustomSkillNo' ; // Offset:0x174, Var, CRC32:0x9E7DE5F6, Flags:0x0 + f32 'mEnchantExtendTime'[10] ; // Offset:0x178, Array, CRC32:0xFE47E0A5, Flags:0x200000 + f32 'mEnchantExtendRate'[10] ; // Offset:0x1A0, Array, CRC32:0x4E3F47D9, Flags:0x200000 + f32 'mKillDistance' ; // Offset:0x1C8, Var, CRC32:0x227609EE, Flags:0x0 + bool 'mFlgUseAreaEffect' ; // Offset:0x1D0, Var, CRC32:0xB8641A96, Flags:0x0 + u32 'mAreaEffectTime' ; // Offset:0x1D4, Var, CRC32:0x45996B77, Flags:0x0 + u32 'mAlchemyShlOption' ; // Offset:0x1D8, Var, CRC32:0xBD18F88F, Flags:0x0 + s32 'mAttackShlNo' ; // Offset:0x1DC, Var, CRC32:0xC0CB6A57, Flags:0x0 +}; + +// cShlParamAlchemColTrapAttack vftable:0x1D77034, Size:0x170, CRC32:0x60731C73 +class cShlParamAlchemColTrapAttack /*: cShlParamAlchemyTrapAttack, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mFlgUseAreaEffect' ; // Offset:0x160, Var, CRC32:0xB8641A96, Flags:0x0 + u32 'mAreaEffectTime' ; // Offset:0x164, Var, CRC32:0x45996B77, Flags:0x0 + u32 'mAlchemyShlOption' ; // Offset:0x168, Var, CRC32:0xBD18F88F, Flags:0x0 + s32 'mAttackShlNo' ; // Offset:0x16C, Var, CRC32:0xC0CB6A57, Flags:0x0 +}; + +// cShlParamAlchemy vftable:0x1D728A4, Size:0x1B0, CRC32:0x625321D6 +class cShlParamAlchemy /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + f32 'mReduceAlchemyValueTime' ; // Offset:0x170, Var, CRC32:0xA81264B8, Flags:0x0 + f32 'mSubAlchemyValueOnce' ; // Offset:0x174, Var, CRC32:0xB5406E02, Flags:0x0 + f32 'mSubAlchemyValueTime' ; // Offset:0x178, Var, CRC32:0xA9948597, Flags:0x0 + f32 'mAlchemyEvaRate' ; // Offset:0x17C, Var, CRC32:0x7345F1C8, Flags:0x0 + f32 'mAlchemyEvaMin' ; // Offset:0x180, Var, CRC32:0xBB26DCDD, Flags:0x0 + u32 'mAlchemyType' ; // Offset:0x184, Var, CRC32:0x1CA4AABB, Flags:0x0 + f32 'mChipScale'[4] ; // Offset:0x188, Array, CRC32:0x22D465EF, Flags:0x200000 + s32 'mMaxValueRequestSe' ; // Offset:0x198, Var, CRC32:0x67E446F, Flags:0x0 + s32 'mMaxValueLoopSe' ; // Offset:0x19C, Var, CRC32:0x4039706D, Flags:0x0 + s32 'mMaxValueLoopStopSe' ; // Offset:0x1A0, Var, CRC32:0x239F21D3, Flags:0x0 + s32 'mMaxPartsDownSe' ; // Offset:0x1A4, Var, CRC32:0x6B6CF9C0, Flags:0x0 + s32 'mCheckedCollsiionIndexForCS13' ; // Offset:0x1A8, Var, CRC32:0xADA82C05, Flags:0x0 +}; + +// cShlParamAlchemyCS03 vftable:0x1D72C0C, Size:0x1D0, CRC32:0x62EF778E +class cShlParamAlchemyCS03 /*: cShlParamAlchemy, cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + f32 'mReduceAlchemyValueTime' ; // Offset:0x170, Var, CRC32:0xA81264B8, Flags:0x0 + f32 'mSubAlchemyValueOnce' ; // Offset:0x174, Var, CRC32:0xB5406E02, Flags:0x0 + f32 'mSubAlchemyValueTime' ; // Offset:0x178, Var, CRC32:0xA9948597, Flags:0x0 + f32 'mAlchemyEvaRate' ; // Offset:0x17C, Var, CRC32:0x7345F1C8, Flags:0x0 + f32 'mAlchemyEvaMin' ; // Offset:0x180, Var, CRC32:0xBB26DCDD, Flags:0x0 + u32 'mAlchemyType' ; // Offset:0x184, Var, CRC32:0x1CA4AABB, Flags:0x0 + f32 'mChipScale'[4] ; // Offset:0x188, Array, CRC32:0x22D465EF, Flags:0x200000 + s32 'mMaxValueRequestSe' ; // Offset:0x198, Var, CRC32:0x67E446F, Flags:0x0 + s32 'mMaxValueLoopSe' ; // Offset:0x19C, Var, CRC32:0x4039706D, Flags:0x0 + s32 'mMaxValueLoopStopSe' ; // Offset:0x1A0, Var, CRC32:0x239F21D3, Flags:0x0 + s32 'mMaxPartsDownSe' ; // Offset:0x1A4, Var, CRC32:0x6B6CF9C0, Flags:0x0 + s32 'mCheckedCollsiionIndexForCS13' ; // Offset:0x1A8, Var, CRC32:0xADA82C05, Flags:0x0 + class 'mArrDamageAlchemyInfo' ; // Offset:0x1B0, Var, CRC32:0x598A4762, Flags:0x0 + f32 'mDamageAlchemyMaxTimer' ; // Offset:0x1C4, Var, CRC32:0xB2968AD, Flags:0x0 + f32 'mSlaveDispOffTimer' ; // Offset:0x1C8, Var, CRC32:0xAFBA5B58, Flags:0x0 +}; + +// cShlParamAlchemyCS03::cDamageAlchemyValueInfo vftable:0x1D72BDC, Size:0x10, CRC32:0x18849460 +class cShlParamAlchemyCS03::cDamageAlchemyValueInfo /*: MtObject*/ { + f32 'mMinRate' ; // Offset:0x4, Var, CRC32:0xA38C59E0, Flags:0x0 + f32 'mMaxRate' ; // Offset:0x8, Var, CRC32:0xA07FB9AF, Flags:0x0 + f32 'mAlchemyValue' ; // Offset:0xC, Var, CRC32:0xD1E43F2C, Flags:0x0 +}; + +// cShlParamAlchemyCS03Ex01 vftable:0x1D72F6C, Size:0x1E0, CRC32:0x5ED2F7A4 +class cShlParamAlchemyCS03Ex01 /*: cShlParamAlchemyCS03, cShlParamAlchemy, cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + f32 'mReduceAlchemyValueTime' ; // Offset:0x170, Var, CRC32:0xA81264B8, Flags:0x0 + f32 'mSubAlchemyValueOnce' ; // Offset:0x174, Var, CRC32:0xB5406E02, Flags:0x0 + f32 'mSubAlchemyValueTime' ; // Offset:0x178, Var, CRC32:0xA9948597, Flags:0x0 + f32 'mAlchemyEvaRate' ; // Offset:0x17C, Var, CRC32:0x7345F1C8, Flags:0x0 + f32 'mAlchemyEvaMin' ; // Offset:0x180, Var, CRC32:0xBB26DCDD, Flags:0x0 + u32 'mAlchemyType' ; // Offset:0x184, Var, CRC32:0x1CA4AABB, Flags:0x0 + f32 'mChipScale'[4] ; // Offset:0x188, Array, CRC32:0x22D465EF, Flags:0x200000 + s32 'mMaxValueRequestSe' ; // Offset:0x198, Var, CRC32:0x67E446F, Flags:0x0 + s32 'mMaxValueLoopSe' ; // Offset:0x19C, Var, CRC32:0x4039706D, Flags:0x0 + s32 'mMaxValueLoopStopSe' ; // Offset:0x1A0, Var, CRC32:0x239F21D3, Flags:0x0 + s32 'mMaxPartsDownSe' ; // Offset:0x1A4, Var, CRC32:0x6B6CF9C0, Flags:0x0 + s32 'mCheckedCollsiionIndexForCS13' ; // Offset:0x1A8, Var, CRC32:0xADA82C05, Flags:0x0 + class 'mArrDamageAlchemyInfo' ; // Offset:0x1B0, Var, CRC32:0x598A4762, Flags:0x0 + f32 'mDamageAlchemyMaxTimer' ; // Offset:0x1C4, Var, CRC32:0xB2968AD, Flags:0x0 + f32 'mSlaveDispOffTimer' ; // Offset:0x1C8, Var, CRC32:0xAFBA5B58, Flags:0x0 + s32 'mAttackParamIdx' ; // Offset:0x1D0, Var, CRC32:0x11001087, Flags:0x0 +}; + +// cShlParamAlchemyObj vftable:0x1D73940, Size:0x1B0, CRC32:0x76931753 +class cShlParamAlchemyObj /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mDamageActive' ; // Offset:0x160, Var, CRC32:0x8ABA4E7A, Flags:0x0 + u32 'mHp' ; // Offset:0x164, Var, CRC32:0x2814CAAF, Flags:0x0 + s32 'mPushCollisionNo' ; // Offset:0x168, Var, CRC32:0x2D6ED3DD, Flags:0x0 + u32 'mPushGroup' ; // Offset:0x16C, Var, CRC32:0xFD8A1D96, Flags:0x0 + s32 'mActiveEffect' ; // Offset:0x170, Var, CRC32:0x6779D4D4, Flags:0x0 + s32 'mActiveSe' ; // Offset:0x174, Var, CRC32:0x43242E89, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x178, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x17C, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x180, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x184, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'mIsWaitForKill' ; // Offset:0x188, Var, CRC32:0x10E1D659, Flags:0x0 + f32 'mWaitForKillFrame' ; // Offset:0x18C, Var, CRC32:0x3D7E3C5A, Flags:0x0 + f32 'mKillDistance' ; // Offset:0x190, Var, CRC32:0x227609EE, Flags:0x0 + bool 'mFlgUseAreaEffect' ; // Offset:0x194, Var, CRC32:0xB8641A96, Flags:0x0 + u32 'mAreaEffectTime' ; // Offset:0x198, Var, CRC32:0x45996B77, Flags:0x0 + s32 'mDamageCameraShake' ; // Offset:0x19C, Var, CRC32:0xD662DEA0, Flags:0x0 + s32 'mDamageCameraShake2' ; // Offset:0x1A0, Var, CRC32:0x1ED790B6, Flags:0x0 + f32 'mLimitHeight' ; // Offset:0x1A4, Var, CRC32:0xFAFB9825, Flags:0x0 + f32 'mLimitHeightSpeed' ; // Offset:0x1A8, Var, CRC32:0x2ED2DAD6, Flags:0x0 +}; + +// cShlParamAlchemyTrap vftable:0x1D74298, Size:0x200, CRC32:0x5ADB4840 +class cShlParamAlchemyTrap /*: cShlParamAlchemyObj, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mDamageActive' ; // Offset:0x160, Var, CRC32:0x8ABA4E7A, Flags:0x0 + u32 'mHp' ; // Offset:0x164, Var, CRC32:0x2814CAAF, Flags:0x0 + s32 'mPushCollisionNo' ; // Offset:0x168, Var, CRC32:0x2D6ED3DD, Flags:0x0 + u32 'mPushGroup' ; // Offset:0x16C, Var, CRC32:0xFD8A1D96, Flags:0x0 + s32 'mActiveEffect' ; // Offset:0x170, Var, CRC32:0x6779D4D4, Flags:0x0 + s32 'mActiveSe' ; // Offset:0x174, Var, CRC32:0x43242E89, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x178, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x17C, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x180, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x184, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'mIsWaitForKill' ; // Offset:0x188, Var, CRC32:0x10E1D659, Flags:0x0 + f32 'mWaitForKillFrame' ; // Offset:0x18C, Var, CRC32:0x3D7E3C5A, Flags:0x0 + f32 'mKillDistance' ; // Offset:0x190, Var, CRC32:0x227609EE, Flags:0x0 + bool 'mFlgUseAreaEffect' ; // Offset:0x194, Var, CRC32:0xB8641A96, Flags:0x0 + u32 'mAreaEffectTime' ; // Offset:0x198, Var, CRC32:0x45996B77, Flags:0x0 + s32 'mDamageCameraShake' ; // Offset:0x19C, Var, CRC32:0xD662DEA0, Flags:0x0 + s32 'mDamageCameraShake2' ; // Offset:0x1A0, Var, CRC32:0x1ED790B6, Flags:0x0 + f32 'mLimitHeight' ; // Offset:0x1A4, Var, CRC32:0xFAFB9825, Flags:0x0 + f32 'mLimitHeightSpeed' ; // Offset:0x1A8, Var, CRC32:0x2ED2DAD6, Flags:0x0 + f32 'mCheckShlIntervalTime' ; // Offset:0x1B0, Var, CRC32:0x2FF9C5E3, Flags:0x0 + s32 'mCustomSkillNo' ; // Offset:0x1B4, Var, CRC32:0x9E7DE5F6, Flags:0x0 + u32 'mCheckCount'[10] ; // Offset:0x1B8, Array, CRC32:0x5F529176, Flags:0x200000 + bool 'mTurnTarget' ; // Offset:0x1E0, Var, CRC32:0xC00E1FB8, Flags:0x0 + class 'mCreateShlInfoArray' ; // Offset:0x1E4, Var, CRC32:0xAB43BAF8, Flags:0x0 +}; + +// cShlParamAlchemyTrap::cTrapAttackShlInfo vftable:0x1D74270, Size:0x14, CRC32:0x53F7601C +class cShlParamAlchemyTrap::cTrapAttackShlInfo /*: MtObject*/ { + f32 'mCheckDisMin' ; // Offset:0x4, Var, CRC32:0x617AC4A6, Flags:0x0 + f32 'mCheckDisMax' ; // Offset:0x8, Var, CRC32:0x5D77FBFF, Flags:0x0 + s32 'mCreateShlNo' ; // Offset:0xC, Var, CRC32:0xB67136D3, Flags:0x0 + bool 'mUseKnockBack' ; // Offset:0x10, Var, CRC32:0x25E04C65, Flags:0x0 +}; + +// cShlParamAlchemyTrapAttack vftable:0x1D74608, Size:0x160, CRC32:0x673E1E34 +class cShlParamAlchemyTrapAttack /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamArrow vftable:0x1D74ED4, Size:0x220, CRC32:0x442E81CC +class cShlParamArrow /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'canExplode' ; // Offset:0x200, Var, CRC32:0xAE7EC5FB, Flags:0x0 + bool 'isRepelled' ; // Offset:0x201, Var, CRC32:0xEBC657A, Flags:0x0 + f32 'repelledDist' ; // Offset:0x204, Var, CRC32:0x72B62126, Flags:0x0 + s32 'seNoMatHitSE' ; // Offset:0x208, Var, CRC32:0x104B2637, Flags:0x0 + u32 'explodeShlType' ; // Offset:0x20C, Var, CRC32:0xA6D1AF4E, Flags:0x0 + bool 'useModel' ; // Offset:0x210, Var, CRC32:0x2BA241FD, Flags:0x0 +}; + +// cShlParamArrowInc vftable:0x1D75200, Size:0x160, CRC32:0x36750B21 +class cShlParamArrowInc /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamArrowRainCtrl vftable:0x1D75A90, Size:0x180, CRC32:0x23D20CFD +class cShlParamArrowRainCtrl /*: cShlParamGenerator, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 +}; + +// cShlParamArrowRainCtrl::cShootCtrlParamArrowRainCtrl vftable:0x1D75A7C, Size:0x60, CRC32:0x14BBA0EC +class cShlParamArrowRainCtrl::cShootCtrlParamArrowRainCtrl /*: cShlParamGenerator::cShootCtrlParam, MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 + vector3 'offset' ; // Offset:0x10, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x20, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'degX' ; // Offset:0x30, Var, CRC32:0x6BEF6DDA, Flags:0x0 + f32 'degY' ; // Offset:0x34, Var, CRC32:0x1CE85D4C, Flags:0x0 + f32 'degRndX' ; // Offset:0x38, Var, CRC32:0x292D2BA5, Flags:0x0 + f32 'degRndY' ; // Offset:0x3C, Var, CRC32:0x5E2A1B33, Flags:0x0 + s32 'joint' ; // Offset:0x40, Var, CRC32:0x620A83F8, Flags:0x0 + u32 'underArrowNum' ; // Offset:0x50, Var, CRC32:0xB14AEFBF, Flags:0x0 + s32 'explodeShlNo' ; // Offset:0x54, Var, CRC32:0x613464EF, Flags:0x0 + f32 'radiusRate' ; // Offset:0x58, Var, CRC32:0x5459B9CA, Flags:0x0 +}; + +// cShlParamBakuensen vftable:0x1D778C4, Size:0x190, CRC32:0x18861F27 +class cShlParamBakuensen /*: cShlParamKeepLog, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'mLogOptionFlag' ; // Offset:0x160, Var, CRC32:0x3779C767, Flags:0x0 + u32 'mLogNodeNumMax' ; // Offset:0x164, Var, CRC32:0x8AD03BB, Flags:0x0 + u32 'mExecuteAttrFlag' ; // Offset:0x168, Var, CRC32:0x97058A77, Flags:0x0 + f32 'mExeLogTime' ; // Offset:0x16C, Var, CRC32:0x1B227762, Flags:0x0 + f32 'mExeLogDistance' ; // Offset:0x170, Var, CRC32:0x477AF99C, Flags:0x0 + u32 'mWaitAttrFlag' ; // Offset:0x174, Var, CRC32:0x5E6315CE, Flags:0x0 + u64 'mWaitObjStatus' ; // Offset:0x178, Var, CRC32:0x771B5C69, Flags:0x0 + f32 'mLimitDistance' ; // Offset:0x180, Var, CRC32:0x1C944661, Flags:0x0 + f32 'mLimitTime' ; // Offset:0x184, Var, CRC32:0xE8448E15, Flags:0x0 + f32 'mReverseSpeed' ; // Offset:0x188, Var, CRC32:0xC63D28DD, Flags:0x0 + f32 'mShotWaitTime' ; // Offset:0x18C, Var, CRC32:0x2A6C7C8C, Flags:0x0 +}; + +// cShlParamBakuensenSpark vftable:0x1D77BF0, Size:0x160, CRC32:0x6C85C82 +class cShlParamBakuensenSpark /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamBaphoElementAtk vftable:0x1D78578, Size:0x230, CRC32:0xEE96FDC +class cShlParamBaphoElementAtk /*: cShlParamHomingEm, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + class 'shlList' ; // Offset:0x200, Var, CRC32:0xC2C87576, Flags:0x0 + f32 'mHpMax' ; // Offset:0x220, Var, CRC32:0xA3914CB7, Flags:0x0 + s32 'mLineEffectNo' ; // Offset:0x224, Var, CRC32:0xB18686B6, Flags:0x0 +}; + +// cShlParamBaphoEnlargeHit vftable:0x1D78BD8, Size:0x170, CRC32:0x7E230CCB +class cShlParamBaphoEnlargeHit /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'mMinAliveTimer' ; // Offset:0x160, Var, CRC32:0xE6A2BB7D, Flags:0x0 +}; + +// cShlParamBase vftable:0x1CCEE94, Size:0x160, CRC32:0x5FB7D583 +class cShlParamBase /*: MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamBlackLindwurmWingMist vftable:0x1D7A038, Size:0x170, CRC32:0x649A0356 +class cShlParamBlackLindwurmWingMist /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mShotShlNo' ; // Offset:0x160, Var, CRC32:0xEEEBEBDE, Flags:0x0 + s32 'mLandShlId' ; // Offset:0x164, Var, CRC32:0xFFEF3B35, Flags:0x0 + f32 'mInterval' ; // Offset:0x168, Var, CRC32:0x3148DF56, Flags:0x0 + f32 'mCheckDistance' ; // Offset:0x16C, Var, CRC32:0x7ED92317, Flags:0x0 +}; + +// cShlParamBreath vftable:0x1D7A894, Size:0x200, CRC32:0x3B162A31 +class cShlParamBreath /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + matrix44 'ˈʒuƌ' ; // Offset:0x160, Var, CRC32:0xE06CE4EE, Flags:0x0 + s32 'EPV Hit Index' ; // Offset:0x1A0, Var, CRC32:0x81F181E7, Flags:0x0 + s32 'EPV Hit No' ; // Offset:0x1A4, Var, CRC32:0x528E2B92, Flags:0x0 + f32 'ˎTCY(`{)' ; // Offset:0x1A8, Var, CRC32:0x63577579, Flags:0x0 + f32 'ő厞TCY(`{)' ; // Offset:0x1AC, Var, CRC32:0x2D795653, Flags:0x0 + f32 'TCYωJn' ; // Offset:0x1B0, Var, CRC32:0xBF4740E5, Flags:0x0 + f32 'ωXebv(`cm)' ; // Offset:0x1B4, Var, CRC32:0x89F684A9, Flags:0x0 + f32 'Xebv̕ωTCY' ; // Offset:0x1B8, Var, CRC32:0xAC0C6915, Flags:0x0 + f32 'dieDist' ; // Offset:0x1BC, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x1C0, Var, CRC32:0x33C17560, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1C4, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C8, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1CC, Var, CRC32:0x49AE926F, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1D0, Var, CRC32:0xF23218CB, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E0, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E4, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1E8, Var, CRC32:0xDB27B352, Flags:0x0 + f32 'limitAngle' ; // Offset:0x1EC, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'mNoneLockOnShopType' ; // Offset:0x1F0, Var, CRC32:0xFC23F621, Flags:0x0 + bool 'mUseShareId' ; // Offset:0x1F1, Var, CRC32:0xB7A699DE, Flags:0x0 +}; + +// cShlParamCatoblepasBase vftable:0x1D9D95C, Size:0x2A0, CRC32:0x7E1C5AB1 +class cShlParamCatoblepasBase /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'mFlgUseBound' ; // Offset:0x200, Var, CRC32:0xC561831B, Flags:0x0 + f32 'mBoundSpeedRateY' ; // Offset:0x204, Var, CRC32:0xF522DBC0, Flags:0x0 + f32 'mBoundSpeedRateZ' ; // Offset:0x208, Var, CRC32:0x6C2B8A7A, Flags:0x0 + f32 'mBoundSpeedLimit' ; // Offset:0x20C, Var, CRC32:0x15DB514A, Flags:0x0 + u32 'mBoundRndMax' ; // Offset:0x210, Var, CRC32:0x15C94ABF, Flags:0x0 + f32 'mBoundSpeedRateY2' ; // Offset:0x214, Var, CRC32:0x5346B1EB, Flags:0x0 + f32 'mBoundSpeedRateZ2' ; // Offset:0x218, Var, CRC32:0x786BE228, Flags:0x0 + f32 'mBoundSpeedLimit2' ; // Offset:0x21C, Var, CRC32:0x5ECB225F, Flags:0x0 + f32 'mExLifeTime2' ; // Offset:0x220, Var, CRC32:0x2CE4CF91, Flags:0x0 + f32 'mBoundSpeedRateY3' ; // Offset:0x224, Var, CRC32:0x2441817D, Flags:0x0 + f32 'mBoundSpeedRateZ3' ; // Offset:0x228, Var, CRC32:0xF6CD2BE, Flags:0x0 + f32 'mBoundSpeedLimit3' ; // Offset:0x22C, Var, CRC32:0x29CC12C9, Flags:0x0 + f32 'mExLifeTime3' ; // Offset:0x230, Var, CRC32:0x5BE3FF07, Flags:0x0 + bool 'mFlgUseRotation' ; // Offset:0x234, Var, CRC32:0x50AF3F4A, Flags:0x0 + f32 'mRotationXSpeed' ; // Offset:0x238, Var, CRC32:0xFAD40318, Flags:0x0 + f32 'mRotationX' ; // Offset:0x23C, Var, CRC32:0x21B5061D, Flags:0x0 + f32 'mRotationZ' ; // Offset:0x240, Var, CRC32:0xCFBB6731, Flags:0x0 + bool 'mFlgUseScale' ; // Offset:0x244, Var, CRC32:0x8C29DB29, Flags:0x0 + vector3 'mInitScale' ; // Offset:0x250, Var, CRC32:0xEA04A4E0, Flags:0x0 + vector3 'mScaleSpeed' ; // Offset:0x260, Var, CRC32:0x385E2BB4, Flags:0x0 + vector3 'mScaleLimit' ; // Offset:0x270, Var, CRC32:0x48EE3D22, Flags:0x0 + f32 'x_␳'[3] ; // Offset:0x280, Array, CRC32:0x327D8BEC, Flags:0x200000 + s32 'mHitLandSeNo' ; // Offset:0x28C, Var, CRC32:0xF70D892E, Flags:0x0 + s32 'mNoticeColNo' ; // Offset:0x290, Var, CRC32:0x98A53170, Flags:0x0 +}; + +// cShlParamCatoblepasBreath vftable:0x1D7B234, Size:0x220, CRC32:0x2B61C15A +class cShlParamCatoblepasBreath /*: cShlParamBreath, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + matrix44 'ˈʒuƌ' ; // Offset:0x160, Var, CRC32:0xE06CE4EE, Flags:0x0 + s32 'EPV Hit Index' ; // Offset:0x1A0, Var, CRC32:0x81F181E7, Flags:0x0 + s32 'EPV Hit No' ; // Offset:0x1A4, Var, CRC32:0x528E2B92, Flags:0x0 + f32 'ˎTCY(`{)' ; // Offset:0x1A8, Var, CRC32:0x63577579, Flags:0x0 + f32 'ő厞TCY(`{)' ; // Offset:0x1AC, Var, CRC32:0x2D795653, Flags:0x0 + f32 'TCYωJn' ; // Offset:0x1B0, Var, CRC32:0xBF4740E5, Flags:0x0 + f32 'ωXebv(`cm)' ; // Offset:0x1B4, Var, CRC32:0x89F684A9, Flags:0x0 + f32 'Xebv̕ωTCY' ; // Offset:0x1B8, Var, CRC32:0xAC0C6915, Flags:0x0 + f32 'dieDist' ; // Offset:0x1BC, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x1C0, Var, CRC32:0x33C17560, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1C4, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C8, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1CC, Var, CRC32:0x49AE926F, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1D0, Var, CRC32:0xF23218CB, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E0, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E4, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1E8, Var, CRC32:0xDB27B352, Flags:0x0 + f32 'limitAngle' ; // Offset:0x1EC, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'mNoneLockOnShopType' ; // Offset:0x1F0, Var, CRC32:0xFC23F621, Flags:0x0 + bool 'mUseShareId' ; // Offset:0x1F1, Var, CRC32:0xB7A699DE, Flags:0x0 + s32 'mHitScrShlNo' ; // Offset:0x200, Var, CRC32:0x8AE759D9, Flags:0x0 + f32 'mHitScrCheckSpeed' ; // Offset:0x204, Var, CRC32:0x5AFE4D82, Flags:0x0 + bool 'mHitScrCheckYDn' ; // Offset:0x208, Var, CRC32:0x67BA5093, Flags:0x0 + f32 'mHitScrCheckDistance' ; // Offset:0x20C, Var, CRC32:0xF7CB24D7, Flags:0x0 + f32 'mHitScrCheckInterval' ; // Offset:0x210, Var, CRC32:0xF29F519D, Flags:0x0 + s32 'mHitScrOverLapCheckShlId' ; // Offset:0x214, Var, CRC32:0x6DA74FDA, Flags:0x0 + f32 'mHitScrOverLapCheckDistance' ; // Offset:0x218, Var, CRC32:0xC2EA915E, Flags:0x0 + f32 'mHitScrCheckFirstTimer' ; // Offset:0x21C, Var, CRC32:0x8027A3CE, Flags:0x0 +}; + +// cShlParamCatoblepasCannon vftable:0x1D9DC9C, Size:0x2A0, CRC32:0x5B75513E +class cShlParamCatoblepasCannon /*: cShlParamCatoblepasBase, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'mFlgUseBound' ; // Offset:0x200, Var, CRC32:0xC561831B, Flags:0x0 + f32 'mBoundSpeedRateY' ; // Offset:0x204, Var, CRC32:0xF522DBC0, Flags:0x0 + f32 'mBoundSpeedRateZ' ; // Offset:0x208, Var, CRC32:0x6C2B8A7A, Flags:0x0 + f32 'mBoundSpeedLimit' ; // Offset:0x20C, Var, CRC32:0x15DB514A, Flags:0x0 + u32 'mBoundRndMax' ; // Offset:0x210, Var, CRC32:0x15C94ABF, Flags:0x0 + f32 'mBoundSpeedRateY2' ; // Offset:0x214, Var, CRC32:0x5346B1EB, Flags:0x0 + f32 'mBoundSpeedRateZ2' ; // Offset:0x218, Var, CRC32:0x786BE228, Flags:0x0 + f32 'mBoundSpeedLimit2' ; // Offset:0x21C, Var, CRC32:0x5ECB225F, Flags:0x0 + f32 'mExLifeTime2' ; // Offset:0x220, Var, CRC32:0x2CE4CF91, Flags:0x0 + f32 'mBoundSpeedRateY3' ; // Offset:0x224, Var, CRC32:0x2441817D, Flags:0x0 + f32 'mBoundSpeedRateZ3' ; // Offset:0x228, Var, CRC32:0xF6CD2BE, Flags:0x0 + f32 'mBoundSpeedLimit3' ; // Offset:0x22C, Var, CRC32:0x29CC12C9, Flags:0x0 + f32 'mExLifeTime3' ; // Offset:0x230, Var, CRC32:0x5BE3FF07, Flags:0x0 + bool 'mFlgUseRotation' ; // Offset:0x234, Var, CRC32:0x50AF3F4A, Flags:0x0 + f32 'mRotationXSpeed' ; // Offset:0x238, Var, CRC32:0xFAD40318, Flags:0x0 + f32 'mRotationX' ; // Offset:0x23C, Var, CRC32:0x21B5061D, Flags:0x0 + f32 'mRotationZ' ; // Offset:0x240, Var, CRC32:0xCFBB6731, Flags:0x0 + bool 'mFlgUseScale' ; // Offset:0x244, Var, CRC32:0x8C29DB29, Flags:0x0 + vector3 'mInitScale' ; // Offset:0x250, Var, CRC32:0xEA04A4E0, Flags:0x0 + vector3 'mScaleSpeed' ; // Offset:0x260, Var, CRC32:0x385E2BB4, Flags:0x0 + vector3 'mScaleLimit' ; // Offset:0x270, Var, CRC32:0x48EE3D22, Flags:0x0 + f32 'x_␳'[3] ; // Offset:0x280, Array, CRC32:0x327D8BEC, Flags:0x200000 + s32 'mHitLandSeNo' ; // Offset:0x28C, Var, CRC32:0xF70D892E, Flags:0x0 + s32 'mNoticeColNo' ; // Offset:0x290, Var, CRC32:0x98A53170, Flags:0x0 +}; + +// cShlParamCatoblepasHeadSmoke vftable:0x1D9DFDC, Size:0x2A0, CRC32:0x72C8B300 +class cShlParamCatoblepasHeadSmoke /*: cShlParamCatoblepasBase, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'mFlgUseBound' ; // Offset:0x200, Var, CRC32:0xC561831B, Flags:0x0 + f32 'mBoundSpeedRateY' ; // Offset:0x204, Var, CRC32:0xF522DBC0, Flags:0x0 + f32 'mBoundSpeedRateZ' ; // Offset:0x208, Var, CRC32:0x6C2B8A7A, Flags:0x0 + f32 'mBoundSpeedLimit' ; // Offset:0x20C, Var, CRC32:0x15DB514A, Flags:0x0 + u32 'mBoundRndMax' ; // Offset:0x210, Var, CRC32:0x15C94ABF, Flags:0x0 + f32 'mBoundSpeedRateY2' ; // Offset:0x214, Var, CRC32:0x5346B1EB, Flags:0x0 + f32 'mBoundSpeedRateZ2' ; // Offset:0x218, Var, CRC32:0x786BE228, Flags:0x0 + f32 'mBoundSpeedLimit2' ; // Offset:0x21C, Var, CRC32:0x5ECB225F, Flags:0x0 + f32 'mExLifeTime2' ; // Offset:0x220, Var, CRC32:0x2CE4CF91, Flags:0x0 + f32 'mBoundSpeedRateY3' ; // Offset:0x224, Var, CRC32:0x2441817D, Flags:0x0 + f32 'mBoundSpeedRateZ3' ; // Offset:0x228, Var, CRC32:0xF6CD2BE, Flags:0x0 + f32 'mBoundSpeedLimit3' ; // Offset:0x22C, Var, CRC32:0x29CC12C9, Flags:0x0 + f32 'mExLifeTime3' ; // Offset:0x230, Var, CRC32:0x5BE3FF07, Flags:0x0 + bool 'mFlgUseRotation' ; // Offset:0x234, Var, CRC32:0x50AF3F4A, Flags:0x0 + f32 'mRotationXSpeed' ; // Offset:0x238, Var, CRC32:0xFAD40318, Flags:0x0 + f32 'mRotationX' ; // Offset:0x23C, Var, CRC32:0x21B5061D, Flags:0x0 + f32 'mRotationZ' ; // Offset:0x240, Var, CRC32:0xCFBB6731, Flags:0x0 + bool 'mFlgUseScale' ; // Offset:0x244, Var, CRC32:0x8C29DB29, Flags:0x0 + vector3 'mInitScale' ; // Offset:0x250, Var, CRC32:0xEA04A4E0, Flags:0x0 + vector3 'mScaleSpeed' ; // Offset:0x260, Var, CRC32:0x385E2BB4, Flags:0x0 + vector3 'mScaleLimit' ; // Offset:0x270, Var, CRC32:0x48EE3D22, Flags:0x0 + f32 'x_␳'[3] ; // Offset:0x280, Array, CRC32:0x327D8BEC, Flags:0x200000 + s32 'mHitLandSeNo' ; // Offset:0x28C, Var, CRC32:0xF70D892E, Flags:0x0 + s32 'mNoticeColNo' ; // Offset:0x290, Var, CRC32:0x98A53170, Flags:0x0 +}; + +// cShlParamCatoblepasStorm vftable:0x1DA1ADC, Size:0x290, CRC32:0x256345B8 +class cShlParamCatoblepasStorm /*: cShlParamTarasukuLight, cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + f32 'mOffsetY' ; // Offset:0x260, Var, CRC32:0xC5DDADDD, Flags:0x0 + f32 'mGroundLength' ; // Offset:0x264, Var, CRC32:0xCCB28F2F, Flags:0x0 + s32 'mAddColIndex'[3] ; // Offset:0x268, Array, CRC32:0xDED86FC0, Flags:0x200000 + f32 'mAddColIndexTime'[3] ; // Offset:0x274, Array, CRC32:0xF3AE3AB8, Flags:0x200000 + f32 'mPawnHomingRad' ; // Offset:0x280, Var, CRC32:0xC7C07EBF, Flags:0x0 + f32 'mPawnSpeed' ; // Offset:0x284, Var, CRC32:0x458B5F7A, Flags:0x0 + f32 'mPawnSpeedMax' ; // Offset:0x288, Var, CRC32:0x44554B8B, Flags:0x0 +}; + +// cShlParamCompCollision vftable:0x1B3EA34, Size:0x30, CRC32:0x210A816F +class cShlParamCompCollision /*: cShlParamComponent, MtObject*/ { + s32 'seq_0' ; // Offset:0x4, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0x8, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xC, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0x10, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0x14, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0x18, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0x1C, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0x20, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0x24, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0x28, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0x2C, Var, CRC32:0xA85412E, Flags:0x0 +}; + +// cShlParamCompCondition vftable:0x1B3F044, Size:0x30, CRC32:0x47112A92 +class cShlParamCompCondition /*: cShlParamComponent, MtObject*/ { + bool 'isCondition' ; // Offset:0x4, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x5, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x8, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0xC, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x10, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x18, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x1C, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x2C, Var, CRC32:0x89C4907F, Flags:0x0 +}; + +// cShlParamCompConditionJob10Cs08 vftable:0x1B3F6F4, Size:0x5C, CRC32:0x599A082B +class cShlParamCompConditionJob10Cs08 /*: cShlParamCompCustomCondition, cShlParamCompCondition, cShlParamComponent, MtObject*/ { + bool 'isCondition' ; // Offset:0x4, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x5, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x8, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0xC, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x10, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x18, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x1C, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x2C, Var, CRC32:0x89C4907F, Flags:0x0 + f32 'mHosei[0]' ; // Offset:0x30, Var, CRC32:0x3638DC6, Flags:0x0 + f32 'mHosei[1]' ; // Offset:0x34, Var, CRC32:0x1A78BC87, Flags:0x0 + f32 'mHosei[2]' ; // Offset:0x38, Var, CRC32:0x3155EF44, Flags:0x0 + f32 'mHosei[3]' ; // Offset:0x3C, Var, CRC32:0x284EDE05, Flags:0x0 + f32 'mHosei[4]' ; // Offset:0x40, Var, CRC32:0x670F48C2, Flags:0x0 + f32 'mHosei[5]' ; // Offset:0x44, Var, CRC32:0x7E147983, Flags:0x0 + f32 'mHosei[6]' ; // Offset:0x48, Var, CRC32:0x55392A40, Flags:0x0 + f32 'mHosei[7]' ; // Offset:0x4C, Var, CRC32:0x4C221B01, Flags:0x0 + f32 'mHosei[8]' ; // Offset:0x50, Var, CRC32:0xCBBA07CE, Flags:0x0 + f32 'mHosei[9]' ; // Offset:0x54, Var, CRC32:0xD2A1368F, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x58, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamCompCustomCondition vftable:0x1B3F0E4, Size:0x5C, CRC32:0x248E3102 +class cShlParamCompCustomCondition /*: cShlParamCompCondition, cShlParamComponent, MtObject*/ { + bool 'isCondition' ; // Offset:0x4, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x5, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x8, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0xC, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x10, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x18, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x1C, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x2C, Var, CRC32:0x89C4907F, Flags:0x0 + f32 'mHosei[0]' ; // Offset:0x30, Var, CRC32:0x3638DC6, Flags:0x0 + f32 'mHosei[1]' ; // Offset:0x34, Var, CRC32:0x1A78BC87, Flags:0x0 + f32 'mHosei[2]' ; // Offset:0x38, Var, CRC32:0x3155EF44, Flags:0x0 + f32 'mHosei[3]' ; // Offset:0x3C, Var, CRC32:0x284EDE05, Flags:0x0 + f32 'mHosei[4]' ; // Offset:0x40, Var, CRC32:0x670F48C2, Flags:0x0 + f32 'mHosei[5]' ; // Offset:0x44, Var, CRC32:0x7E147983, Flags:0x0 + f32 'mHosei[6]' ; // Offset:0x48, Var, CRC32:0x55392A40, Flags:0x0 + f32 'mHosei[7]' ; // Offset:0x4C, Var, CRC32:0x4C221B01, Flags:0x0 + f32 'mHosei[8]' ; // Offset:0x50, Var, CRC32:0xCBBA07CE, Flags:0x0 + f32 'mHosei[9]' ; // Offset:0x54, Var, CRC32:0xD2A1368F, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x58, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamCompKeyFrame vftable:0x1B3FC60, Size:0x5C, CRC32:0xD89B1B6 +class cShlParamCompKeyFrame /*: cShlParamComponent, MtObject*/ { + s32 'type' ; // Offset:0x4, Var, CRC32:0x7321A8D6, Flags:0x0 + s32 'curve' ; // Offset:0x8, Var, CRC32:0xA866A248, Flags:0x0 + f32 'valueScale' ; // Offset:0xC, Var, CRC32:0x26B2DEBD, Flags:0x0 + class 'keyFrame' ; // Offset:0x14, Var, CRC32:0x50E447E4, Flags:0x0 +}; + +// cShlParamCompList vftable:0x1B4035C, Size:0x18, CRC32:0x1B191D4 +class cShlParamCompList /*: cShlParamComponent, MtObject*/ { + class 'mShlComponent' ; // Offset:0x4, Var, CRC32:0xFE7B2F78, Flags:0x0 +}; + +// cShlParamCompSelectorJob10Cs08 vftable:0x1B408E8, Size:0x30, CRC32:0x4FAC1A6D +class cShlParamCompSelectorJob10Cs08 /*: cShlParamCompSelector, cShlParamComponent, MtObject*/ { + class 'mShlComponent' ; // Offset:0x4, Var, CRC32:0xFE7B2F78, Flags:0x0 + class 'mShlList' ; // Offset:0x18, Var, CRC32:0xBED5F997, Flags:0x0 + bool 'mIsReqSe' ; // Offset:0x2C, Var, CRC32:0x3A40D884, Flags:0x0 +}; + +// cShlParamComponent vftable:0x1B3E99C, Size:0x4, CRC32:0x65E75A0D +class cShlParamComponent /*: MtObject*/ { +}; + +// cShlParamComponentCtrl vftable:0x1D7BB10, Size:0x180, CRC32:0x3CF2821F +class cShlParamComponentCtrl /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'mShlComponent' ; // Offset:0x160, Var, CRC32:0xFE7B2F78, Flags:0x0 +}; + +// cShlParamConditionBase vftable:0x1D7C998, Size:0x190, CRC32:0x710E280C +class cShlParamConditionBase /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isCondition' ; // Offset:0x160, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x161, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x164, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x168, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x16C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x174, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x178, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x188, Var, CRC32:0x89C4907F, Flags:0x0 +}; + +// cShlParamConditionFollowMove vftable:0x1D7C9E4, Size:0x1C0, CRC32:0x7F9811DC +class cShlParamConditionFollowMove /*: cShlParamFollowMove, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'jointNo' ; // Offset:0x160, Var, CRC32:0x1B23C567, Flags:0x0 + vector3 'offset' ; // Offset:0x170, Var, CRC32:0xA6F5352F, Flags:0x0 + bool 'isNoConstOwner' ; // Offset:0x180, Var, CRC32:0xA7091B50, Flags:0x0 + s32 'mConstOwnerType' ; // Offset:0x184, Var, CRC32:0x71F2D11A, Flags:0x0 + s32 'followLimitId' ; // Offset:0x188, Var, CRC32:0x341A211, Flags:0x0 + bool 'isCondition' ; // Offset:0x190, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x191, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x194, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x198, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x19C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x1A4, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x1A8, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x1B8, Var, CRC32:0x89C4907F, Flags:0x0 +}; + +// cShlParamConditionStick vftable:0x1D7CA38, Size:0x1A0, CRC32:0x2E8B626C +class cShlParamConditionStick /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + bool 'isCondition' ; // Offset:0x170, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x171, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x174, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x178, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x17C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x184, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x188, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x198, Var, CRC32:0x89C4907F, Flags:0x0 +}; + +// cShlParamConstErosion vftable:0x1D96A40, Size:0x170, CRC32:0x793E7E5C +class cShlParamConstErosion /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mOnlyAttackLockOnTarget' ; // Offset:0x160, Var, CRC32:0x8F8ABDC3, Flags:0x0 + bool 'mIsConstLockOnTarget' ; // Offset:0x161, Var, CRC32:0xEA35F7DF, Flags:0x0 +}; + +// cShlParamContaminateCrystal vftable:0x1D7D230, Size:0x170, CRC32:0x5AE02426 +class cShlParamContaminateCrystal /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mEfcShlNo' ; // Offset:0x160, Var, CRC32:0xC0BA03F1, Flags:0x0 + f32 'mInterval' ; // Offset:0x164, Var, CRC32:0x3148DF56, Flags:0x0 + u64 'mSlipDamage' ; // Offset:0x168, Var, CRC32:0x63264195, Flags:0x0 +}; + +// cShlParamCreepHoming vftable:0x1D7DA7C, Size:0x260, CRC32:0x47F30BFD +class cShlParamCreepHoming /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 +}; + +// cShlParamCustomConditionBase vftable:0x1D7E584, Size:0x1C0, CRC32:0x44E72503 +class cShlParamCustomConditionBase /*: cShlParamConditionBase, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isCondition' ; // Offset:0x160, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x161, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x164, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x168, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x16C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x174, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x178, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x188, Var, CRC32:0x89C4907F, Flags:0x0 + f32 'mHosei[0]' ; // Offset:0x190, Var, CRC32:0x3638DC6, Flags:0x0 + f32 'mHosei[1]' ; // Offset:0x194, Var, CRC32:0x1A78BC87, Flags:0x0 + f32 'mHosei[2]' ; // Offset:0x198, Var, CRC32:0x3155EF44, Flags:0x0 + f32 'mHosei[3]' ; // Offset:0x19C, Var, CRC32:0x284EDE05, Flags:0x0 + f32 'mHosei[4]' ; // Offset:0x1A0, Var, CRC32:0x670F48C2, Flags:0x0 + f32 'mHosei[5]' ; // Offset:0x1A4, Var, CRC32:0x7E147983, Flags:0x0 + f32 'mHosei[6]' ; // Offset:0x1A8, Var, CRC32:0x55392A40, Flags:0x0 + f32 'mHosei[7]' ; // Offset:0x1AC, Var, CRC32:0x4C221B01, Flags:0x0 + f32 'mHosei[8]' ; // Offset:0x1B0, Var, CRC32:0xCBBA07CE, Flags:0x0 + f32 'mHosei[9]' ; // Offset:0x1B4, Var, CRC32:0xD2A1368F, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x1B8, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamCustomConditionFollowMove vftable:0x1D7E5B8, Size:0x1F0, CRC32:0x7F894E71 +class cShlParamCustomConditionFollowMove /*: cShlParamConditionFollowMove, cShlParamFollowMove, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'jointNo' ; // Offset:0x160, Var, CRC32:0x1B23C567, Flags:0x0 + vector3 'offset' ; // Offset:0x170, Var, CRC32:0xA6F5352F, Flags:0x0 + bool 'isNoConstOwner' ; // Offset:0x180, Var, CRC32:0xA7091B50, Flags:0x0 + s32 'mConstOwnerType' ; // Offset:0x184, Var, CRC32:0x71F2D11A, Flags:0x0 + s32 'followLimitId' ; // Offset:0x188, Var, CRC32:0x341A211, Flags:0x0 + bool 'isCondition' ; // Offset:0x190, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x191, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x194, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x198, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x19C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x1A4, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x1A8, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x1B8, Var, CRC32:0x89C4907F, Flags:0x0 + f32 'mHosei[0]' ; // Offset:0x1C0, Var, CRC32:0x3638DC6, Flags:0x0 + f32 'mHosei[1]' ; // Offset:0x1C4, Var, CRC32:0x1A78BC87, Flags:0x0 + f32 'mHosei[2]' ; // Offset:0x1C8, Var, CRC32:0x3155EF44, Flags:0x0 + f32 'mHosei[3]' ; // Offset:0x1CC, Var, CRC32:0x284EDE05, Flags:0x0 + f32 'mHosei[4]' ; // Offset:0x1D0, Var, CRC32:0x670F48C2, Flags:0x0 + f32 'mHosei[5]' ; // Offset:0x1D4, Var, CRC32:0x7E147983, Flags:0x0 + f32 'mHosei[6]' ; // Offset:0x1D8, Var, CRC32:0x55392A40, Flags:0x0 + f32 'mHosei[7]' ; // Offset:0x1DC, Var, CRC32:0x4C221B01, Flags:0x0 + f32 'mHosei[8]' ; // Offset:0x1E0, Var, CRC32:0xCBBA07CE, Flags:0x0 + f32 'mHosei[9]' ; // Offset:0x1E4, Var, CRC32:0xD2A1368F, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x1E8, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamCustomSpline vftable:0x1D7EE5C, Size:0x220, CRC32:0x7626A6C4 +class cShlParamCustomSpline /*: cShlParamSpline, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'topSpeed' ; // Offset:0x16C, Var, CRC32:0xCCDEA8DE, Flags:0x0 + bool 'isValidLimit' ; // Offset:0x170, Var, CRC32:0xDB79F9E4, Flags:0x0 + f32 'limitDist' ; // Offset:0x174, Var, CRC32:0xA5C7B71C, Flags:0x0 + f32 'limitAngle' ; // Offset:0x178, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'isUpValidLimit' ; // Offset:0x17C, Var, CRC32:0xDC633BEB, Flags:0x0 + f32 'limitUpAngle' ; // Offset:0x180, Var, CRC32:0x385C130, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x188, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x18C, Var, CRC32:0x49AE926F, Flags:0x0 + u32 'shlOptionSpline' ; // Offset:0x190, Var, CRC32:0xF6ADA2CB, Flags:0x0 + f32 'followTime' ; // Offset:0x194, Var, CRC32:0xD4B65799, Flags:0x0 + f32 'parabolaHeight' ; // Offset:0x198, Var, CRC32:0xF10B4932, Flags:0x0 + f32 'mhokan' ; // Offset:0x19C, Var, CRC32:0xA23EAB79, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1A0, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1A4, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1A8, Var, CRC32:0x5E76274A, Flags:0x0 + vector3 'offset' ; // Offset:0x1B0, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x1C0, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'mParabolaXAng' ; // Offset:0x1D0, Var, CRC32:0xCECCA895, Flags:0x0 + class 'nodeList' ; // Offset:0x1D4, Var, CRC32:0x254B9358, Flags:0x0 + f32 'mCustomTime[0]' ; // Offset:0x1F0, Var, CRC32:0xC6D565D4, Flags:0x0 + f32 'mCustomTime[1]' ; // Offset:0x1F4, Var, CRC32:0xDFCE5495, Flags:0x0 + f32 'mCustomTime[2]' ; // Offset:0x1F8, Var, CRC32:0xF4E30756, Flags:0x0 + f32 'mCustomTime[3]' ; // Offset:0x1FC, Var, CRC32:0xEDF83617, Flags:0x0 + f32 'mCustomTime[4]' ; // Offset:0x200, Var, CRC32:0xA2B9A0D0, Flags:0x0 + f32 'mCustomTime[5]' ; // Offset:0x204, Var, CRC32:0xBBA29191, Flags:0x0 + f32 'mCustomTime[6]' ; // Offset:0x208, Var, CRC32:0x908FC252, Flags:0x0 + f32 'mCustomTime[7]' ; // Offset:0x20C, Var, CRC32:0x8994F313, Flags:0x0 + f32 'mCustomTime[8]' ; // Offset:0x210, Var, CRC32:0xE0CEFDC, Flags:0x0 + f32 'mCustomTime[9]' ; // Offset:0x214, Var, CRC32:0x1717DE9D, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x218, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamDamageSync vftable:0x1D802A0, Size:0x160, CRC32:0x265FA7BB +class cShlParamDamageSync /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamDamageSyncBreak vftable:0x1D805D0, Size:0x170, CRC32:0x2389E298 +class cShlParamDamageSyncBreak /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mFlgDieObjHit' ; // Offset:0x160, Var, CRC32:0x4E12B222, Flags:0x0 + f32 'mObjHitDieFrame' ; // Offset:0x164, Var, CRC32:0x98169959, Flags:0x0 +}; + +// cShlParamDamageSyncCtrl vftable:0x1D7FF70, Size:0x190, CRC32:0x1786C460 +class cShlParamDamageSyncCtrl /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'mShlNum' ; // Offset:0x160, Var, CRC32:0xC1153356, Flags:0x0 + f32 'mIntervalTime' ; // Offset:0x164, Var, CRC32:0xEF2F0F23, Flags:0x0 + u32 'mSyncOption' ; // Offset:0x168, Var, CRC32:0x92CC9D3D, Flags:0x0 + s32 'mShlNo' ; // Offset:0x16C, Var, CRC32:0x894C0429, Flags:0x0 + s32 'mShlNoBreak' ; // Offset:0x170, Var, CRC32:0xDBED0547, Flags:0x0 + f32 'mFirstIntervalTime' ; // Offset:0x174, Var, CRC32:0x862E8163, Flags:0x0 + s32 'mPushCollisionNo' ; // Offset:0x178, Var, CRC32:0x2D6ED3DD, Flags:0x0 + u32 'mPushGroup' ; // Offset:0x17C, Var, CRC32:0xFD8A1D96, Flags:0x0 + f32 'mExtendTimerSlave' ; // Offset:0x180, Var, CRC32:0x9C96B419, Flags:0x0 + s32 'mHpAdjWithPawn' ; // Offset:0x184, Var, CRC32:0xE0705E0E, Flags:0x0 +}; + +// cShlParamDeathLantern vftable:0x1CCF880, Size:0x160, CRC32:0x176C6CE0 +class cShlParamDeathLantern /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamDividedCalled vftable:0x1D7F728, Size:0x180, CRC32:0x73960E2B +class cShlParamDividedCalled /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'shlList' ; // Offset:0x160, Var, CRC32:0xC2C87576, Flags:0x0 +}; + +// cShlParamDividedCalled::cDividedCalledParam vftable:0x1D7F710, Size:0xC, CRC32:0xC08A345 +class cShlParamDividedCalled::cDividedCalledParam /*: MtObject*/ { + u32 'value' ; // Offset:0x4, Var, CRC32:0xE288A7CB, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 +}; + +// cShlParamElemntCover vftable:0x1D80EC4, Size:0x270, CRC32:0x36F698F6 +class cShlParamElemntCover /*: cShlParamCustomConditionBase, cShlParamConditionBase, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isCondition' ; // Offset:0x160, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x161, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x164, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x168, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x16C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x174, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x178, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x188, Var, CRC32:0x89C4907F, Flags:0x0 + f32 'mHosei[0]' ; // Offset:0x190, Var, CRC32:0x3638DC6, Flags:0x0 + f32 'mHosei[1]' ; // Offset:0x194, Var, CRC32:0x1A78BC87, Flags:0x0 + f32 'mHosei[2]' ; // Offset:0x198, Var, CRC32:0x3155EF44, Flags:0x0 + f32 'mHosei[3]' ; // Offset:0x19C, Var, CRC32:0x284EDE05, Flags:0x0 + f32 'mHosei[4]' ; // Offset:0x1A0, Var, CRC32:0x670F48C2, Flags:0x0 + f32 'mHosei[5]' ; // Offset:0x1A4, Var, CRC32:0x7E147983, Flags:0x0 + f32 'mHosei[6]' ; // Offset:0x1A8, Var, CRC32:0x55392A40, Flags:0x0 + f32 'mHosei[7]' ; // Offset:0x1AC, Var, CRC32:0x4C221B01, Flags:0x0 + f32 'mHosei[8]' ; // Offset:0x1B0, Var, CRC32:0xCBBA07CE, Flags:0x0 + f32 'mHosei[9]' ; // Offset:0x1B4, Var, CRC32:0xD2A1368F, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x1B8, Var, CRC32:0x20EEDF3, Flags:0x0 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'mAdjustRateCover'[10] ; // Offset:0x1C0, Array, CRC32:0x5F097D87, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + f32 'adjustRateDamage'[10] ; // Offset:0x1E8, Array, CRC32:0x8FAAF2F, Flags:0x200000 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_FIRE].mEpvIndex'; // Offset:0x228, Var, CRC32:0x6F035E95, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_FIRE].mEpvElement'; // Offset:0x22C, Var, CRC32:0x4AB164A0, Flags:0x0 + s32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_FIRE].mSeReqNo'; // Offset:0x230, Var, CRC32:0xA25D164B, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_ICE].mEpvIndex'; // Offset:0x234, Var, CRC32:0x26B9F64F, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_ICE].mEpvElement'; // Offset:0x238, Var, CRC32:0xE96B2B55, Flags:0x0 + s32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_ICE].mSeReqNo'; // Offset:0x23C, Var, CRC32:0x71B281AD, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_THUNDER].mEpvIndex'; // Offset:0x240, Var, CRC32:0x45B22720, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_THUNDER].mEpvElement'; // Offset:0x244, Var, CRC32:0xFADADD74, Flags:0x0 + s32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_THUNDER].mSeReqNo'; // Offset:0x248, Var, CRC32:0x7C0F37B0, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_HOLY].mEpvIndex'; // Offset:0x24C, Var, CRC32:0x3D410741, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_HOLY].mEpvElement'; // Offset:0x250, Var, CRC32:0xBD52DFA9, Flags:0x0 + s32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_HOLY].mSeReqNo'; // Offset:0x254, Var, CRC32:0x88E6F4F8, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_DARK].mEpvIndex'; // Offset:0x258, Var, CRC32:0x1DED222C, Flags:0x0 + u32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_DARK].mEpvElement'; // Offset:0x25C, Var, CRC32:0x26053EA8, Flags:0x0 + s32 'mEffectInfo[nDDOGame::ELEMENT_TYPE_DARK].mSeReqNo'; // Offset:0x260, Var, CRC32:0x4B462A8D, Flags:0x0 +}; + +// cShlParamEnchant vftable:0x1D762F0, Size:0x1D0, CRC32:0x941236C +class cShlParamEnchant /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mElementType' ; // Offset:0x160, Var, CRC32:0xE98318C8, Flags:0x0 + f32 'mEnchantTime' ; // Offset:0x164, Var, CRC32:0xC1895464, Flags:0x0 + f32 'mEnchantRate' ; // Offset:0x168, Var, CRC32:0x71F1F318, Flags:0x0 + f32 'mAilmentDamage' ; // Offset:0x16C, Var, CRC32:0xD2409E61, Flags:0x0 + f32 'mEnchantIntervalTime' ; // Offset:0x170, Var, CRC32:0x1E836905, Flags:0x0 + s32 'mCustomSkillNo' ; // Offset:0x174, Var, CRC32:0x9E7DE5F6, Flags:0x0 + f32 'mEnchantExtendTime'[10] ; // Offset:0x178, Array, CRC32:0xFE47E0A5, Flags:0x200000 + f32 'mEnchantExtendRate'[10] ; // Offset:0x1A0, Array, CRC32:0x4E3F47D9, Flags:0x200000 + f32 'mKillDistance' ; // Offset:0x1C8, Var, CRC32:0x227609EE, Flags:0x0 +}; + +// cShlParamEnergyCharge vftable:0x1D82960, Size:0x170, CRC32:0x6D8F9A3B +class cShlParamEnergyCharge /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'mMaxPowerVal' ; // Offset:0x160, Var, CRC32:0xA49D4913, Flags:0x0 +}; + +// cShlParamEnlargeAtk vftable:0x1D788A8, Size:0x1A0, CRC32:0x329BA23E +class cShlParamEnlargeAtk /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mEnlargeColIdx'[3] ; // Offset:0x160, Array, CRC32:0xEE69FE1, Flags:0x200000 + f32 'mEnlargeInitRadius'[3] ; // Offset:0x16C, Array, CRC32:0x21C8C20C, Flags:0x200000 + f32 'mEnlargeSpeed'[3] ; // Offset:0x178, Array, CRC32:0x636D531A, Flags:0x200000 + f32 'mEnlargeHitLimitMaxY' ; // Offset:0x184, Var, CRC32:0xC87D246A, Flags:0x0 + f32 'mEnlargeHitLimitMinY' ; // Offset:0x188, Var, CRC32:0xDAF6C005, Flags:0x0 + f32 'mEnlargeAddRadiusNotice' ; // Offset:0x18C, Var, CRC32:0x3AF69F85, Flags:0x0 + f32 'mEnlargeAddRadiusNotice2' ; // Offset:0x190, Var, CRC32:0x553FD0B0, Flags:0x0 + s32 'mSeEnlargementSEStartNo' ; // Offset:0x194, Var, CRC32:0xEB31DDCC, Flags:0x0 + s32 'mSeEnlargementSEEndNo' ; // Offset:0x198, Var, CRC32:0x71ACD0C9, Flags:0x0 + s32 'mAttackShlNo' ; // Offset:0x19C, Var, CRC32:0xC0CB6A57, Flags:0x0 +}; + +// cShlParamEvilEyeBase vftable:0x1D83194, Size:0x2C0, CRC32:0x473B2C47 +class cShlParamEvilEyeBase /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + bool 'mFlgUseRotY' ; // Offset:0x260, Var, CRC32:0x2A07660D, Flags:0x0 + vector3 'mCenterOffset' ; // Offset:0x270, Var, CRC32:0xB1D3FBA5, Flags:0x0 + f32 'mRotationSpeed' ; // Offset:0x280, Var, CRC32:0x73831BB6, Flags:0x0 + f32 'mRotationAddSpeed' ; // Offset:0x284, Var, CRC32:0x97547879, Flags:0x0 + f32 'mRotationLimitSpeed' ; // Offset:0x288, Var, CRC32:0x366ED93C, Flags:0x0 + f32 'mRotationRadius' ; // Offset:0x28C, Var, CRC32:0x9FDE65A2, Flags:0x0 + f32 'mRotationRadiusSpeed' ; // Offset:0x290, Var, CRC32:0x7F1463C7, Flags:0x0 + f32 'mRotationRadiusSpeedAccel' ; // Offset:0x294, Var, CRC32:0x9B31EC4F, Flags:0x0 + f32 'mRotationRadiusLimit' ; // Offset:0x298, Var, CRC32:0xFA47551, Flags:0x0 + u32 'mLandShlSetType' ; // Offset:0x29C, Var, CRC32:0x76795398, Flags:0x0 + f32 'mLandShlInvalidRad' ; // Offset:0x2A0, Var, CRC32:0x9EBE2882, Flags:0x0 + s32 'mLandShlNo' ; // Offset:0x2A4, Var, CRC32:0x277C747A, Flags:0x0 + f32 'mLandShlLimitLength' ; // Offset:0x2A8, Var, CRC32:0xE438830A, Flags:0x0 + f32 'mAngHoming' ; // Offset:0x2AC, Var, CRC32:0x247ECAD1, Flags:0x0 + f32 'mAngHomingStartFrame' ; // Offset:0x2B0, Var, CRC32:0xA560963A, Flags:0x0 + f32 'mAngHomingLimit' ; // Offset:0x2B4, Var, CRC32:0x7A97CC0E, Flags:0x0 + s32 'mAtkConstShl' ; // Offset:0x2B8, Var, CRC32:0x3162CE0B, Flags:0x0 +}; + +// cShlParamEvilEyeDamageSyncCtrl vftable:0x1D834C0, Size:0x200, CRC32:0xC225D46 +class cShlParamEvilEyeDamageSyncCtrl /*: cShlParamDamageSyncCtrl, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'mShlNum' ; // Offset:0x160, Var, CRC32:0xC1153356, Flags:0x0 + f32 'mIntervalTime' ; // Offset:0x164, Var, CRC32:0xEF2F0F23, Flags:0x0 + u32 'mSyncOption' ; // Offset:0x168, Var, CRC32:0x92CC9D3D, Flags:0x0 + s32 'mShlNo' ; // Offset:0x16C, Var, CRC32:0x894C0429, Flags:0x0 + s32 'mShlNoBreak' ; // Offset:0x170, Var, CRC32:0xDBED0547, Flags:0x0 + f32 'mFirstIntervalTime' ; // Offset:0x174, Var, CRC32:0x862E8163, Flags:0x0 + s32 'mPushCollisionNo' ; // Offset:0x178, Var, CRC32:0x2D6ED3DD, Flags:0x0 + u32 'mPushGroup' ; // Offset:0x17C, Var, CRC32:0xFD8A1D96, Flags:0x0 + f32 'mExtendTimerSlave' ; // Offset:0x180, Var, CRC32:0x9C96B419, Flags:0x0 + s32 'mHpAdjWithPawn' ; // Offset:0x184, Var, CRC32:0xE0705E0E, Flags:0x0 + f32 'mMoveStartTime' ; // Offset:0x190, Var, CRC32:0x7E038B48, Flags:0x0 + f32 'mMoveSpeed' ; // Offset:0x194, Var, CRC32:0xC13E1319, Flags:0x0 + f32 'mMoveSpeedAccel' ; // Offset:0x198, Var, CRC32:0x8957CDEB, Flags:0x0 + f32 'mMoveSpeedMax' ; // Offset:0x19C, Var, CRC32:0xE903797C, Flags:0x0 + f32 'mMoveSpeedLongRangeJob' ; // Offset:0x1A0, Var, CRC32:0x6D489EA0, Flags:0x0 + f32 'mMoveSpeedLongRangeAccel' ; // Offset:0x1A4, Var, CRC32:0xD9FA39ED, Flags:0x0 + f32 'mMoveSpeedLongRangeMax' ; // Offset:0x1A8, Var, CRC32:0xBE65CD1, Flags:0x0 + f32 'mMoveSpeedPawn' ; // Offset:0x1AC, Var, CRC32:0xD6BBE1BC, Flags:0x0 + f32 'mMoveSpeedPawnAccel' ; // Offset:0x1B0, Var, CRC32:0xFF825EDC, Flags:0x0 + f32 'mMoveSpeedPawnMax' ; // Offset:0x1B4, Var, CRC32:0x8DE81270, Flags:0x0 + f32 'mPosHomingRad' ; // Offset:0x1B8, Var, CRC32:0x2B946664, Flags:0x0 + f32 'mPosHomingOffsetY' ; // Offset:0x1BC, Var, CRC32:0x4E31AC55, Flags:0x0 + f32 'mAngHomingLimitAng' ; // Offset:0x1C0, Var, CRC32:0x5A4AE6F0, Flags:0x0 + f32 'mAngHomingAngX' ; // Offset:0x1C4, Var, CRC32:0xA1828017, Flags:0x0 + f32 'mAngHomingAngXRet' ; // Offset:0x1C8, Var, CRC32:0x1861F0A, Flags:0x0 + f32 'mAngHomingAngY' ; // Offset:0x1CC, Var, CRC32:0xD685B081, Flags:0x0 + s32 'mAddEffectNo' ; // Offset:0x1D0, Var, CRC32:0x336AC1F4, Flags:0x0 + f32 'mOffsetLength' ; // Offset:0x1D4, Var, CRC32:0x612A9C40, Flags:0x0 + f32 'mOffsetLengthLand' ; // Offset:0x1D8, Var, CRC32:0x13B521B5, Flags:0x0 + f32 'mDecelerationRange' ; // Offset:0x1DC, Var, CRC32:0xBFB3EE83, Flags:0x0 + f32 'mDecelerationSpeed' ; // Offset:0x1E0, Var, CRC32:0x23124A3C, Flags:0x0 + f32 'mDecelerationSpeedMaxRate' ; // Offset:0x1E4, Var, CRC32:0x18EB0E4D, Flags:0x0 + f32 'mLandSeInvalidTime' ; // Offset:0x1E8, Var, CRC32:0xF1107383, Flags:0x0 + s32 'mLandSeNo' ; // Offset:0x1EC, Var, CRC32:0x9D361533, Flags:0x0 + s32 'mOrgNoticeCollNo' ; // Offset:0x1F0, Var, CRC32:0x462F448E, Flags:0x0 +}; + +// cShlParamFireWallCtrl vftable:0x1D847D8, Size:0x1B0, CRC32:0x2CA03D21 +class cShlParamFireWallCtrl /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'laserDist' ; // Offset:0x160, Var, CRC32:0xB9417EE1, Flags:0x0 + f32 'laserRange' ; // Offset:0x164, Var, CRC32:0xB5693D3B, Flags:0x0 + f32 'laserHeight' ; // Offset:0x168, Var, CRC32:0x9962F4F5, Flags:0x0 + f32 'wallInter' ; // Offset:0x16C, Var, CRC32:0xD936F9AE, Flags:0x0 + f32 'wallRandom' ; // Offset:0x170, Var, CRC32:0x28FF71AA, Flags:0x0 + f32 'wait_2' ; // Offset:0x17C, Var, CRC32:0x1C6A55C6, Flags:0x0 + f32 'wait_3' ; // Offset:0x180, Var, CRC32:0x6B6D6550, Flags:0x0 + s32 'shlNoWall' ; // Offset:0x184, Var, CRC32:0x23739D8A, Flags:0x0 + s32 'epvNoLight' ; // Offset:0x188, Var, CRC32:0x3048343A, Flags:0x0 + s32 'seNoLoopL' ; // Offset:0x18C, Var, CRC32:0x48DDA378, Flags:0x0 + s32 'seNoLoopC' ; // Offset:0x190, Var, CRC32:0xD862BEE9, Flags:0x0 + s32 'seNoLoopR' ; // Offset:0x194, Var, CRC32:0xB2D29E1B, Flags:0x0 + s32 'seNoLoopStopL' ; // Offset:0x198, Var, CRC32:0x2C17D672, Flags:0x0 + s32 'seNoLoopStopC' ; // Offset:0x19C, Var, CRC32:0xBCA8CBE3, Flags:0x0 + s32 'seNoLoopStopR' ; // Offset:0x1A0, Var, CRC32:0xD618EB11, Flags:0x0 + s32 'seNoYochoL' ; // Offset:0x1A4, Var, CRC32:0x94AD802F, Flags:0x0 + s32 'seNoYochoR' ; // Offset:0x1A8, Var, CRC32:0x6EA2BD4C, Flags:0x0 +}; + +// cShlParamFollowMove vftable:0x1D7C018, Size:0x190, CRC32:0x727349C7 +class cShlParamFollowMove /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'jointNo' ; // Offset:0x160, Var, CRC32:0x1B23C567, Flags:0x0 + vector3 'offset' ; // Offset:0x170, Var, CRC32:0xA6F5352F, Flags:0x0 + bool 'isNoConstOwner' ; // Offset:0x180, Var, CRC32:0xA7091B50, Flags:0x0 + s32 'mConstOwnerType' ; // Offset:0x184, Var, CRC32:0x71F2D11A, Flags:0x0 + s32 'followLimitId' ; // Offset:0x188, Var, CRC32:0x341A211, Flags:0x0 +}; + +// cShlParamFollowMoveBomb vftable:0x1D83868, Size:0x1B0, CRC32:0x4209D0C0 +class cShlParamFollowMoveBomb /*: cShlParamFollowMove, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'jointNo' ; // Offset:0x160, Var, CRC32:0x1B23C567, Flags:0x0 + vector3 'offset' ; // Offset:0x170, Var, CRC32:0xA6F5352F, Flags:0x0 + bool 'isNoConstOwner' ; // Offset:0x180, Var, CRC32:0xA7091B50, Flags:0x0 + s32 'mConstOwnerType' ; // Offset:0x184, Var, CRC32:0x71F2D11A, Flags:0x0 + s32 'followLimitId' ; // Offset:0x188, Var, CRC32:0x341A211, Flags:0x0 + s32 'mDamageColIndex' ; // Offset:0x190, Var, CRC32:0x3D4EC601, Flags:0x0 + s32 'mPrevShlId' ; // Offset:0x194, Var, CRC32:0xB364BF2, Flags:0x0 + s32 'mConstJoint' ; // Offset:0x198, Var, CRC32:0xEB2BF40C, Flags:0x0 + f32 'mHitSlowRate' ; // Offset:0x19C, Var, CRC32:0xA5940D40, Flags:0x0 + f32 'mHitSlowTime' ; // Offset:0x1A0, Var, CRC32:0x15ECAA3C, Flags:0x0 +}; + +// cShlParamFollowMoveBombExplosion vftable:0x1D83B9C, Size:0x160, CRC32:0x620D7829 +class cShlParamFollowMoveBombExplosion /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamFollowMoveWarOrc vftable:0x1D858B8, Size:0x190, CRC32:0x505F5336 +class cShlParamFollowMoveWarOrc /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'jointNo' ; // Offset:0x160, Var, CRC32:0x1B23C567, Flags:0x0 + f32 'offset' ; // Offset:0x164, Var, CRC32:0xA6F5352F, Flags:0x0 + bool 'isNoConstOwner' ; // Offset:0x168, Var, CRC32:0xA7091B50, Flags:0x0 + s32 'followLimitId' ; // Offset:0x16C, Var, CRC32:0x341A211, Flags:0x0 + s32 'mConstOwnerType' ; // Offset:0x170, Var, CRC32:0x71F2D11A, Flags:0x0 + s32 'dieFlag' ; // Offset:0x174, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x178, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x17C, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x180, Var, CRC32:0x33D05715, Flags:0x0 + s32 'shlOptionSpeed' ; // Offset:0x184, Var, CRC32:0x57350D2D, Flags:0x0 +}; + +// cShlParamFriendSupport vftable:0x1D860E8, Size:0x190, CRC32:0x722CABC3 +class cShlParamFriendSupport /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mCheckShl' ; // Offset:0x160, Var, CRC32:0x46C7F56D, Flags:0x0 + f32 'mConstInterval' ; // Offset:0x164, Var, CRC32:0x78E334DE, Flags:0x0 + f32 'mSpeedInit' ; // Offset:0x168, Var, CRC32:0x75E44C1A, Flags:0x0 + f32 'mAccel' ; // Offset:0x16C, Var, CRC32:0xA048AC24, Flags:0x0 + f32 'mSpeedLimit' ; // Offset:0x170, Var, CRC32:0x72DDB1A, Flags:0x0 + f32 'mDistanceLimit' ; // Offset:0x174, Var, CRC32:0x51A51A78, Flags:0x0 + bool 'mFlgStopArrive' ; // Offset:0x178, Var, CRC32:0xC3E8E1D9, Flags:0x0 + s32 'mJobCommonEffectIndex' ; // Offset:0x17C, Var, CRC32:0x688BEEF6, Flags:0x0 + s32 'mJobCommonEffectNo' ; // Offset:0x180, Var, CRC32:0xFCAEDA37, Flags:0x0 +}; + +// cShlParamFuwaFuwa2 vftable:0x1D8698C, Size:0x2F0, CRC32:0x5633280 +class cShlParamFuwaFuwa2 /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + class 'mFuwaFuwaInfoArray.elems'[8] ; // Offset:0x200, Array, CRC32:0xC8F3FF47, Flags:0x200000 + u32 'mSeqNoMax' ; // Offset:0x2E0, Var, CRC32:0xA87F78A7, Flags:0x0 +}; + +// cShlParamGeneAlongGround vftable:0x1D871BC, Size:0x1A0, CRC32:0x3825A2F8 +class cShlParamGeneAlongGround /*: cShlParamGenerator, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 + f32 'mGroundCheckYMax' ; // Offset:0x180, Var, CRC32:0x8712B935, Flags:0x0 + f32 'mGroundCheckYMin' ; // Offset:0x184, Var, CRC32:0xBB1F866C, Flags:0x0 + bool 'mWallCheck' ; // Offset:0x188, Var, CRC32:0x3A530969, Flags:0x0 + f32 'mWallCheckHeight' ; // Offset:0x18C, Var, CRC32:0x918CBD73, Flags:0x0 + bool 'mWallCheckCreateForOnce' ; // Offset:0x190, Var, CRC32:0xC7CB855E, Flags:0x0 + f32 'mCliffSafeOffset' ; // Offset:0x194, Var, CRC32:0x91DC3DC6, Flags:0x0 + s32 'mBuildUpID' ; // Offset:0x198, Var, CRC32:0xD93A5DA3, Flags:0x0 + s32 'mNormalID' ; // Offset:0x19C, Var, CRC32:0x4026ADA0, Flags:0x0 +}; + +// cShlParamGeneErosionTentacle vftable:0x1D87A74, Size:0x180, CRC32:0x278F75C1 +class cShlParamGeneErosionTentacle /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'shlList' ; // Offset:0x160, Var, CRC32:0xC2C87576, Flags:0x0 + f32 'mWaitTime' ; // Offset:0x174, Var, CRC32:0xBB3C0D6, Flags:0x0 + f32 'mStartWaitTime' ; // Offset:0x178, Var, CRC32:0xF7AF5B8E, Flags:0x0 + bool 'mFlgReqTentacleNoticeSe' ; // Offset:0x17C, Var, CRC32:0x806BCE2E, Flags:0x0 +}; + +// cShlParamGeneErosionTentacle::cShootCtrlParamGeneErosionTentacle vftable:0x1D87A60, Size:0x14, CRC32:0x443063C +class cShlParamGeneErosionTentacle::cShootCtrlParamGeneErosionTentacle /*: MtObject*/ { + s32 'shlNo' ; // Offset:0x4, Var, CRC32:0x8B076117, Flags:0x0 + s32 'shlPawnNoticeNo' ; // Offset:0x8, Var, CRC32:0xA8D59008, Flags:0x0 + s32 'RA|Cg^Cv' ; // Offset:0xC, Var, CRC32:0x95C84D8E, Flags:0x0 + s32 'constJointNo' ; // Offset:0x10, Var, CRC32:0x80DD6D55, Flags:0x0 +}; + +// cShlParamGeneOwnerJoint vftable:0x1D70548, Size:0x180, CRC32:0x3FD7D9A1 +class cShlParamGeneOwnerJoint /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'shlList' ; // Offset:0x160, Var, CRC32:0xC2C87576, Flags:0x0 +}; + +// cShlParamGeneTarget vftable:0x1D89368, Size:0x180, CRC32:0x733BA7AA +class cShlParamGeneTarget /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'shlList' ; // Offset:0x160, Var, CRC32:0xC2C87576, Flags:0x0 +}; + +// cShlParamGeneTarget::cShootCtrlParamGeneTarget vftable:0x1D89354, Size:0x30, CRC32:0x4F011F1C +class cShlParamGeneTarget::cShootCtrlParamGeneTarget /*: MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 + vector3 'offset' ; // Offset:0x10, Var, CRC32:0xA6F5352F, Flags:0x0 + f32 'degY' ; // Offset:0x20, Var, CRC32:0x1CE85D4C, Flags:0x0 + f32 'distScale' ; // Offset:0x24, Var, CRC32:0x714BF895, Flags:0x0 +}; + +// cShlParamGenerator vftable:0x1D7048C, Size:0x180, CRC32:0x66B7802A +class cShlParamGenerator /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 +}; + +// cShlParamGenerator::cShootCtrlParam vftable:0x1D70478, Size:0x50, CRC32:0x720688DA +class cShlParamGenerator::cShootCtrlParam /*: MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 + vector3 'offset' ; // Offset:0x10, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x20, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'degX' ; // Offset:0x30, Var, CRC32:0x6BEF6DDA, Flags:0x0 + f32 'degY' ; // Offset:0x34, Var, CRC32:0x1CE85D4C, Flags:0x0 + f32 'degRndX' ; // Offset:0x38, Var, CRC32:0x292D2BA5, Flags:0x0 + f32 'degRndY' ; // Offset:0x3C, Var, CRC32:0x5E2A1B33, Flags:0x0 + s32 'joint' ; // Offset:0x40, Var, CRC32:0x620A83F8, Flags:0x0 +}; + +// cShlParamGravity vftable:0x1D89BDC, Size:0x180, CRC32:0x604354B7 +class cShlParamGravity /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'dieSetShell' ; // Offset:0x160, Var, CRC32:0x9F96F2AC, Flags:0x0 + s32 'timerSetShell' ; // Offset:0x164, Var, CRC32:0x9D03B4FA, Flags:0x0 + f32 'timerSetTime' ; // Offset:0x168, Var, CRC32:0xFCD335CB, Flags:0x0 + bool 'timerSetDead' ; // Offset:0x16C, Var, CRC32:0x7E62E4AA, Flags:0x0 + s32 'distSetShell' ; // Offset:0x170, Var, CRC32:0xE433D84C, Flags:0x0 + f32 'distSetDist' ; // Offset:0x174, Var, CRC32:0xFEEF6F70, Flags:0x0 + bool 'distSetDead' ; // Offset:0x178, Var, CRC32:0x92B6F6A3, Flags:0x0 +}; + +// cShlParamHermiteY vftable:0x1D97CA4, Size:0x200, CRC32:0x480EB73C +class cShlParamHermiteY /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 +}; + +// cShlParamHitReactionConditionStick vftable:0x1D8AABC, Size:0x1B0, CRC32:0x70E13D6B +class cShlParamHitReactionConditionStick /*: cShlParamConditionStick, cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + bool 'isCondition' ; // Offset:0x170, Var, CRC32:0x7BB1C67B, Flags:0x0 + bool 'isAdd' ; // Offset:0x171, Var, CRC32:0xEE63FEB9, Flags:0x0 + u32 'goodStatus' ; // Offset:0x174, Var, CRC32:0x17C8DD9D, Flags:0x0 + u32 'badStatus' ; // Offset:0x178, Var, CRC32:0xC5B54B29, Flags:0x0 + u32 'HumanOriginalStatus' ; // Offset:0x17C, Var, CRC32:0x3008EA55, Flags:0x0 + bool 'mInfo.mIsSetActiveTime' ; // Offset:0x184, Var, CRC32:0x7B48862, Flags:0x0 + f32 'mInfo.mActiveTime' ; // Offset:0x188, Var, CRC32:0x7C36FEE4, Flags:0x0 + s32 'mInfo.mBoostLv' ; // Offset:0x198, Var, CRC32:0x89C4907F, Flags:0x0 + f32 'mCanChangeFrame' ; // Offset:0x1A0, Var, CRC32:0x1E12B142, Flags:0x0 + s32 'mChangeEffectNo' ; // Offset:0x1A4, Var, CRC32:0xA456715A, Flags:0x0 +}; + +// cShlParamHitReactionSpline vftable:0x1D8A444, Size:0x200, CRC32:0x2295CA44 +class cShlParamHitReactionSpline /*: cShlParamSpline, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'topSpeed' ; // Offset:0x16C, Var, CRC32:0xCCDEA8DE, Flags:0x0 + bool 'isValidLimit' ; // Offset:0x170, Var, CRC32:0xDB79F9E4, Flags:0x0 + f32 'limitDist' ; // Offset:0x174, Var, CRC32:0xA5C7B71C, Flags:0x0 + f32 'limitAngle' ; // Offset:0x178, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'isUpValidLimit' ; // Offset:0x17C, Var, CRC32:0xDC633BEB, Flags:0x0 + f32 'limitUpAngle' ; // Offset:0x180, Var, CRC32:0x385C130, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x188, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x18C, Var, CRC32:0x49AE926F, Flags:0x0 + u32 'shlOptionSpline' ; // Offset:0x190, Var, CRC32:0xF6ADA2CB, Flags:0x0 + f32 'followTime' ; // Offset:0x194, Var, CRC32:0xD4B65799, Flags:0x0 + f32 'parabolaHeight' ; // Offset:0x198, Var, CRC32:0xF10B4932, Flags:0x0 + f32 'mhokan' ; // Offset:0x19C, Var, CRC32:0xA23EAB79, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1A0, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1A4, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1A8, Var, CRC32:0x5E76274A, Flags:0x0 + vector3 'offset' ; // Offset:0x1B0, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x1C0, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'mParabolaXAng' ; // Offset:0x1D0, Var, CRC32:0xCECCA895, Flags:0x0 + class 'nodeList' ; // Offset:0x1D4, Var, CRC32:0x254B9358, Flags:0x0 + f32 'mCanChangeFrame' ; // Offset:0x1F0, Var, CRC32:0x1E12B142, Flags:0x0 + s32 'mChangeEffectNo' ; // Offset:0x1F4, Var, CRC32:0xA456715A, Flags:0x0 +}; + +// cShlParamHitReactionStick vftable:0x1D8A780, Size:0x180, CRC32:0x14F0B46A +class cShlParamHitReactionStick /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + f32 'mCanChangeFrame' ; // Offset:0x170, Var, CRC32:0x1E12B142, Flags:0x0 + s32 'mChangeEffectNo' ; // Offset:0x174, Var, CRC32:0xA456715A, Flags:0x0 +}; + +// cShlParamHoming vftable:0x1CDBE18, Size:0x260, CRC32:0x69C8C479 +class cShlParamHoming /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 +}; + +// cShlParamHomingEm vftable:0x1D78234, Size:0x220, CRC32:0x5CF90B7B +class cShlParamHomingEm /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + class 'shlList' ; // Offset:0x200, Var, CRC32:0xC2C87576, Flags:0x0 +}; + +// cShlParamIntervalHitBase vftable:0x1D8CB40, Size:0x1A0, CRC32:0x55DA5919 +class cShlParamIntervalHitBase /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mHitInterVal' ; // Offset:0x160, Var, CRC32:0x633E05AB, Flags:0x0 + s32 'mSeNo' ; // Offset:0x164, Var, CRC32:0x7C2C0CDB, Flags:0x0 + s32 'mEfNo' ; // Offset:0x168, Var, CRC32:0xB18BAC1, Flags:0x0 + s32 'mColNo' ; // Offset:0x16C, Var, CRC32:0x747BAB12, Flags:0x0 + bool 'mIsUseRandamInterVal' ; // Offset:0x170, Var, CRC32:0xFACC0D75, Flags:0x0 + f32 'mRandamInterVal[0]' ; // Offset:0x174, Var, CRC32:0x53BABD22, Flags:0x0 + f32 'mRandamInterVal[1]' ; // Offset:0x178, Var, CRC32:0x4AA18C63, Flags:0x0 + f32 'mRandamInterVal[2]' ; // Offset:0x17C, Var, CRC32:0x618CDFA0, Flags:0x0 + f32 'mRandamInterVal[3]' ; // Offset:0x180, Var, CRC32:0x7897EEE1, Flags:0x0 + f32 'mRandamInterVal[4]' ; // Offset:0x184, Var, CRC32:0x37D67826, Flags:0x0 + f32 'mRandamInterVal[5]' ; // Offset:0x188, Var, CRC32:0x2ECD4967, Flags:0x0 + f32 'mRandamInterVal[6]' ; // Offset:0x18C, Var, CRC32:0x5E01AA4, Flags:0x0 + f32 'mRandamInterVal[7]' ; // Offset:0x190, Var, CRC32:0x1CFB2BE5, Flags:0x0 + f32 'mRandamInterVal[8]' ; // Offset:0x194, Var, CRC32:0x9B63372A, Flags:0x0 + f32 'mRandamInterVal[9]' ; // Offset:0x198, Var, CRC32:0x8278066B, Flags:0x0 +}; + +// cShlParamIntervalHitStick vftable:0x1D8CB90, Size:0x1B0, CRC32:0x437252F6 +class cShlParamIntervalHitStick /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + s32 'mHitInterVal' ; // Offset:0x170, Var, CRC32:0x633E05AB, Flags:0x0 + s32 'mSeNo' ; // Offset:0x174, Var, CRC32:0x7C2C0CDB, Flags:0x0 + s32 'mEfNo' ; // Offset:0x178, Var, CRC32:0xB18BAC1, Flags:0x0 + s32 'mColNo' ; // Offset:0x17C, Var, CRC32:0x747BAB12, Flags:0x0 + bool 'mIsUseRandamInterVal' ; // Offset:0x180, Var, CRC32:0xFACC0D75, Flags:0x0 + f32 'mRandamInterVal[0]' ; // Offset:0x184, Var, CRC32:0x53BABD22, Flags:0x0 + f32 'mRandamInterVal[1]' ; // Offset:0x188, Var, CRC32:0x4AA18C63, Flags:0x0 + f32 'mRandamInterVal[2]' ; // Offset:0x18C, Var, CRC32:0x618CDFA0, Flags:0x0 + f32 'mRandamInterVal[3]' ; // Offset:0x190, Var, CRC32:0x7897EEE1, Flags:0x0 + f32 'mRandamInterVal[4]' ; // Offset:0x194, Var, CRC32:0x37D67826, Flags:0x0 + f32 'mRandamInterVal[5]' ; // Offset:0x198, Var, CRC32:0x2ECD4967, Flags:0x0 + f32 'mRandamInterVal[6]' ; // Offset:0x19C, Var, CRC32:0x5E01AA4, Flags:0x0 + f32 'mRandamInterVal[7]' ; // Offset:0x1A0, Var, CRC32:0x1CFB2BE5, Flags:0x0 + f32 'mRandamInterVal[8]' ; // Offset:0x1A4, Var, CRC32:0x9B63372A, Flags:0x0 + f32 'mRandamInterVal[9]' ; // Offset:0x1A8, Var, CRC32:0x8278066B, Flags:0x0 +}; + +// cShlParamJob04CS14 vftable:0x1D8D494, Size:0x220, CRC32:0x46D686C3 +class cShlParamJob04CS14 /*: cShlParamCustomSpline, cShlParamSpline, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'topSpeed' ; // Offset:0x16C, Var, CRC32:0xCCDEA8DE, Flags:0x0 + bool 'isValidLimit' ; // Offset:0x170, Var, CRC32:0xDB79F9E4, Flags:0x0 + f32 'limitDist' ; // Offset:0x174, Var, CRC32:0xA5C7B71C, Flags:0x0 + f32 'limitAngle' ; // Offset:0x178, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'isUpValidLimit' ; // Offset:0x17C, Var, CRC32:0xDC633BEB, Flags:0x0 + f32 'limitUpAngle' ; // Offset:0x180, Var, CRC32:0x385C130, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x188, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x18C, Var, CRC32:0x49AE926F, Flags:0x0 + u32 'shlOptionSpline' ; // Offset:0x190, Var, CRC32:0xF6ADA2CB, Flags:0x0 + f32 'followTime' ; // Offset:0x194, Var, CRC32:0xD4B65799, Flags:0x0 + f32 'parabolaHeight' ; // Offset:0x198, Var, CRC32:0xF10B4932, Flags:0x0 + f32 'mhokan' ; // Offset:0x19C, Var, CRC32:0xA23EAB79, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1A0, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1A4, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1A8, Var, CRC32:0x5E76274A, Flags:0x0 + vector3 'offset' ; // Offset:0x1B0, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x1C0, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'mParabolaXAng' ; // Offset:0x1D0, Var, CRC32:0xCECCA895, Flags:0x0 + class 'nodeList' ; // Offset:0x1D4, Var, CRC32:0x254B9358, Flags:0x0 + f32 'mCustomTime[0]' ; // Offset:0x1F0, Var, CRC32:0xC6D565D4, Flags:0x0 + f32 'mCustomTime[1]' ; // Offset:0x1F4, Var, CRC32:0xDFCE5495, Flags:0x0 + f32 'mCustomTime[2]' ; // Offset:0x1F8, Var, CRC32:0xF4E30756, Flags:0x0 + f32 'mCustomTime[3]' ; // Offset:0x1FC, Var, CRC32:0xEDF83617, Flags:0x0 + f32 'mCustomTime[4]' ; // Offset:0x200, Var, CRC32:0xA2B9A0D0, Flags:0x0 + f32 'mCustomTime[5]' ; // Offset:0x204, Var, CRC32:0xBBA29191, Flags:0x0 + f32 'mCustomTime[6]' ; // Offset:0x208, Var, CRC32:0x908FC252, Flags:0x0 + f32 'mCustomTime[7]' ; // Offset:0x20C, Var, CRC32:0x8994F313, Flags:0x0 + f32 'mCustomTime[8]' ; // Offset:0x210, Var, CRC32:0xE0CEFDC, Flags:0x0 + f32 'mCustomTime[9]' ; // Offset:0x214, Var, CRC32:0x1717DE9D, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x218, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamJob06CS12 vftable:0x1D8DC98, Size:0x190, CRC32:0x55757096 +class cShlParamJob06CS12 /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'attackTimingFrame' ; // Offset:0x160, Var, CRC32:0x45717266, Flags:0x0 + f32 'finishTimingFrame' ; // Offset:0x164, Var, CRC32:0x5923FAAF, Flags:0x0 + s32 'shotEffectElementNo' ; // Offset:0x168, Var, CRC32:0x1540C86, Flags:0x0 + s32 'attackEffectElementNo' ; // Offset:0x16C, Var, CRC32:0xA86CF9E7, Flags:0x0 + s32 'endEffectElementNo' ; // Offset:0x170, Var, CRC32:0xF5F5170D, Flags:0x0 + s32 'scrEffectElementNo' ; // Offset:0x174, Var, CRC32:0x722203F8, Flags:0x0 + s32 'shotSoundElementNo' ; // Offset:0x178, Var, CRC32:0x155B103E, Flags:0x0 + s32 'attackSoundElementNo' ; // Offset:0x17C, Var, CRC32:0x910022D2, Flags:0x0 + s32 'attack2SoundElementNo' ; // Offset:0x180, Var, CRC32:0x7DF32D73, Flags:0x0 + s32 'endSoundElementNo' ; // Offset:0x184, Var, CRC32:0x60F5CA28, Flags:0x0 + s32 'effectSize' ; // Offset:0x188, Var, CRC32:0x3F4C055E, Flags:0x0 +}; + +// cShlParamJob06CS13 vftable:0x1D8E57C, Size:0x220, CRC32:0x22724000 +class cShlParamJob06CS13 /*: cShlParamCustomSpline, cShlParamSpline, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'topSpeed' ; // Offset:0x16C, Var, CRC32:0xCCDEA8DE, Flags:0x0 + bool 'isValidLimit' ; // Offset:0x170, Var, CRC32:0xDB79F9E4, Flags:0x0 + f32 'limitDist' ; // Offset:0x174, Var, CRC32:0xA5C7B71C, Flags:0x0 + f32 'limitAngle' ; // Offset:0x178, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'isUpValidLimit' ; // Offset:0x17C, Var, CRC32:0xDC633BEB, Flags:0x0 + f32 'limitUpAngle' ; // Offset:0x180, Var, CRC32:0x385C130, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x188, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x18C, Var, CRC32:0x49AE926F, Flags:0x0 + u32 'shlOptionSpline' ; // Offset:0x190, Var, CRC32:0xF6ADA2CB, Flags:0x0 + f32 'followTime' ; // Offset:0x194, Var, CRC32:0xD4B65799, Flags:0x0 + f32 'parabolaHeight' ; // Offset:0x198, Var, CRC32:0xF10B4932, Flags:0x0 + f32 'mhokan' ; // Offset:0x19C, Var, CRC32:0xA23EAB79, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1A0, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1A4, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1A8, Var, CRC32:0x5E76274A, Flags:0x0 + vector3 'offset' ; // Offset:0x1B0, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x1C0, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'mParabolaXAng' ; // Offset:0x1D0, Var, CRC32:0xCECCA895, Flags:0x0 + class 'nodeList' ; // Offset:0x1D4, Var, CRC32:0x254B9358, Flags:0x0 + f32 'mCustomTime[0]' ; // Offset:0x1F0, Var, CRC32:0xC6D565D4, Flags:0x0 + f32 'mCustomTime[1]' ; // Offset:0x1F4, Var, CRC32:0xDFCE5495, Flags:0x0 + f32 'mCustomTime[2]' ; // Offset:0x1F8, Var, CRC32:0xF4E30756, Flags:0x0 + f32 'mCustomTime[3]' ; // Offset:0x1FC, Var, CRC32:0xEDF83617, Flags:0x0 + f32 'mCustomTime[4]' ; // Offset:0x200, Var, CRC32:0xA2B9A0D0, Flags:0x0 + f32 'mCustomTime[5]' ; // Offset:0x204, Var, CRC32:0xBBA29191, Flags:0x0 + f32 'mCustomTime[6]' ; // Offset:0x208, Var, CRC32:0x908FC252, Flags:0x0 + f32 'mCustomTime[7]' ; // Offset:0x20C, Var, CRC32:0x8994F313, Flags:0x0 + f32 'mCustomTime[8]' ; // Offset:0x210, Var, CRC32:0xE0CEFDC, Flags:0x0 + f32 'mCustomTime[9]' ; // Offset:0x214, Var, CRC32:0x1717DE9D, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x218, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamJob06CS14 vftable:0x1D8ED80, Size:0x160, CRC32:0x3C16D5A3 +class cShlParamJob06CS14 /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamJob08CS12Npc vftable:0x1D8B6A4, Size:0x270, CRC32:0x62C4C33E +class cShlParamJob08CS12Npc /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + s32 'objHitShlNo' ; // Offset:0x260, Var, CRC32:0x4CF52AD2, Flags:0x0 +}; + +// cShlParamJob08CS13 vftable:0x1D9592C, Size:0x320, CRC32:0x1D42FE61 +class cShlParamJob08CS13 /*: cShlParamMgcArrow, cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + bool 'isHitCheckNextShl' ; // Offset:0x260, Var, CRC32:0x1B3A8703, Flags:0x0 + bool 'isHitScrSameShl' ; // Offset:0x261, Var, CRC32:0x744DDCCE, Flags:0x0 + s32 'hitcheckShl_charge0' ; // Offset:0x264, Var, CRC32:0x6D7C54DE, Flags:0x0 + s32 'hitcheckShl_charge1' ; // Offset:0x268, Var, CRC32:0x1A7B6448, Flags:0x0 + s32 'hitcheckShl_charge2' ; // Offset:0x26C, Var, CRC32:0x837235F2, Flags:0x0 + s32 'hitcheckShl_just' ; // Offset:0x270, Var, CRC32:0x35C5BDF6, Flags:0x0 + u32 'mgcArrowhitAttr' ; // Offset:0x274, Var, CRC32:0x8B68253, Flags:0x0 + bool 'isHitScrNextShl' ; // Offset:0x278, Var, CRC32:0xA9704BDE, Flags:0x0 + s32 'hitScrShl_charge0' ; // Offset:0x27C, Var, CRC32:0xB6B69ECC, Flags:0x0 + s32 'hitScrShl_charge1' ; // Offset:0x280, Var, CRC32:0xC1B1AE5A, Flags:0x0 + s32 'hitScrShl_charge2' ; // Offset:0x284, Var, CRC32:0x58B8FFE0, Flags:0x0 + s32 'hitScrShl_just' ; // Offset:0x288, Var, CRC32:0xC96DD14F, Flags:0x0 + bool 'isUndeadShl' ; // Offset:0x28C, Var, CRC32:0xEF37FA06, Flags:0x0 + s32 'undeadShl_charge0' ; // Offset:0x290, Var, CRC32:0xDAAF31CC, Flags:0x0 + s32 'undeadShl_charge1' ; // Offset:0x294, Var, CRC32:0xADA8015A, Flags:0x0 + s32 'undeadShl_charge2' ; // Offset:0x298, Var, CRC32:0x34A150E0, Flags:0x0 + s32 'undeadShl_just' ; // Offset:0x29C, Var, CRC32:0x72BE1C45, Flags:0x0 + bool 'isCoreShl' ; // Offset:0x2A0, Var, CRC32:0x4F98701D, Flags:0x0 + s32 'coreShl_charge0' ; // Offset:0x2A4, Var, CRC32:0x9614C9BF, Flags:0x0 + s32 'coreShl_charge1' ; // Offset:0x2A8, Var, CRC32:0xE113F929, Flags:0x0 + s32 'coreShl_charge2' ; // Offset:0x2AC, Var, CRC32:0x781AA893, Flags:0x0 + s32 'coreShl_just' ; // Offset:0x2B0, Var, CRC32:0xFDC3788, Flags:0x0 + bool 'isLevelScale' ; // Offset:0x2B4, Var, CRC32:0xE341B1D7, Flags:0x0 + f32 'scale1' ; // Offset:0x2B8, Var, CRC32:0x961A1154, Flags:0x0 + f32 'scale2' ; // Offset:0x2BC, Var, CRC32:0xF1340EE, Flags:0x0 + f32 'scale3' ; // Offset:0x2C0, Var, CRC32:0x78147078, Flags:0x0 + f32 'scale4' ; // Offset:0x2C4, Var, CRC32:0xE670E5DB, Flags:0x0 + f32 'scale5' ; // Offset:0x2C8, Var, CRC32:0x9177D54D, Flags:0x0 + f32 'scale6' ; // Offset:0x2CC, Var, CRC32:0x87E84F7, Flags:0x0 + f32 'scale7' ; // Offset:0x2D0, Var, CRC32:0x7F79B461, Flags:0x0 + f32 'scale8' ; // Offset:0x2D4, Var, CRC32:0xEFC6A9F0, Flags:0x0 + f32 'scale9' ; // Offset:0x2D8, Var, CRC32:0x98C19966, Flags:0x0 + f32 'scale10' ; // Offset:0x2DC, Var, CRC32:0x4A49BF50, Flags:0x0 + bool 'isCs11' ; // Offset:0x2E0, Var, CRC32:0x9721BC83, Flags:0x0 + s32 'epvNoCs11Miss' ; // Offset:0x2E4, Var, CRC32:0x18B08068, Flags:0x0 + s32 'seNoCs11Success' ; // Offset:0x2E8, Var, CRC32:0x35F63CBC, Flags:0x0 + s32 'seNoCs11Miss' ; // Offset:0x2EC, Var, CRC32:0x3F4719F2, Flags:0x0 + bool 'isExShl' ; // Offset:0x2F0, Var, CRC32:0x484955A7, Flags:0x0 + s32 'exShl_charge0' ; // Offset:0x2F4, Var, CRC32:0x9C7AD40F, Flags:0x0 + s32 'exShl_charge1' ; // Offset:0x2F8, Var, CRC32:0xEB7DE499, Flags:0x0 + s32 'exShl_charge2' ; // Offset:0x2FC, Var, CRC32:0x7274B523, Flags:0x0 + s32 'exShl_just' ; // Offset:0x300, Var, CRC32:0x939E7A20, Flags:0x0 + s32 'checkColForLockOnTarget' ; // Offset:0x310, Var, CRC32:0xF2A2ADFD, Flags:0x0 +}; + +// cShlParamJob08Cs05Ex02Stick vftable:0x1D8F588, Size:0x170, CRC32:0x5BBDAFA7 +class cShlParamJob08Cs05Ex02Stick /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 +}; + +// cShlParamJob08Cs12Homing vftable:0x1D99214, Size:0x280, CRC32:0x6B421E7F +class cShlParamJob08Cs12Homing /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + u32 'maxHit' ; // Offset:0x260, Var, CRC32:0x6D502DE5, Flags:0x0 + s32 'objHitShlNo'[5] ; // Offset:0x264, Array, CRC32:0x4CF52AD2, Flags:0x200000 + s32 'finishShlNo' ; // Offset:0x278, Var, CRC32:0x10D2DD04, Flags:0x0 +}; + +// cShlParamJob08Cs12Pad vftable:0x1D991E0, Size:0x220, CRC32:0x3E6DFEC1 +class cShlParamJob08Cs12Pad /*: cShlParamPadCtrl, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + f32 'padCtrlDeg' ; // Offset:0x200, Var, CRC32:0x5EF8BC95, Flags:0x0 + f32 'ctrlDist' ; // Offset:0x204, Var, CRC32:0xC6BCE5A5, Flags:0x0 + s32 'objHitShlNo' ; // Offset:0x210, Var, CRC32:0x4CF52AD2, Flags:0x0 +}; + +// cShlParamJob09CS11 vftable:0x1D900E0, Size:0x260, CRC32:0x4E2CB6FD +class cShlParamJob09CS11 /*: cShlParamKeyFrameSpeed, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + s32 'type' ; // Offset:0x200, Var, CRC32:0x7321A8D6, Flags:0x0 + s32 'curve' ; // Offset:0x204, Var, CRC32:0xA866A248, Flags:0x0 + f32 'valueScale' ; // Offset:0x208, Var, CRC32:0x26B2DEBD, Flags:0x0 + class 'keyFrame' ; // Offset:0x210, Var, CRC32:0x50E447E4, Flags:0x0 +}; + +// cShlParamJob09CS11Alchem vftable:0x1D76958, Size:0x170, CRC32:0x1B465F48 +class cShlParamJob09CS11Alchem /*: cShlParamAlchemColBase, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'mFlgUseAreaEffect' ; // Offset:0x160, Var, CRC32:0xB8641A96, Flags:0x0 + u32 'mAreaEffectTime' ; // Offset:0x164, Var, CRC32:0x45996B77, Flags:0x0 + u32 'mAlchemyShlOption' ; // Offset:0x168, Var, CRC32:0xBD18F88F, Flags:0x0 + s32 'mAttackShlNo' ; // Offset:0x16C, Var, CRC32:0xC0CB6A57, Flags:0x0 +}; + +// cShlParamJob09CS11Blow vftable:0x1D90410, Size:0x160, CRC32:0x2CE6F9C4 +class cShlParamJob09CS11Blow /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 +}; + +// cShlParamJob10CS04 vftable:0x1D90C58, Size:0x210, CRC32:0x6111C2E7 +class cShlParamJob10CS04 /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + s32 'mDieShlIdx' ; // Offset:0x200, Var, CRC32:0xDF947D1C, Flags:0x0 + f32 'mDieDistance' ; // Offset:0x204, Var, CRC32:0xEF86F2F4, Flags:0x0 +}; + +// cShlParamJob10CS06 vftable:0x1D9147C, Size:0x220, CRC32:0xF1FA3CB +class cShlParamJob10CS06 /*: cShlParamCustomSpline, cShlParamSpline, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'topSpeed' ; // Offset:0x16C, Var, CRC32:0xCCDEA8DE, Flags:0x0 + bool 'isValidLimit' ; // Offset:0x170, Var, CRC32:0xDB79F9E4, Flags:0x0 + f32 'limitDist' ; // Offset:0x174, Var, CRC32:0xA5C7B71C, Flags:0x0 + f32 'limitAngle' ; // Offset:0x178, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'isUpValidLimit' ; // Offset:0x17C, Var, CRC32:0xDC633BEB, Flags:0x0 + f32 'limitUpAngle' ; // Offset:0x180, Var, CRC32:0x385C130, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x188, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x18C, Var, CRC32:0x49AE926F, Flags:0x0 + u32 'shlOptionSpline' ; // Offset:0x190, Var, CRC32:0xF6ADA2CB, Flags:0x0 + f32 'followTime' ; // Offset:0x194, Var, CRC32:0xD4B65799, Flags:0x0 + f32 'parabolaHeight' ; // Offset:0x198, Var, CRC32:0xF10B4932, Flags:0x0 + f32 'mhokan' ; // Offset:0x19C, Var, CRC32:0xA23EAB79, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1A0, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1A4, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1A8, Var, CRC32:0x5E76274A, Flags:0x0 + vector3 'offset' ; // Offset:0x1B0, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x1C0, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'mParabolaXAng' ; // Offset:0x1D0, Var, CRC32:0xCECCA895, Flags:0x0 + class 'nodeList' ; // Offset:0x1D4, Var, CRC32:0x254B9358, Flags:0x0 + f32 'mCustomTime[0]' ; // Offset:0x1F0, Var, CRC32:0xC6D565D4, Flags:0x0 + f32 'mCustomTime[1]' ; // Offset:0x1F4, Var, CRC32:0xDFCE5495, Flags:0x0 + f32 'mCustomTime[2]' ; // Offset:0x1F8, Var, CRC32:0xF4E30756, Flags:0x0 + f32 'mCustomTime[3]' ; // Offset:0x1FC, Var, CRC32:0xEDF83617, Flags:0x0 + f32 'mCustomTime[4]' ; // Offset:0x200, Var, CRC32:0xA2B9A0D0, Flags:0x0 + f32 'mCustomTime[5]' ; // Offset:0x204, Var, CRC32:0xBBA29191, Flags:0x0 + f32 'mCustomTime[6]' ; // Offset:0x208, Var, CRC32:0x908FC252, Flags:0x0 + f32 'mCustomTime[7]' ; // Offset:0x20C, Var, CRC32:0x8994F313, Flags:0x0 + f32 'mCustomTime[8]' ; // Offset:0x210, Var, CRC32:0xE0CEFDC, Flags:0x0 + f32 'mCustomTime[9]' ; // Offset:0x214, Var, CRC32:0x1717DE9D, Flags:0x0 + s32 'mMyCustomSkillId' ; // Offset:0x218, Var, CRC32:0x20EEDF3, Flags:0x0 +}; + +// cShlParamJob10CS07 vftable:0x1D91C80, Size:0x1A0, CRC32:0x7818935D +class cShlParamJob10CS07 /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mCheckShl' ; // Offset:0x160, Var, CRC32:0x46C7F56D, Flags:0x0 + s32 'mCheckShlCorePoint' ; // Offset:0x164, Var, CRC32:0xB740CDAA, Flags:0x0 + s32 'mCheckShlUndead' ; // Offset:0x168, Var, CRC32:0x1D132234, Flags:0x0 + s32 'mConstShlCondition' ; // Offset:0x16C, Var, CRC32:0xC5FA3BEF, Flags:0x0 + s32 'mConstShlExtra' ; // Offset:0x170, Var, CRC32:0xAB6B8AD0, Flags:0x0 + u32 'mCustomSkillId' ; // Offset:0x174, Var, CRC32:0x46EEAAB9, Flags:0x0 + f32 'mAddTime'[10] ; // Offset:0x178, Array, CRC32:0x227A9F97, Flags:0x200000 +}; + +// cShlParamJob11MarkUp vftable:0x1D924E0, Size:0x170, CRC32:0x62FD0792 +class cShlParamJob11MarkUp /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 +}; + +// cShlParamKeepLog vftable:0x1D92D34, Size:0x180, CRC32:0x464870E +class cShlParamKeepLog /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'mLogOptionFlag' ; // Offset:0x160, Var, CRC32:0x3779C767, Flags:0x0 + u32 'mLogNodeNumMax' ; // Offset:0x164, Var, CRC32:0x8AD03BB, Flags:0x0 + u32 'mExecuteAttrFlag' ; // Offset:0x168, Var, CRC32:0x97058A77, Flags:0x0 + f32 'mExeLogTime' ; // Offset:0x16C, Var, CRC32:0x1B227762, Flags:0x0 + f32 'mExeLogDistance' ; // Offset:0x170, Var, CRC32:0x477AF99C, Flags:0x0 + u32 'mWaitAttrFlag' ; // Offset:0x174, Var, CRC32:0x5E6315CE, Flags:0x0 + u64 'mWaitObjStatus' ; // Offset:0x178, Var, CRC32:0x771B5C69, Flags:0x0 +}; + +// cShlParamKeyFrameBase vftable:0x1D935F8, Size:0x1C0, CRC32:0x4EC5B964 +class cShlParamKeyFrameBase /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'type' ; // Offset:0x160, Var, CRC32:0x7321A8D6, Flags:0x0 + s32 'curve' ; // Offset:0x164, Var, CRC32:0xA866A248, Flags:0x0 + f32 'valueScale' ; // Offset:0x168, Var, CRC32:0x26B2DEBD, Flags:0x0 + class 'keyFrame' ; // Offset:0x170, Var, CRC32:0x50E447E4, Flags:0x0 +}; + +// cShlParamKeyFrameSpeed vftable:0x1D900AC, Size:0x260, CRC32:0x2D4094B3 +class cShlParamKeyFrameSpeed /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + s32 'type' ; // Offset:0x200, Var, CRC32:0x7321A8D6, Flags:0x0 + s32 'curve' ; // Offset:0x204, Var, CRC32:0xA866A248, Flags:0x0 + f32 'valueScale' ; // Offset:0x208, Var, CRC32:0x26B2DEBD, Flags:0x0 + class 'keyFrame' ; // Offset:0x210, Var, CRC32:0x50E447E4, Flags:0x0 +}; + +// cShlParamLaser vftable:0x1D93E10, Size:0x170, CRC32:0x7555CB3E +class cShlParamLaser /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'mLaserBaseLength' ; // Offset:0x160, Var, CRC32:0x3107AABE, Flags:0x0 + f32 'mMaxScale' ; // Offset:0x164, Var, CRC32:0x27576FFE, Flags:0x0 + s32 'mLandEffectNo' ; // Offset:0x168, Var, CRC32:0x1C3E73B0, Flags:0x0 +}; + +// cShlParamLineConnectCtrl vftable:0x1D70880, Size:0x1B0, CRC32:0x6F6C8FDD +class cShlParamLineConnectCtrl /*: cShlParamGeneOwnerJoint, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + class 'shlList' ; // Offset:0x160, Var, CRC32:0xC2C87576, Flags:0x0 + class 'mArrayConnectInfo' ; // Offset:0x180, Var, CRC32:0x37C5E83E, Flags:0x0 + s32 'mConnectEfNo' ; // Offset:0x194, Var, CRC32:0x48AC5BC, Flags:0x0 + s32 'mConnectColNo' ; // Offset:0x198, Var, CRC32:0x5AC034EC, Flags:0x0 + s32 'mConnectColShareID' ; // Offset:0x19C, Var, CRC32:0x23E8E5E4, Flags:0x0 + bool 'mFlgGeneShlPosBase' ; // Offset:0x1A0, Var, CRC32:0xF1F9AB34, Flags:0x0 +}; + +// cShlParamMeteo vftable:0x1D94D30, Size:0x1D0, CRC32:0x211E0F85 +class cShlParamMeteo /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'distWallCheck' ; // Offset:0x160, Var, CRC32:0x11675F1C, Flags:0x0 + f32 'fallFrame' ; // Offset:0x164, Var, CRC32:0xABF5BE3E, Flags:0x0 + f32 'vanishTime' ; // Offset:0x168, Var, CRC32:0xBD63E78A, Flags:0x0 + hermitecurve 'moveCurve' ; // Offset:0x16C, Var, CRC32:0x3AEAC1E3, Flags:0x0 + s32 'shlNoHitExp' ; // Offset:0x1AC, Var, CRC32:0x98F0C719, Flags:0x0 + s32 'noticeShlNo' ; // Offset:0x1B0, Var, CRC32:0x45A10BF9, Flags:0x0 + s32 'epvNoKira' ; // Offset:0x1B4, Var, CRC32:0x2E75B592, Flags:0x0 + s32 'epvNoTarget' ; // Offset:0x1B8, Var, CRC32:0x71E32C14, Flags:0x0 + s32 'seNoFall' ; // Offset:0x1BC, Var, CRC32:0x359AF109, Flags:0x0 + s32 'seNoFall' ; // Offset:0x1BC, Var, CRC32:0x359AF109, Flags:0x0 + f32 'distance' ; // Offset:0x1C0, Var, CRC32:0xE36D657E, Flags:0x0 +}; + +// cShlParamMeteoCtrl vftable:0x1D949FC, Size:0x180, CRC32:0x271FACCD +class cShlParamMeteoCtrl /*: cShlParamGenerator, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 +}; + +// cShlParamMgcArrow vftable:0x1D955E4, Size:0x310, CRC32:0x7E66F223 +class cShlParamMgcArrow /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + bool 'isHitCheckNextShl' ; // Offset:0x260, Var, CRC32:0x1B3A8703, Flags:0x0 + bool 'isHitScrSameShl' ; // Offset:0x261, Var, CRC32:0x744DDCCE, Flags:0x0 + s32 'hitcheckShl_charge0' ; // Offset:0x264, Var, CRC32:0x6D7C54DE, Flags:0x0 + s32 'hitcheckShl_charge1' ; // Offset:0x268, Var, CRC32:0x1A7B6448, Flags:0x0 + s32 'hitcheckShl_charge2' ; // Offset:0x26C, Var, CRC32:0x837235F2, Flags:0x0 + s32 'hitcheckShl_just' ; // Offset:0x270, Var, CRC32:0x35C5BDF6, Flags:0x0 + u32 'mgcArrowhitAttr' ; // Offset:0x274, Var, CRC32:0x8B68253, Flags:0x0 + bool 'isHitScrNextShl' ; // Offset:0x278, Var, CRC32:0xA9704BDE, Flags:0x0 + s32 'hitScrShl_charge0' ; // Offset:0x27C, Var, CRC32:0xB6B69ECC, Flags:0x0 + s32 'hitScrShl_charge1' ; // Offset:0x280, Var, CRC32:0xC1B1AE5A, Flags:0x0 + s32 'hitScrShl_charge2' ; // Offset:0x284, Var, CRC32:0x58B8FFE0, Flags:0x0 + s32 'hitScrShl_just' ; // Offset:0x288, Var, CRC32:0xC96DD14F, Flags:0x0 + bool 'isUndeadShl' ; // Offset:0x28C, Var, CRC32:0xEF37FA06, Flags:0x0 + s32 'undeadShl_charge0' ; // Offset:0x290, Var, CRC32:0xDAAF31CC, Flags:0x0 + s32 'undeadShl_charge1' ; // Offset:0x294, Var, CRC32:0xADA8015A, Flags:0x0 + s32 'undeadShl_charge2' ; // Offset:0x298, Var, CRC32:0x34A150E0, Flags:0x0 + s32 'undeadShl_just' ; // Offset:0x29C, Var, CRC32:0x72BE1C45, Flags:0x0 + bool 'isCoreShl' ; // Offset:0x2A0, Var, CRC32:0x4F98701D, Flags:0x0 + s32 'coreShl_charge0' ; // Offset:0x2A4, Var, CRC32:0x9614C9BF, Flags:0x0 + s32 'coreShl_charge1' ; // Offset:0x2A8, Var, CRC32:0xE113F929, Flags:0x0 + s32 'coreShl_charge2' ; // Offset:0x2AC, Var, CRC32:0x781AA893, Flags:0x0 + s32 'coreShl_just' ; // Offset:0x2B0, Var, CRC32:0xFDC3788, Flags:0x0 + bool 'isLevelScale' ; // Offset:0x2B4, Var, CRC32:0xE341B1D7, Flags:0x0 + f32 'scale1' ; // Offset:0x2B8, Var, CRC32:0x961A1154, Flags:0x0 + f32 'scale2' ; // Offset:0x2BC, Var, CRC32:0xF1340EE, Flags:0x0 + f32 'scale3' ; // Offset:0x2C0, Var, CRC32:0x78147078, Flags:0x0 + f32 'scale4' ; // Offset:0x2C4, Var, CRC32:0xE670E5DB, Flags:0x0 + f32 'scale5' ; // Offset:0x2C8, Var, CRC32:0x9177D54D, Flags:0x0 + f32 'scale6' ; // Offset:0x2CC, Var, CRC32:0x87E84F7, Flags:0x0 + f32 'scale7' ; // Offset:0x2D0, Var, CRC32:0x7F79B461, Flags:0x0 + f32 'scale8' ; // Offset:0x2D4, Var, CRC32:0xEFC6A9F0, Flags:0x0 + f32 'scale9' ; // Offset:0x2D8, Var, CRC32:0x98C19966, Flags:0x0 + f32 'scale10' ; // Offset:0x2DC, Var, CRC32:0x4A49BF50, Flags:0x0 + bool 'isCs11' ; // Offset:0x2E0, Var, CRC32:0x9721BC83, Flags:0x0 + s32 'epvNoCs11Miss' ; // Offset:0x2E4, Var, CRC32:0x18B08068, Flags:0x0 + s32 'seNoCs11Success' ; // Offset:0x2E8, Var, CRC32:0x35F63CBC, Flags:0x0 + s32 'seNoCs11Miss' ; // Offset:0x2EC, Var, CRC32:0x3F4719F2, Flags:0x0 + bool 'isExShl' ; // Offset:0x2F0, Var, CRC32:0x484955A7, Flags:0x0 + s32 'exShl_charge0' ; // Offset:0x2F4, Var, CRC32:0x9C7AD40F, Flags:0x0 + s32 'exShl_charge1' ; // Offset:0x2F8, Var, CRC32:0xEB7DE499, Flags:0x0 + s32 'exShl_charge2' ; // Offset:0x2FC, Var, CRC32:0x7274B523, Flags:0x0 + s32 'exShl_just' ; // Offset:0x300, Var, CRC32:0x939E7A20, Flags:0x0 +}; + +// cShlParamMgcArrowErosion vftable:0x1D96714, Size:0x280, CRC32:0x6B9CAA08 +class cShlParamMgcArrowErosion /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + bool 'mUpdateKill' ; // Offset:0x260, Var, CRC32:0x9EF86344, Flags:0x0 + bool 'mLandEffect' ; // Offset:0x261, Var, CRC32:0x7A3008FD, Flags:0x0 + s32 'mLandEffectNo' ; // Offset:0x264, Var, CRC32:0x1C3E73B0, Flags:0x0 + f32 'mLandEffectTimer' ; // Offset:0x268, Var, CRC32:0xE998CEEC, Flags:0x0 + bool 'mOnlyAttackLockOnTarget' ; // Offset:0x26C, Var, CRC32:0x8F8ABDC3, Flags:0x0 + bool 'mIsConstLockOnTarget' ; // Offset:0x26D, Var, CRC32:0xEA35F7DF, Flags:0x0 + f32 'mScrCheckHeight' ; // Offset:0x270, Var, CRC32:0xB9A68D16, Flags:0x0 + s32 'mLandSeNo' ; // Offset:0x274, Var, CRC32:0x9D361533, Flags:0x0 + u32 'mEffectTimesPerLandSe' ; // Offset:0x278, Var, CRC32:0x27BA4B3F, Flags:0x0 +}; + +// cShlParamMgcArrowErosionCtrl vftable:0x1D963C8, Size:0x190, CRC32:0x78230FE7 +class cShlParamMgcArrowErosionCtrl /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mShlNoShoot' ; // Offset:0x160, Var, CRC32:0xA7D5A923, Flags:0x0 + s32 'mShlNoErosionNext' ; // Offset:0x164, Var, CRC32:0x30995A4F, Flags:0x0 + s32 'mShlNoErosionNextSameTarget' ; // Offset:0x168, Var, CRC32:0x6B3B68A0, Flags:0x0 + f32 'mSearchDistance' ; // Offset:0x16C, Var, CRC32:0x96BE3CD8, Flags:0x0 + u32 'mErosionMaxCountForSameTarget' ; // Offset:0x170, Var, CRC32:0xB5D0235, Flags:0x0 + f32 'mSameTargetErosionWaitTimer' ; // Offset:0x174, Var, CRC32:0xFE843572, Flags:0x0 + f32 'mBeforeErosionShlTime' ; // Offset:0x178, Var, CRC32:0xA7DB28A6, Flags:0x0 + f32 'mBeforeErosionShlTimeArrow' ; // Offset:0x17C, Var, CRC32:0x25AF2B3F, Flags:0x0 + f32 'mAfterErosionShlTime' ; // Offset:0x180, Var, CRC32:0xED1B10DF, Flags:0x0 + u32 'mErosionMaxCount' ; // Offset:0x184, Var, CRC32:0xCEA3BBC9, Flags:0x0 +}; + +// cShlParamMultiLock vftable:0x1D81A88, Size:0x230, CRC32:0x4DF281A5 +class cShlParamMultiLock /*: cShlParamGenerator, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + bool 'isOwnerScaleOffset' ; // Offset:0x160, Var, CRC32:0x301AB443, Flags:0x0 + class 'shlList' ; // Offset:0x164, Var, CRC32:0xC2C87576, Flags:0x0 + u32 'generatorOption' ; // Offset:0x178, Var, CRC32:0x16795BC6, Flags:0x0 + bool 'VF̌̌vZȂ' ; // Offset:0x180, Var, CRC32:0xBEAC7477, Flags:0x0 + u32 'bNIő吔' ; // Offset:0x184, Var, CRC32:0x5988568, Flags:0x0 + u32 'vC[Z_' ; // Offset:0x188, Var, CRC32:0x890B513A, Flags:0x0 + u32 '|[Z_' ; // Offset:0x18C, Var, CRC32:0x91FE6EE4, Flags:0x0 + u32 'mobZ_' ; // Offset:0x190, Var, CRC32:0xE402A644, Flags:0x0 + class ''[4] ; // Offset:0x194, Array, CRC32:0x6D605123, Flags:0x200000 + class 'px'[4] ; // Offset:0x1C4, Array, CRC32:0xC1C3E3B, Flags:0x200000 + class ']l'[4] ; // Offset:0x1F4, Array, CRC32:0x9A3557A1, Flags:0x200000 + u32 'mMultyLockOption' ; // Offset:0x224, Var, CRC32:0x717DA84C, Flags:0x0 +}; + +// cShlParamMultiLock::cRangePointTbl vftable:0x1D81A70, Size:0xC, CRC32:0xAABACFA +class cShlParamMultiLock::cRangePointTbl /*: MtObject*/ { + f32 '͈' ; // Offset:0x4, Var, CRC32:0x6361FF4D, Flags:0x0 + u32 '_' ; // Offset:0x8, Var, CRC32:0x908DDA63, Flags:0x0 +}; + +// cShlParamMultiLock::cShootCtrlParamMultiLock vftable:0x1D81A54, Size:0x60, CRC32:0x7F8C4DCF +class cShlParamMultiLock::cShootCtrlParamMultiLock /*: cShlParamGenerator::cShootCtrlParam, MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 + vector3 'offset' ; // Offset:0x10, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x20, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'degX' ; // Offset:0x30, Var, CRC32:0x6BEF6DDA, Flags:0x0 + f32 'degY' ; // Offset:0x34, Var, CRC32:0x1CE85D4C, Flags:0x0 + f32 'degRndX' ; // Offset:0x38, Var, CRC32:0x292D2BA5, Flags:0x0 + f32 'degRndY' ; // Offset:0x3C, Var, CRC32:0x5E2A1B33, Flags:0x0 + s32 'joint' ; // Offset:0x40, Var, CRC32:0x620A83F8, Flags:0x0 + u8 'O[v' ; // Offset:0x50, Var, CRC32:0x37FC4F44, Flags:0x0 + s32 'Zbgʒu' ; // Offset:0x54, Var, CRC32:0x535D1CD4, Flags:0x0 +}; + +// cShlParamNotifyCatch vftable:0x1D97434, Size:0x2F0, CRC32:0x6035C61 +class cShlParamNotifyCatch /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + u32 'mNotifyAttrFlag' ; // Offset:0x204, Var, CRC32:0x7A224E9, Flags:0x0 + s32 'mShlReqInfo.mShotGroup' ; // Offset:0x2A0, Var, CRC32:0x4DA0C3CA, Flags:0x0 + s32 'mShlReqInfo.mShotIndex' ; // Offset:0x2A4, Var, CRC32:0xA013E00E, Flags:0x0 + f32 'mShlReqInfo.mShotTimer' ; // Offset:0x2A8, Var, CRC32:0x4AB05915, Flags:0x0 +}; + +// cShlParamOmCannon vftable:0x1D97FE4, Size:0x200, CRC32:0x35C69AD1 +class cShlParamOmCannon /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 +}; + +// cShlParamOmPlCannon vftable:0x1D98324, Size:0x200, CRC32:0x52ABB1A1 +class cShlParamOmPlCannon /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 +}; + +// cShlParamPadCtrl vftable:0x1D991AC, Size:0x210, CRC32:0x6714726F +class cShlParamPadCtrl /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + f32 'padCtrlDeg' ; // Offset:0x200, Var, CRC32:0x5EF8BC95, Flags:0x0 + f32 'ctrlDist' ; // Offset:0x204, Var, CRC32:0xC6BCE5A5, Flags:0x0 +}; + +// cShlParamPendularMovementLaser vftable:0x1D94140, Size:0x180, CRC32:0x29E14FE2 +class cShlParamPendularMovementLaser /*: cShlParamLaser, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'mLaserBaseLength' ; // Offset:0x160, Var, CRC32:0x3107AABE, Flags:0x0 + f32 'mMaxScale' ; // Offset:0x164, Var, CRC32:0x27576FFE, Flags:0x0 + s32 'mLandEffectNo' ; // Offset:0x168, Var, CRC32:0x1C3E73B0, Flags:0x0 + f32 'mRotationMaxAngle' ; // Offset:0x170, Var, CRC32:0xE9703B8E, Flags:0x0 + f32 'mRotationSpeedMax' ; // Offset:0x174, Var, CRC32:0x462E26AA, Flags:0x0 + f32 'mRotationAccessFrame' ; // Offset:0x178, Var, CRC32:0xA6359EB7, Flags:0x0 + bool 'mRotationReverse' ; // Offset:0x17C, Var, CRC32:0xCBB7A6BF, Flags:0x0 +}; + +// cShlParamPhoenixDragonBase vftable:0x1D99AB4, Size:0x290, CRC32:0x1EADD2C8 +class cShlParamPhoenixDragonBase /*: cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + s32 'mFreeEfcNo1' ; // Offset:0x200, Var, CRC32:0xAA875242, Flags:0x0 + s32 'mFreeEfcNo2' ; // Offset:0x204, Var, CRC32:0x338E03F8, Flags:0x0 + f32 'mFreeEfcCreateTimer1' ; // Offset:0x208, Var, CRC32:0x2B559C97, Flags:0x0 + f32 'mFreeEfcCreateTimer2' ; // Offset:0x20C, Var, CRC32:0xB25CCD2D, Flags:0x0 + vector3 'mFreeEfcOfsetVec1' ; // Offset:0x210, Var, CRC32:0x949DB3CD, Flags:0x0 + vector3 'mFreeEfcOfsetVec2' ; // Offset:0x220, Var, CRC32:0xD94E277, Flags:0x0 + f32 'mAngHoming' ; // Offset:0x230, Var, CRC32:0x247ECAD1, Flags:0x0 + f32 'mAngHomingStartFrame' ; // Offset:0x234, Var, CRC32:0xA560963A, Flags:0x0 + f32 'mAngHomingEndFrame' ; // Offset:0x238, Var, CRC32:0x3C39019B, Flags:0x0 + f32 'mAngHomingLimit' ; // Offset:0x23C, Var, CRC32:0x7A97CC0E, Flags:0x0 + bool 'mFlgUseEnlargement' ; // Offset:0x240, Var, CRC32:0xFF78DFDE, Flags:0x0 + s32 'mEnlargeColIdx'[3] ; // Offset:0x244, Array, CRC32:0xEE69FE1, Flags:0x200000 + f32 'mEnlargeInitRadius'[3] ; // Offset:0x250, Array, CRC32:0x21C8C20C, Flags:0x200000 + f32 'mEnlargeSpeed'[3] ; // Offset:0x25C, Array, CRC32:0x636D531A, Flags:0x200000 + f32 'mEnlargeHitLimitMaxY' ; // Offset:0x268, Var, CRC32:0xC87D246A, Flags:0x0 + f32 'mEnlargeHitLimitMinY' ; // Offset:0x26C, Var, CRC32:0xDAF6C005, Flags:0x0 + f32 'mEnlargeAddRadiusNotice' ; // Offset:0x270, Var, CRC32:0x3AF69F85, Flags:0x0 + f32 'mEnlargeAddRadiusNotice2' ; // Offset:0x274, Var, CRC32:0x553FD0B0, Flags:0x0 + f32 'mHomingTargetOffsetY' ; // Offset:0x278, Var, CRC32:0x3AEFEA76, Flags:0x0 + u32 'mShlOrignalFlag' ; // Offset:0x27C, Var, CRC32:0x3D5DC169, Flags:0x0 + s32 'mShotShlIdWhenEF2Begin' ; // Offset:0x280, Var, CRC32:0x7D824D11, Flags:0x0 + s32 'mSeEnlargementSEStartNo' ; // Offset:0x284, Var, CRC32:0xEB31DDCC, Flags:0x0 + s32 'mSeEnlargementSEEndNo' ; // Offset:0x288, Var, CRC32:0x71ACD0C9, Flags:0x0 +}; + +// cShlParamPhoenixDragonMissile vftable:0x1D99DE0, Size:0x220, CRC32:0x582A04BA +class cShlParamPhoenixDragonMissile /*: cShlParamEvilEyeDamageSyncCtrl, cShlParamDamageSyncCtrl, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'mShlNum' ; // Offset:0x160, Var, CRC32:0xC1153356, Flags:0x0 + f32 'mIntervalTime' ; // Offset:0x164, Var, CRC32:0xEF2F0F23, Flags:0x0 + u32 'mSyncOption' ; // Offset:0x168, Var, CRC32:0x92CC9D3D, Flags:0x0 + s32 'mShlNo' ; // Offset:0x16C, Var, CRC32:0x894C0429, Flags:0x0 + s32 'mShlNoBreak' ; // Offset:0x170, Var, CRC32:0xDBED0547, Flags:0x0 + f32 'mFirstIntervalTime' ; // Offset:0x174, Var, CRC32:0x862E8163, Flags:0x0 + s32 'mPushCollisionNo' ; // Offset:0x178, Var, CRC32:0x2D6ED3DD, Flags:0x0 + u32 'mPushGroup' ; // Offset:0x17C, Var, CRC32:0xFD8A1D96, Flags:0x0 + f32 'mExtendTimerSlave' ; // Offset:0x180, Var, CRC32:0x9C96B419, Flags:0x0 + s32 'mHpAdjWithPawn' ; // Offset:0x184, Var, CRC32:0xE0705E0E, Flags:0x0 + f32 'mMoveStartTime' ; // Offset:0x190, Var, CRC32:0x7E038B48, Flags:0x0 + f32 'mMoveSpeed' ; // Offset:0x194, Var, CRC32:0xC13E1319, Flags:0x0 + f32 'mMoveSpeedAccel' ; // Offset:0x198, Var, CRC32:0x8957CDEB, Flags:0x0 + f32 'mMoveSpeedMax' ; // Offset:0x19C, Var, CRC32:0xE903797C, Flags:0x0 + f32 'mMoveSpeedLongRangeJob' ; // Offset:0x1A0, Var, CRC32:0x6D489EA0, Flags:0x0 + f32 'mMoveSpeedLongRangeAccel' ; // Offset:0x1A4, Var, CRC32:0xD9FA39ED, Flags:0x0 + f32 'mMoveSpeedLongRangeMax' ; // Offset:0x1A8, Var, CRC32:0xBE65CD1, Flags:0x0 + f32 'mMoveSpeedPawn' ; // Offset:0x1AC, Var, CRC32:0xD6BBE1BC, Flags:0x0 + f32 'mMoveSpeedPawnAccel' ; // Offset:0x1B0, Var, CRC32:0xFF825EDC, Flags:0x0 + f32 'mMoveSpeedPawnMax' ; // Offset:0x1B4, Var, CRC32:0x8DE81270, Flags:0x0 + f32 'mPosHomingRad' ; // Offset:0x1B8, Var, CRC32:0x2B946664, Flags:0x0 + f32 'mPosHomingOffsetY' ; // Offset:0x1BC, Var, CRC32:0x4E31AC55, Flags:0x0 + f32 'mAngHomingLimitAng' ; // Offset:0x1C0, Var, CRC32:0x5A4AE6F0, Flags:0x0 + f32 'mAngHomingAngX' ; // Offset:0x1C4, Var, CRC32:0xA1828017, Flags:0x0 + f32 'mAngHomingAngXRet' ; // Offset:0x1C8, Var, CRC32:0x1861F0A, Flags:0x0 + f32 'mAngHomingAngY' ; // Offset:0x1CC, Var, CRC32:0xD685B081, Flags:0x0 + s32 'mAddEffectNo' ; // Offset:0x1D0, Var, CRC32:0x336AC1F4, Flags:0x0 + f32 'mOffsetLength' ; // Offset:0x1D4, Var, CRC32:0x612A9C40, Flags:0x0 + f32 'mOffsetLengthLand' ; // Offset:0x1D8, Var, CRC32:0x13B521B5, Flags:0x0 + f32 'mDecelerationRange' ; // Offset:0x1DC, Var, CRC32:0xBFB3EE83, Flags:0x0 + f32 'mDecelerationSpeed' ; // Offset:0x1E0, Var, CRC32:0x23124A3C, Flags:0x0 + f32 'mDecelerationSpeedMaxRate' ; // Offset:0x1E4, Var, CRC32:0x18EB0E4D, Flags:0x0 + f32 'mLandSeInvalidTime' ; // Offset:0x1E8, Var, CRC32:0xF1107383, Flags:0x0 + s32 'mLandSeNo' ; // Offset:0x1EC, Var, CRC32:0x9D361533, Flags:0x0 + s32 'mOrgNoticeCollNo' ; // Offset:0x1F0, Var, CRC32:0x462F448E, Flags:0x0 + s32 'mEfColIndex' ; // Offset:0x200, Var, CRC32:0x7A9828DD, Flags:0x0 + s32 'mSeLandIndex' ; // Offset:0x204, Var, CRC32:0xFDEB5BD, Flags:0x0 + f32 'mSeLandIntervalFrame' ; // Offset:0x208, Var, CRC32:0x24D1F319, Flags:0x0 + f32 'mSeLandAreaRadius' ; // Offset:0x20C, Var, CRC32:0xC9D1E687, Flags:0x0 + f32 'mSeLandHeight' ; // Offset:0x210, Var, CRC32:0xE51758F7, Flags:0x0 + f32 'mStopTimer' ; // Offset:0x214, Var, CRC32:0x4046CD5E, Flags:0x0 +}; + +// cShlParamReflectWall vftable:0x1D9A774, Size:0x280, CRC32:0x30E7BFF1 +class cShlParamReflectWall /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + bool 'isReflectWall' ; // Offset:0x260, Var, CRC32:0x5C271BA9, Flags:0x0 + f32 'reflectCheckRadius' ; // Offset:0x264, Var, CRC32:0xE3AA1BC9, Flags:0x0 + u32 'reflectCnt' ; // Offset:0x268, Var, CRC32:0x1E93ED40, Flags:0x0 + s32 'shlNoReflectWall' ; // Offset:0x26C, Var, CRC32:0xA5C66B25, Flags:0x0 + s32 'epvNoReflectWall' ; // Offset:0x270, Var, CRC32:0x2F1E8960, Flags:0x0 +}; + +// cShlParamRenmadanCtrl vftable:0x1D9B34C, Size:0x190, CRC32:0x782A8FF8 +class cShlParamRenmadanCtrl /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'renmaMainShotNo' ; // Offset:0x160, Var, CRC32:0xC9596E00, Flags:0x0 + s32 'renmaHitHomingNo' ; // Offset:0x164, Var, CRC32:0xE93B73A4, Flags:0x0 + s32 'renmaNoHitShlNo' ; // Offset:0x168, Var, CRC32:0x596D24BF, Flags:0x0 + f32 'renmaSubWaitTime' ; // Offset:0x16C, Var, CRC32:0xBB9588F9, Flags:0x0 + f32 'renmaSubInterval' ; // Offset:0x170, Var, CRC32:0x816E9779, Flags:0x0 + class 'renmaSubList' ; // Offset:0x174, Var, CRC32:0x7C052DDB, Flags:0x0 +}; + +// cShlParamRenmadanCtrl::cRenmaSubCtrlParam vftable:0x1D9B334, Size:0x30, CRC32:0x1C5F9931 +class cShlParamRenmadanCtrl::cRenmaSubCtrlParam /*: MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 + vector3 'offset' ; // Offset:0x10, Var, CRC32:0xA6F5352F, Flags:0x0 + f32 'degX' ; // Offset:0x20, Var, CRC32:0x6BEF6DDA, Flags:0x0 + f32 'degY' ; // Offset:0x24, Var, CRC32:0x1CE85D4C, Flags:0x0 +}; + +// cShlParamRenmadanMain vftable:0x1D9B2F8, Size:0x260, CRC32:0x452033E6 +class cShlParamRenmadanMain /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 +}; + +// cShlParamShiftCircleBit vftable:0x1D9BC58, Size:0x180, CRC32:0x33021256 +class cShlParamShiftCircleBit /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'mShiftCircleBitDistance' ; // Offset:0x160, Var, CRC32:0xF0B392CB, Flags:0x0 + f32 'mShiftCircleBitPos' ; // Offset:0x164, Var, CRC32:0x358301CC, Flags:0x0 + f32 'mTransparencyDistance' ; // Offset:0x168, Var, CRC32:0xB73F7B38, Flags:0x0 + f32 'mTransparencyDistanceMax' ; // Offset:0x16C, Var, CRC32:0xAAF84E4, Flags:0x0 + f32 'mTransparencyMax' ; // Offset:0x170, Var, CRC32:0x73E6D1F8, Flags:0x0 + f32 'mTransparencyMin' ; // Offset:0x174, Var, CRC32:0x4FEBEEA1, Flags:0x0 +}; + +// cShlParamShortCharge vftable:0x1D9C4E8, Size:0x1A0, CRC32:0x73184D37 +class cShlParamShortCharge /*: cShlParamFollowMove, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'jointNo' ; // Offset:0x160, Var, CRC32:0x1B23C567, Flags:0x0 + vector3 'offset' ; // Offset:0x170, Var, CRC32:0xA6F5352F, Flags:0x0 + bool 'isNoConstOwner' ; // Offset:0x180, Var, CRC32:0xA7091B50, Flags:0x0 + s32 'mConstOwnerType' ; // Offset:0x184, Var, CRC32:0x71F2D11A, Flags:0x0 + s32 'followLimitId' ; // Offset:0x188, Var, CRC32:0x341A211, Flags:0x0 + f32 'MgcChargeRate' ; // Offset:0x190, Var, CRC32:0x70EF4BEA, Flags:0x0 + f32 'PysChargeRate' ; // Offset:0x194, Var, CRC32:0xC81B7767, Flags:0x0 +}; + +// cShlParamShortChargeRe vftable:0x1D9C818, Size:0x170, CRC32:0x2D3F4400 +class cShlParamShortChargeRe /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'MgcChargeRate' ; // Offset:0x160, Var, CRC32:0x70EF4BEA, Flags:0x0 + f32 'PysChargeRate' ; // Offset:0x164, Var, CRC32:0xC81B7767, Flags:0x0 +}; + +// cShlParamSpeed vftable:0x1CDBDEC, Size:0x200, CRC32:0x133F9104 +class cShlParamSpeed /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 +}; + +// cShlParamSpeedWarOrc vftable:0x1D9E9EC, Size:0x200, CRC32:0x66714D26 +class cShlParamSpeedWarOrc /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + f32 'offsetY' ; // Offset:0x1F4, Var, CRC32:0xB9C0213C, Flags:0x0 +}; + +// cShlParamSpline vftable:0x1D7EB24, Size:0x1F0, CRC32:0x34DB303B +class cShlParamSpline /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'topSpeed' ; // Offset:0x16C, Var, CRC32:0xCCDEA8DE, Flags:0x0 + bool 'isValidLimit' ; // Offset:0x170, Var, CRC32:0xDB79F9E4, Flags:0x0 + f32 'limitDist' ; // Offset:0x174, Var, CRC32:0xA5C7B71C, Flags:0x0 + f32 'limitAngle' ; // Offset:0x178, Var, CRC32:0xE57F2A13, Flags:0x0 + bool 'isUpValidLimit' ; // Offset:0x17C, Var, CRC32:0xDC633BEB, Flags:0x0 + f32 'limitUpAngle' ; // Offset:0x180, Var, CRC32:0x385C130, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x188, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x18C, Var, CRC32:0x49AE926F, Flags:0x0 + u32 'shlOptionSpline' ; // Offset:0x190, Var, CRC32:0xF6ADA2CB, Flags:0x0 + f32 'followTime' ; // Offset:0x194, Var, CRC32:0xD4B65799, Flags:0x0 + f32 'parabolaHeight' ; // Offset:0x198, Var, CRC32:0xF10B4932, Flags:0x0 + f32 'mhokan' ; // Offset:0x19C, Var, CRC32:0xA23EAB79, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1A0, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1A4, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1A8, Var, CRC32:0x5E76274A, Flags:0x0 + vector3 'offset' ; // Offset:0x1B0, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetRnd' ; // Offset:0x1C0, Var, CRC32:0x826EDCE8, Flags:0x0 + f32 'mParabolaXAng' ; // Offset:0x1D0, Var, CRC32:0xCECCA895, Flags:0x0 + class 'nodeList' ; // Offset:0x1D4, Var, CRC32:0x254B9358, Flags:0x0 +}; + +// cShlParamSpline::cSplineShlNodeParam vftable:0x1D7EB10, Size:0x20, CRC32:0x2D5DDDF8 +class cShlParamSpline::cSplineShlNodeParam /*: MtObject*/ { + vector3 'mOffset' ; // Offset:0x10, Var, CRC32:0x679663E1, Flags:0x0 +}; + +// cShlParamSpread vftable:0x1D9FA90, Size:0x1B0, CRC32:0x7D98C5AA +class cShlParamSpread /*: cShlParamDamageSyncCtrl, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'mShlNum' ; // Offset:0x160, Var, CRC32:0xC1153356, Flags:0x0 + f32 'mIntervalTime' ; // Offset:0x164, Var, CRC32:0xEF2F0F23, Flags:0x0 + u32 'mSyncOption' ; // Offset:0x168, Var, CRC32:0x92CC9D3D, Flags:0x0 + s32 'mShlNo' ; // Offset:0x16C, Var, CRC32:0x894C0429, Flags:0x0 + s32 'mShlNoBreak' ; // Offset:0x170, Var, CRC32:0xDBED0547, Flags:0x0 + f32 'mFirstIntervalTime' ; // Offset:0x174, Var, CRC32:0x862E8163, Flags:0x0 + s32 'mPushCollisionNo' ; // Offset:0x178, Var, CRC32:0x2D6ED3DD, Flags:0x0 + u32 'mPushGroup' ; // Offset:0x17C, Var, CRC32:0xFD8A1D96, Flags:0x0 + f32 'mExtendTimerSlave' ; // Offset:0x180, Var, CRC32:0x9C96B419, Flags:0x0 + s32 'mHpAdjWithPawn' ; // Offset:0x184, Var, CRC32:0xE0705E0E, Flags:0x0 + f32 'radius' ; // Offset:0x190, Var, CRC32:0xC48391A5, Flags:0x0 + f32 'startWait' ; // Offset:0x194, Var, CRC32:0x6323D578, Flags:0x0 + f32 'rate' ; // Offset:0x198, Var, CRC32:0x2013C0C6, Flags:0x0 + f32 'rateMax' ; // Offset:0x19C, Var, CRC32:0x801CC139, Flags:0x0 + f32 'rateAdd' ; // Offset:0x1A0, Var, CRC32:0xE0709057, Flags:0x0 + u32 'etO' ; // Offset:0x1A4, Var, CRC32:0xACD314BF, Flags:0x0 +}; + +// cShlParamStateSurveillance vftable:0x1DA0318, Size:0x190, CRC32:0x2B862F12 +class cShlParamStateSurveillance /*: cShlParamStick, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 + class 'mArrayInfo' ; // Offset:0x170, Var, CRC32:0x199247D6, Flags:0x0 +}; + +// cShlParamStick vftable:0x1D72568, Size:0x170, CRC32:0x53A24520 +class cShlParamStick /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickOption' ; // Offset:0x160, Var, CRC32:0xC7E7739E, Flags:0x0 +}; + +// cShlParamStickCtrl vftable:0x1DA0E9C, Size:0x170, CRC32:0x56DCBC48 +class cShlParamStickCtrl /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickShlNo' ; // Offset:0x160, Var, CRC32:0xC8966F4B, Flags:0x0 + s32 'noConstShlNo' ; // Offset:0x164, Var, CRC32:0x8B7B67B7, Flags:0x0 + bool 'isControl' ; // Offset:0x168, Var, CRC32:0x74E38074, Flags:0x0 + bool 'isInheritStickInfo' ; // Offset:0x169, Var, CRC32:0xBCE2B1E, Flags:0x0 + bool 'isCallNotHitEndShl' ; // Offset:0x16A, Var, CRC32:0x630C778D, Flags:0x0 +}; + +// cShlParamStickCtrl2 vftable:0x1DA0ED0, Size:0x180, CRC32:0x3006449E +class cShlParamStickCtrl2 /*: cShlParamStickCtrl, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + u32 'stickShlNo' ; // Offset:0x160, Var, CRC32:0xC8966F4B, Flags:0x0 + s32 'noConstShlNo' ; // Offset:0x164, Var, CRC32:0x8B7B67B7, Flags:0x0 + bool 'isControl' ; // Offset:0x168, Var, CRC32:0x74E38074, Flags:0x0 + bool 'isInheritStickInfo' ; // Offset:0x169, Var, CRC32:0xBCE2B1E, Flags:0x0 + bool 'isCallNotHitEndShl' ; // Offset:0x16A, Var, CRC32:0x630C778D, Flags:0x0 + u32 'stickShlNo2' ; // Offset:0x170, Var, CRC32:0x29115FF7, Flags:0x0 +}; + +// cShlParamTarasukuLight vftable:0x1DA1794, Size:0x280, CRC32:0x5821FDFC +class cShlParamTarasukuLight /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + f32 'mOffsetY' ; // Offset:0x260, Var, CRC32:0xC5DDADDD, Flags:0x0 + f32 'mGroundLength' ; // Offset:0x264, Var, CRC32:0xCCB28F2F, Flags:0x0 + s32 'mAddColIndex'[3] ; // Offset:0x268, Array, CRC32:0xDED86FC0, Flags:0x200000 + f32 'mAddColIndexTime'[3] ; // Offset:0x274, Array, CRC32:0xF3AE3AB8, Flags:0x200000 +}; + +// cShlParamWraith vftable:0x1DA268C, Size:0x170, CRC32:0x697C7FF6 +class cShlParamWraith /*: cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + s32 'mBloodShlNo' ; // Offset:0x160, Var, CRC32:0xBB6BB5A7, Flags:0x0 +}; + +// cShlParamWraithBlood vftable:0x1DA26C0, Size:0x270, CRC32:0x250E494B +class cShlParamWraithBlood /*: cShlParamHoming, cShlParamSpeed, cShlParamBase, MtObject*/ { + s32 'axis' ; // Offset:0x4, Var, CRC32:0x7AF07905, Flags:0x0 + s32 'shlSetType' ; // Offset:0x8, Var, CRC32:0x2A0A339D, Flags:0x0 + f32 'groundCkHeight' ; // Offset:0xC, Var, CRC32:0x6B6E1F36, Flags:0x0 + f32 'groundOfs' ; // Offset:0x10, Var, CRC32:0xFABBBE8D, Flags:0x0 + vector3 'rotSpd' ; // Offset:0x20, Var, CRC32:0xFCF2699F, Flags:0x0 + bool 'isNoUseScale' ; // Offset:0x30, Var, CRC32:0x266276FD, Flags:0x0 + f32 'scale' ; // Offset:0x34, Var, CRC32:0x13B9DA7B, Flags:0x0 + f32 'initWaitFrame' ; // Offset:0x38, Var, CRC32:0x5A41752D, Flags:0x0 + s32 'camResType' ; // Offset:0x3C, Var, CRC32:0x79FAD314, Flags:0x0 + s32 'cameraNo' ; // Offset:0x40, Var, CRC32:0x3714F364, Flags:0x0 + s32 'limitID' ; // Offset:0x44, Var, CRC32:0x2500E2BE, Flags:0x0 + s32 'shlID' ; // Offset:0x48, Var, CRC32:0x68FA0E90, Flags:0x0 + u32 'shlOption' ; // Offset:0x4C, Var, CRC32:0x73282DFB, Flags:0x0 + u32 'shlAbilityOption' ; // Offset:0x50, Var, CRC32:0xC7874B93, Flags:0x0 + u32 'shlDeleteBit' ; // Offset:0x54, Var, CRC32:0x698BC0E0, Flags:0x0 + s32 'noDamageShlID' ; // Offset:0x58, Var, CRC32:0x314F9AEB, Flags:0x0 + s32 'noHitShlID' ; // Offset:0x5C, Var, CRC32:0xB4825BF0, Flags:0x0 + bool 'isTimeDie' ; // Offset:0x60, Var, CRC32:0xA0A60D03, Flags:0x0 + f32 'dieFrame' ; // Offset:0x64, Var, CRC32:0x3A70FDDC, Flags:0x0 + s32 'shlNoDie' ; // Offset:0x68, Var, CRC32:0x59F1A1E, Flags:0x0 + f32 'findGroundHeight' ; // Offset:0x6C, Var, CRC32:0x45029FEB, Flags:0x0 + f32 'dieFramePutTypeEx' ; // Offset:0x70, Var, CRC32:0xC43F4EAA, Flags:0x0 + bool 'isBreak' ; // Offset:0x74, Var, CRC32:0xFA94DE1B, Flags:0x0 + s32 'shlNoBreak' ; // Offset:0x78, Var, CRC32:0x87FD0432, Flags:0x0 + s32 'dmgShlNo' ; // Offset:0x7C, Var, CRC32:0x42F7DAE1, Flags:0x0 + f32 'dmgShlInterval' ; // Offset:0x80, Var, CRC32:0xB2896648, Flags:0x0 + u32 'damageAttr' ; // Offset:0x84, Var, CRC32:0x2865C0B6, Flags:0x0 + bool 'isUseHitGroup' ; // Offset:0x88, Var, CRC32:0x369CB2BC, Flags:0x0 + u32 'hitGroup' ; // Offset:0x8C, Var, CRC32:0x7D6D41A5, Flags:0x0 + bool 'isAtkFlgKibakuNoHit' ; // Offset:0x90, Var, CRC32:0xF21A14BF, Flags:0x0 + bool 'isShotWallCheck' ; // Offset:0x91, Var, CRC32:0x2EC12F7F, Flags:0x0 + s32 'shotWallJnt' ; // Offset:0x94, Var, CRC32:0x43BBCD51, Flags:0x0 + f32 'changeActToDieFrame' ; // Offset:0x98, Var, CRC32:0x3AA40079, Flags:0x0 + s32 'seq_0' ; // Offset:0x9C, Var, CRC32:0xC59EE69C, Flags:0x0 + s32 'at_0' ; // Offset:0xA0, Var, CRC32:0x1523013E, Flags:0x0 + s32 'shared_uid_0' ; // Offset:0xA4, Var, CRC32:0xE48B2002, Flags:0x0 + f32 'colTimer_0' ; // Offset:0xA8, Var, CRC32:0xFB8F3989, Flags:0x0 + s32 'seq_1' ; // Offset:0xAC, Var, CRC32:0xB299D60A, Flags:0x0 + s32 'at_1' ; // Offset:0xB0, Var, CRC32:0x622431A8, Flags:0x0 + s32 'shared_uid_1' ; // Offset:0xB4, Var, CRC32:0x938C1094, Flags:0x0 + f32 'colTimer_1' ; // Offset:0xB8, Var, CRC32:0x8C88091F, Flags:0x0 + s32 'seq_2' ; // Offset:0xBC, Var, CRC32:0x2B9087B0, Flags:0x0 + s32 'at_2' ; // Offset:0xC0, Var, CRC32:0xFB2D6012, Flags:0x0 + s32 'shared_uid_2' ; // Offset:0xC4, Var, CRC32:0xA85412E, Flags:0x0 + s32 'noticeType' ; // Offset:0xC8, Var, CRC32:0xB4AFD9A1, Flags:0x0 + f32 'noticeTime' ; // Offset:0xCC, Var, CRC32:0x57E516CD, Flags:0x0 + s32 'maxHitCount' ; // Offset:0xD0, Var, CRC32:0x8CB9986D, Flags:0x0 + bool 'isMaxHitDie' ; // Offset:0xD4, Var, CRC32:0x2384C8DF, Flags:0x0 + s32 'colCustomId' ; // Offset:0xD8, Var, CRC32:0x177D7EAE, Flags:0x10000 + u8 'criticalBit' ; // Offset:0xDC, Var, CRC32:0xA28D1DFB, Flags:0x0 + s32 'epvResType' ; // Offset:0xE0, Var, CRC32:0xEE8ED81C, Flags:0x0 + s32 'epvIndex' ; // Offset:0xE4, Var, CRC32:0xB4550FA6, Flags:0x0 + s32 'epvNoShot' ; // Offset:0xE8, Var, CRC32:0x28AB2822, Flags:0x0 + s32 'epvNoShl' ; // Offset:0xEC, Var, CRC32:0x3099EDF6, Flags:0x0 + s32 'epvNoHit' ; // Offset:0xF0, Var, CRC32:0x2A9D0870, Flags:0x0 + s32 'epvNoFinish' ; // Offset:0xF4, Var, CRC32:0x1745E8F0, Flags:0x0 + s32 'epvNoCheckIn' ; // Offset:0xF8, Var, CRC32:0x80331F7, Flags:0x0 + f32 'epvCheckInterval' ; // Offset:0xFC, Var, CRC32:0x2A43E973, Flags:0x0 + s32 'hitMarkType' ; // Offset:0x100, Var, CRC32:0xC42BD9FD, Flags:0x0 + u32 'efOption' ; // Offset:0x104, Var, CRC32:0x65853B3, Flags:0x0 + s32 'padVib' ; // Offset:0x108, Var, CRC32:0x2ABBEFAC, Flags:0x0 + s32 'padVibHit' ; // Offset:0x10C, Var, CRC32:0xC8E998BA, Flags:0x0 + s32 'padVibEnd' ; // Offset:0x110, Var, CRC32:0x92C78D4A, Flags:0x0 + u32 'padVibOption' ; // Offset:0x114, Var, CRC32:0xD71B2F13, Flags:0x0 + s32 'seResType' ; // Offset:0x118, Var, CRC32:0x177A61FD, Flags:0x0 + s32 'seHitResType' ; // Offset:0x11C, Var, CRC32:0xFC63644C, Flags:0x0 + s32 'seNoShot' ; // Offset:0x120, Var, CRC32:0x65CDA6BE, Flags:0x0 + s32 'seNoHit' ; // Offset:0x124, Var, CRC32:0xFE72CC10, Flags:0x0 + s32 'seNoLoop' ; // Offset:0x128, Var, CRC32:0x6F9533EB, Flags:0x0 + s32 'seNoLoopStop' ; // Offset:0x12C, Var, CRC32:0xCE48F9F2, Flags:0x0 + s32 'seLoopJoint' ; // Offset:0x130, Var, CRC32:0x19D16202, Flags:0x0 + s32 'seNoFinish' ; // Offset:0x134, Var, CRC32:0xC0B1CEA7, Flags:0x0 + s32 'seNoCheckIn' ; // Offset:0x138, Var, CRC32:0xFDDB0186, Flags:0x0 + f32 'seCheckInterval' ; // Offset:0x13C, Var, CRC32:0x599D829E, Flags:0x0 + u32 'seOption' ; // Offset:0x140, Var, CRC32:0x8D647182, Flags:0x0 + bool 'isUseModel' ; // Offset:0x144, Var, CRC32:0xB0A0441E, Flags:0x0 + string 'modelResPath' ; // Offset:0x148, Var, CRC32:0x6064E4D8, Flags:0x0 + u32 'modelDrawMode' ; // Offset:0x14C, Var, CRC32:0xC6C072A6, Flags:0x0 + f32 'groundCkUnderHeight' ; // Offset:0x150, Var, CRC32:0xDC8D0175, Flags:0x0 + f32 'spd' ; // Offset:0x160, Var, CRC32:0x33E92C53, Flags:0x0 + f32 'spdMax' ; // Offset:0x164, Var, CRC32:0xD4671CD3, Flags:0x0 + f32 'spdAccel' ; // Offset:0x168, Var, CRC32:0x9D10C57E, Flags:0x0 + f32 'spdAccelDist' ; // Offset:0x16C, Var, CRC32:0xD8F2DE79, Flags:0x0 + f32 'gravity' ; // Offset:0x170, Var, CRC32:0xA5E2DA58, Flags:0x0 + f32 'gravityMax' ; // Offset:0x174, Var, CRC32:0xD066C17, Flags:0x0 + f32 'gravityAccel' ; // Offset:0x178, Var, CRC32:0x62837F69, Flags:0x0 + f32 'gravityDist' ; // Offset:0x17C, Var, CRC32:0x4459F177, Flags:0x0 + f32 'dieDist' ; // Offset:0x180, Var, CRC32:0x63494E0D, Flags:0x0 + u32 'dieFlag' ; // Offset:0x184, Var, CRC32:0x33C17560, Flags:0x0 + bool 'isTurnMoveVec' ; // Offset:0x188, Var, CRC32:0xEB1EC505, Flags:0x0 + f32 'hitSlowRate' ; // Offset:0x18C, Var, CRC32:0x85A798F2, Flags:0x0 + f32 'hitSlowFrame' ; // Offset:0x190, Var, CRC32:0x6B1683DF, Flags:0x0 + f32 'hitAdjustPosRate' ; // Offset:0x194, Var, CRC32:0xAC66B6CF, Flags:0x0 + s32 'hitAdjustCount' ; // Offset:0x198, Var, CRC32:0x12D492EB, Flags:0x0 + bool 'isFuwaMove' ; // Offset:0x19C, Var, CRC32:0x7536571B, Flags:0x0 + f32 'fuwaPeriod' ; // Offset:0x1A0, Var, CRC32:0x823A00A7, Flags:0x0 + f32 'fuwaScale' ; // Offset:0x1A4, Var, CRC32:0xD3FD434C, Flags:0x0 + f32 'fuwaRandom' ; // Offset:0x1A8, Var, CRC32:0x51B9C4BC, Flags:0x0 + bool 'isAutoLockon' ; // Offset:0x1AC, Var, CRC32:0x8E3F7F09, Flags:0x0 + f32 'lockonDist' ; // Offset:0x1B0, Var, CRC32:0x5C0B5633, Flags:0x0 + f32 'lockonDeg' ; // Offset:0x1B4, Var, CRC32:0xE53ACBE, Flags:0x0 + u32 'lockonOption' ; // Offset:0x1B8, Var, CRC32:0xB012FB67, Flags:0x0 + f32 'dirAdjustDist' ; // Offset:0x1BC, Var, CRC32:0x2316D262, Flags:0x0 + s32 'hitShlNo' ; // Offset:0x1C0, Var, CRC32:0x64559B88, Flags:0x0 + s32 'floorHitShlNo' ; // Offset:0x1C4, Var, CRC32:0x49AE926F, Flags:0x0 + s32 'wallHitShlNo' ; // Offset:0x1C8, Var, CRC32:0x33D05715, Flags:0x0 + bool 'isEnchantShotSE' ; // Offset:0x1CC, Var, CRC32:0xF23218CB, Flags:0x0 + u32 'shlOptionSpeed' ; // Offset:0x1D0, Var, CRC32:0x57350D2D, Flags:0x0 + s32 'epvNoScrHit' ; // Offset:0x1D4, Var, CRC32:0x8982011D, Flags:0x0 + s32 'scrHitEfType' ; // Offset:0x1D8, Var, CRC32:0x1AF21F86, Flags:0x0 + s32 'epvNoHitSlow' ; // Offset:0x1DC, Var, CRC32:0xCE09CD5A, Flags:0x0 + s32 'seHitScrResType' ; // Offset:0x1E0, Var, CRC32:0xADEC5503, Flags:0x0 + s32 'seNoScrHit' ; // Offset:0x1E4, Var, CRC32:0x5E76274A, Flags:0x0 + s32 'seNoHitSlow' ; // Offset:0x1E8, Var, CRC32:0x3BD1FD2B, Flags:0x0 + s32 'seNoHitSlowStop' ; // Offset:0x1EC, Var, CRC32:0xDB27B352, Flags:0x0 + bool 'useGravityMin' ; // Offset:0x1F0, Var, CRC32:0x4724D883, Flags:0x0 + bool 'isSpecifyTargetPos' ; // Offset:0x200, Var, CRC32:0x44EDD8B1, Flags:0x0 + f32 'hmgRad' ; // Offset:0x204, Var, CRC32:0x34C8AA54, Flags:0x0 + f32 'hmgRadFrame' ; // Offset:0x208, Var, CRC32:0x79C840B1, Flags:0x0 + f32 'hmgBgnDist' ; // Offset:0x20C, Var, CRC32:0x492A2E17, Flags:0x0 + f32 'hmgEndTargetDist' ; // Offset:0x210, Var, CRC32:0x8018E310, Flags:0x0 + f32 'hmgEndRad' ; // Offset:0x214, Var, CRC32:0x6F603832, Flags:0x0 + f32 'hmgEndFrame' ; // Offset:0x218, Var, CRC32:0xF9FE086A, Flags:0x0 + f32 'hmgEndWaitHmgRad' ; // Offset:0x21C, Var, CRC32:0x35F07A30, Flags:0x0 + f32 'hmgEndWaitSpdMax' ; // Offset:0x220, Var, CRC32:0xD55FCCB7, Flags:0x0 + f32 'hmgEndWaitEndFrame' ; // Offset:0x224, Var, CRC32:0x7F636D26, Flags:0x0 + f32 'hmgEndHmgRad' ; // Offset:0x228, Var, CRC32:0x51CB8A59, Flags:0x0 + f32 'hmgEndSpdMax' ; // Offset:0x22C, Var, CRC32:0xB1643CDE, Flags:0x0 + s32 'hmgType' ; // Offset:0x230, Var, CRC32:0x481AB2D1, Flags:0x0 + f32 'hmInitSpd' ; // Offset:0x234, Var, CRC32:0x2DAB4DAE, Flags:0x0 + f32 'hmAccel' ; // Offset:0x238, Var, CRC32:0x34BFD07B, Flags:0x0 + f32 'hmMaxSpped' ; // Offset:0x23C, Var, CRC32:0x1969ED4B, Flags:0x0 + f32 'hmHmgRad' ; // Offset:0x240, Var, CRC32:0xEEB4783, Flags:0x0 + f32 'hmEndTargetDist' ; // Offset:0x244, Var, CRC32:0x1092DD7A, Flags:0x0 + f32 'hmEndRad' ; // Offset:0x248, Var, CRC32:0xE7608163, Flags:0x0 + f32 'hmRotate' ; // Offset:0x24C, Var, CRC32:0xF2554024, Flags:0x0 + bool 'hmIsRotateRndFlip' ; // Offset:0x250, Var, CRC32:0x3E6DF3B4, Flags:0x0 + s32 'seNoHoming' ; // Offset:0x254, Var, CRC32:0x89D8414, Flags:0x0 + f32 'homingSeDeg' ; // Offset:0x258, Var, CRC32:0x3DF74F85, Flags:0x0 + u64 'mWraithHealNum' ; // Offset:0x260, Var, CRC32:0x5A329BB0, Flags:0x0 + f32 'mPerformanceTime' ; // Offset:0x268, Var, CRC32:0xD24BD5BE, Flags:0x0 +}; + +// cShootCtrlParam vftable:0x1C3DBC0, Size:0x44, CRC32:0x7A608A89 +class cShootCtrlParam /*: MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + u32 'chargeLv' ; // Offset:0x8, Var, CRC32:0x311DF86D, Flags:0x0 + s32 'shlGroup' ; // Offset:0xC, Var, CRC32:0x154EE79A, Flags:0x0 + s32 'shlNo' ; // Offset:0x10, Var, CRC32:0x8B076117, Flags:0x0 + bool 'just' ; // Offset:0x14, Var, CRC32:0x8B60022F, Flags:0x0 + bool 'isFinish' ; // Offset:0x15, Var, CRC32:0x1E5E1E3D, Flags:0x0 + f32 'degX' ; // Offset:0x18, Var, CRC32:0x6BEF6DDA, Flags:0x0 + f32 'degY' ; // Offset:0x1C, Var, CRC32:0x1CE85D4C, Flags:0x0 + f32 'degRndX' ; // Offset:0x20, Var, CRC32:0x292D2BA5, Flags:0x0 + f32 'degRndY' ; // Offset:0x24, Var, CRC32:0x5E2A1B33, Flags:0x0 + f32 'shlWait' ; // Offset:0x28, Var, CRC32:0xFBEE0E8B, Flags:0x0 + f32 'recoilPowX' ; // Offset:0x2C, Var, CRC32:0x25D6EC05, Flags:0x0 + f32 'recoilPowY' ; // Offset:0x30, Var, CRC32:0x52D1DC93, Flags:0x0 + f32 'recoilPowRndX' ; // Offset:0x34, Var, CRC32:0xD26578E4, Flags:0x0 + f32 'recoilPowRndY' ; // Offset:0x38, Var, CRC32:0xA5624872, Flags:0x0 + f32 'recoilFrameX' ; // Offset:0x3C, Var, CRC32:0xB3DCA469, Flags:0x0 + f32 'recoilFrameY' ; // Offset:0x40, Var, CRC32:0xC4DB94FF, Flags:0x0 +}; + +// cShootCtrlParamGeneOwnerJoint vftable:0x1D704D8, Size:0x50, CRC32:0x6FE7AFD2 +class cShootCtrlParamGeneOwnerJoint /*: MtObject*/ { + f32 'waitFrame' ; // Offset:0x4, Var, CRC32:0xADF3475D, Flags:0x0 + s32 'shlNo' ; // Offset:0x8, Var, CRC32:0x8B076117, Flags:0x0 + vector3 'offset' ; // Offset:0x10, Var, CRC32:0xA6F5352F, Flags:0x0 + vector3 'offsetAng' ; // Offset:0x20, Var, CRC32:0x507907B, Flags:0x0 + s32 'jointNo' ; // Offset:0x30, Var, CRC32:0x1B23C567, Flags:0x0 + bool 'isConst' ; // Offset:0x34, Var, CRC32:0x9C2EEA2E, Flags:0x0 + s32 'rndStepYMin' ; // Offset:0x38, Var, CRC32:0x4E80FD7B, Flags:0x0 + s32 'rndStepYMax' ; // Offset:0x3C, Var, CRC32:0x728DC222, Flags:0x0 + f32 'stepAng' ; // Offset:0x40, Var, CRC32:0x4CBDA864, Flags:0x0 + f32 'extendTime' ; // Offset:0x44, Var, CRC32:0x21FA9298, Flags:0x0 +}; + +// cShopGoods vftable:0x1C74AA0, Size:0x48, CRC32:0x1A28BEBE +class cShopGoods /*: MtObject*/ { + u8 'iJeS' ; // Offset:0x4, Var, CRC32:0x78736A56, Flags:0x0 + u32 'iID' ; // Offset:0x8, Var, CRC32:0xB9EE51FB, Flags:0x0 + u64 'i' ; // Offset:0x10, Var, CRC32:0x75EAC942, Flags:0x0 + u8 '|Cg' ; // Offset:0x18, Var, CRC32:0xE6FF3DCD, Flags:0x0 + u8 '̔' ; // Offset:0x20, Var, CRC32:0x2300FA6F, Flags:0x0 + u16 'KvDx' ; // Offset:0x22, Var, CRC32:0x8691C8CC, Flags:0x0 + class '̔Jn' ; // Offset:0x24, Var, CRC32:0xB8F6A903, Flags:0x0 + class '̔I' ; // Offset:0x2C, Var, CRC32:0xA4C79C0, Flags:0x0 + u8 '݌ɐ' ; // Offset:0x34, Var, CRC32:0x22A49BB9, Flags:0x0 + u8 'ő݌ɐ' ; // Offset:0x35, Var, CRC32:0x23F5AB05, Flags:0x0 + u8 '݌ɕ[P' ; // Offset:0x36, Var, CRC32:0xF6B0C5B0, Flags:0x0 + u8 '݌ɕ[' ; // Offset:0x37, Var, CRC32:0xEF616789, Flags:0x0 + u16 'Q[' ; // Offset:0x38, Var, CRC32:0xA4829502, Flags:0x0 + class '̓t' ; // Offset:0x3C, Var, CRC32:0x93B4EB1A, Flags:0x0 +}; + +// cShopGoods::rDate vftable:0x1C74A84, Size:0x8, CRC32:0x1F97BFE6 +class cShopGoods::rDate /*: MtObject*/ { + u16 'N' ; // Offset:0x4, Var, CRC32:0x3A6FCE89, Flags:0x0 + u8 '' ; // Offset:0x6, Var, CRC32:0x23109460, Flags:0x0 + u8 '' ; // Offset:0x7, Var, CRC32:0xB9222FDB, Flags:0x0 +}; + +// cShotReqInfo vftable:0x1C74BF8, Size:0x50, CRC32:0x317447AB +class cShotReqInfo /*: MtObject*/ { + u32 'mShotGroup' ; // Offset:0x4, Var, CRC32:0xF7D331F3, Flags:0x0 + u32 'mShotIndex' ; // Offset:0x8, Var, CRC32:0x1A601237, Flags:0x0 + u32 'Ώ' ; // Offset:0xC, Var, CRC32:0xED6C92B0, Flags:0x0 + u32 'mJointNo' ; // Offset:0x10, Var, CRC32:0x673E4986, Flags:0x0 + bool 'RXg' ; // Offset:0x14, Var, CRC32:0x6411F26E, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x20, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mOffsetDir' ; // Offset:0x30, Var, CRC32:0x823B5107, Flags:0x0 + bool 'bNI' ; // Offset:0x40, Var, CRC32:0x67144E03, Flags:0x0 +}; + +// cShotReqInfo2 vftable:0x1C6DAF8, Size:0x130, CRC32:0x9E25FA7 +class cShotReqInfo2 /*: MtObject*/ { +}; + +// cShrinkBlowValue vftable:0x1C4EF60, Size:0x1C, CRC32:0x61365049 +class cShrinkBlowValue /*: MtObject*/ { + u32 '^Cv' ; // Offset:0x4, Var, CRC32:0x75C27C4D, Flags:0x0 + u32 'З͐ݒ' ; // Offset:0x8, Var, CRC32:0x75917238, Flags:0x0 + f32 'XZx' ; // Offset:0xC, Var, CRC32:0x8E91FE30, Flags:0x0 + f32 'XZ' ; // Offset:0x10, Var, CRC32:0x84450E91, Flags:0x0 + f32 'Yx' ; // Offset:0x14, Var, CRC32:0x3D56C340, Flags:0x0 + f32 'Y' ; // Offset:0x18, Var, CRC32:0x378233E1, Flags:0x0 +}; + +// cSndPitchLimitData vftable:0x1C6DEDC, Size:0x14, CRC32:0x4DCD3146 +class cSndPitchLimitData /*: MtObject*/ { + u32 '^Cv' ; // Offset:0x4, Var, CRC32:0x75C27C4D, Flags:0x0 + u32 '' ; // Offset:0x8, Var, CRC32:0xC1512637, Flags:0x0 + s32 '' ; // Offset:0xC, Var, CRC32:0xCC77FD80, Flags:0x0 + s32 '' ; // Offset:0x10, Var, CRC32:0x8A71B763, Flags:0x0 +}; + +// cSoundGeneratorLayoutInfo vftable:0x1DABE18, Size:0x20, CRC32:0x79D6664E +class cSoundGeneratorLayoutInfo /*: cSoundLayoutInfo, cZoneExtendObject, nZone::cAllocaterIntermediate, MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x130000 + u32 'mZoneHit' ; // Offset:0x8, Var, CRC32:0x1810E924, Flags:0x30000 + s32 'mContentsIndex'[5] ; // Offset:0xC, Array, CRC32:0x7376ADA7, Flags:0x200000 +}; + +// cSoundGeneratorListener vftable:0x1DABE40, Size:0x30, CRC32:0x3798CCA2 +class cSoundGeneratorListener /*: cSoundZoneListener, cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 + vector3 'mMyPos' ; // Offset:0x20, Var, CRC32:0xBD64868, Flags:0x0 +}; + +// cSoundLayoutInfo vftable:0x1DAD4E0, Size:0xC, CRC32:0x5CE8F206 +class cSoundLayoutInfo /*: cZoneExtendObject, nZone::cAllocaterIntermediate, MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x130000 + u32 'mZoneHit' ; // Offset:0x8, Var, CRC32:0x1810E924, Flags:0x30000 +}; + +// cSoundMultiBandEQ vftable:0x20D27A4, Size:0x2B0, CRC32:0x329D963D +class cSoundMultiBandEQ /*: MtObject*/ { + f32 'HighGain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5780, Setter:0x17E5C90, CRC32:0x93DBAEB4, Flags:0x800000 + f32 'HighQ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5790, Setter:0x17E5CE0, CRC32:0xEBA0FE8B, Flags:0x800000 + f32 'HighFreq' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5770, Setter:0x17E5C40, CRC32:0x14BA9601, Flags:0x800000 + u32 'HighType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E57A0, Setter:0x17E5D30, CRC32:0xCF90D49D, Flags:0x800000 + bool 'HighEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5760, Setter:0x17E5C30, CRC32:0x466120A5, Flags:0x800000 + f32 'MidHighGain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5820, Setter:0x17E6230, CRC32:0xACDF6BCB, Flags:0x800000 + f32 'MidHighQ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5830, Setter:0x17E6260, CRC32:0x777345B9, Flags:0x800000 + f32 'MidHighFreq' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5810, Setter:0x17E6200, CRC32:0x2BBE537E, Flags:0x800000 + bool 'MidHighEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5800, Setter:0x17E61F0, CRC32:0x5C84CA7, Flags:0x800000 + f32 'MidLowGain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5860, Setter:0x17E6320, CRC32:0xB3484158, Flags:0x800000 + f32 'MidLowQ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5870, Setter:0x17E6350, CRC32:0xEA5D5EEC, Flags:0x800000 + f32 'MidLowFreq' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5850, Setter:0x17E62F0, CRC32:0x342979ED, Flags:0x800000 + bool 'MidLowEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5840, Setter:0x17E62E0, CRC32:0x841F433F, Flags:0x800000 + f32 'LowGain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E57D0, Setter:0x17E6090, CRC32:0x28BE3FE, Flags:0x800000 + f32 'LowQ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E57E0, Setter:0x17E60E0, CRC32:0x30E0C528, Flags:0x800000 + f32 'LowFreq' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E57C0, Setter:0x17E6040, CRC32:0x85EADB4B, Flags:0x800000 + u32 'LowType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E57F0, Setter:0x17E6130, CRC32:0x5EC099D7, Flags:0x800000 + bool 'LowEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E57B0, Setter:0x17E6030, CRC32:0x449A2B57, Flags:0x800000 + bool 'Enable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5750, Setter:0x17E59C0, CRC32:0xBF332FB, Flags:0x800000 + bool 'Bypass' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17E5730, Setter:0x17E58E0, CRC32:0x175B7CBD, Flags:0x800000 +}; + +// cSoundOcclusionLayoutInfo vftable:0x1DAC284, Size:0x1C, CRC32:0x7AD40DF1 +class cSoundOcclusionLayoutInfo /*: cSoundLayoutInfo, cZoneExtendObject, nZone::cAllocaterIntermediate, MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x130000 + u32 'mZoneHit' ; // Offset:0x8, Var, CRC32:0x1810E924, Flags:0x30000 + u32 'mUseType' ; // Offset:0xC, Var, CRC32:0x7112F3B5, Flags:0x30000 + u16 'mBoundingBoxIndex' ; // Offset:0x10, Var, CRC32:0xF3BC4A33, Flags:0x30000 + s16 'mHollowManagerIndex' ; // Offset:0x12, Var, CRC32:0x9CF7F29F, Flags:0x10000 + s32 'mContentsIndex'[2] ; // Offset:0x14, Array, CRC32:0x7376ADA7, Flags:0x210000 +}; + +// cSoundOcclusionListener vftable:0x1DAC2AC, Size:0x30, CRC32:0x62872A06 +class cSoundOcclusionListener /*: cSoundZoneListener, cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 + vector3 'mMyPos' ; // Offset:0x20, Var, CRC32:0xBD64868, Flags:0x0 +}; + +// cSoundOptData vftable:0x1C6E008, Size:0x24, CRC32:0x2AD925B +class cSoundOptData /*: MtObject*/ { + u32 '區' ; // Offset:0x4, Var, CRC32:0xC728B025, Flags:0x10000 + u32 'mItem' ; // Offset:0x8, Var, CRC32:0xC612EE22, Flags:0x10000 + s32 '`l1' ; // Offset:0xC, Var, CRC32:0xE6905556, Flags:0x0 + s32 '`l2' ; // Offset:0x10, Var, CRC32:0x7F9904EC, Flags:0x0 + s32 '`l3' ; // Offset:0x14, Var, CRC32:0x89E347A, Flags:0x0 + s32 '`l4' ; // Offset:0x18, Var, CRC32:0x96FAA1D9, Flags:0x0 + s32 '`l5' ; // Offset:0x1C, Var, CRC32:0xE1FD914F, Flags:0x0 + s32 '`l6' ; // Offset:0x20, Var, CRC32:0x78F4C0F5, Flags:0x0 +}; + +// cSoundParamOfs vftable:0x1C75808, Size:0x24, CRC32:0x23D4D1F2 +class cSoundParamOfs /*: MtObject*/ { + f32 'Vol' ; // Offset:0x4, Var, CRC32:0xCEEE2EF4, Flags:0x0 + s16 'Pitch' ; // Offset:0x8, Var, CRC32:0x19A16E22, Flags:0x0 + s32 'ProgNo' ; // Offset:0xC, Var, CRC32:0x5C8BC1B6, Flags:0x0 + s8 'Prio' ; // Offset:0x10, Var, CRC32:0x2BF13F58, Flags:0x0 + s8 'GID' ; // Offset:0x11, Var, CRC32:0x2561CC6D, Flags:0x0 + s8 'ID1' ; // Offset:0x12, Var, CRC32:0xBA3E1A99, Flags:0x0 + s8 'ID2' ; // Offset:0x13, Var, CRC32:0x23374B23, Flags:0x0 + s8 'ID3' ; // Offset:0x14, Var, CRC32:0x54307BB5, Flags:0x0 + s8 'Lmt' ; // Offset:0x15, Var, CRC32:0xFE05F286, Flags:0x0 + s8 'CVol' ; // Offset:0x16, Var, CRC32:0x994ADF29, Flags:0x0 + s16 'VolCrvID' ; // Offset:0x18, Var, CRC32:0xD54F0653, Flags:0x0 + s16 'EfcCrvID' ; // Offset:0x1A, Var, CRC32:0x43B5C79D, Flags:0x0 + s16 'LfeCrvID' ; // Offset:0x1C, Var, CRC32:0x8AA33FAB, Flags:0x0 + s16 'DrcCrvID' ; // Offset:0x1E, Var, CRC32:0x1C8E7FDE, Flags:0x0 + s8 'Submixer' ; // Offset:0x20, Var, CRC32:0x61F73801, Flags:0x0 +}; + +// cSoundTriggerLayoutInfo vftable:0x1DACD80, Size:0x70, CRC32:0x3B358537 +class cSoundTriggerLayoutInfo /*: cSoundLayoutInfo, cZoneExtendObject, nZone::cAllocaterIntermediate, MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x130000 + u32 'mZoneHit' ; // Offset:0x8, Var, CRC32:0x1810E924, Flags:0x30000 + classref 'mpUSequenceSe' ; // Offset:0xC, Var, CRC32:0xBB70F94E, Flags:0x30000 + vector3 'mPanelNormal'[2] ; // Offset:0x20, Array, CRC32:0xA31BF815, Flags:0x230000 + u32 'mPanelType' ; // Offset:0x40, Var, CRC32:0x84A5ED0C, Flags:0x30000 + s32 'mContentsIndex'[11] ; // Offset:0x44, Array, CRC32:0x7376ADA7, Flags:0x210000 +}; + +// cSoundTriggerListener vftable:0x1DACDA8, Size:0x30, CRC32:0x459F8CCB +class cSoundTriggerListener /*: cSoundZoneListener, cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 + vector3 'mMyPos' ; // Offset:0x20, Var, CRC32:0xBD64868, Flags:0x0 +}; + +// cSoundZoneListener vftable:0x1DAD4B0, Size:0x30, CRC32:0x422ACFD0 +class cSoundZoneListener /*: cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 + vector3 'mMyPos' ; // Offset:0x20, Var, CRC32:0xBD64868, Flags:0x0 +}; + +// cSplitArc vftable:0x1C0C548, Size:0x18, CRC32:0x7C7A5389 +class cSplitArc /*: cSplitBase, MtObject*/ { + s32 'mStatus' ; // Offset:0x4, Var, CRC32:0x459CCC2D, Flags:0x10000 + s32 'N(x)' ; // Offset:0x8, Var, CRC32:0x367A7327, Flags:0x10000 + s32 'M(z)' ; // Offset:0xC, Var, CRC32:0x16F9BE4B, Flags:0x10000 +}; + +// cSplitBase vftable:0x1C0C510, Size:0x10, CRC32:0x6F577496 +class cSplitBase /*: MtObject*/ { + s32 'mStatus' ; // Offset:0x4, Var, CRC32:0x459CCC2D, Flags:0x10000 + s32 'N(x)' ; // Offset:0x8, Var, CRC32:0x367A7327, Flags:0x10000 + s32 'M(z)' ; // Offset:0xC, Var, CRC32:0x16F9BE4B, Flags:0x10000 +}; + +// cSplitBgm vftable:0x1CA2020, Size:0x10, CRC32:0x2E3126C3 +class cSplitBgm /*: MtObject*/ { +}; + +// cSplitLot vftable:0x1C0C52C, Size:0x6C, CRC32:0x81D2901 +class cSplitLot /*: cSplitBase, MtObject*/ { + s32 'mStatus' ; // Offset:0x4, Var, CRC32:0x459CCC2D, Flags:0x10000 + s32 'N(x)' ; // Offset:0x8, Var, CRC32:0x367A7327, Flags:0x10000 + s32 'M(z)' ; // Offset:0xC, Var, CRC32:0x16F9BE4B, Flags:0x10000 + class 'LotSet(XSI)' ; // Offset:0x10, Var, CRC32:0xA5E66FEE, Flags:0x0 +}; + +// cSpotEnemyData vftable:0x1C4C25C, Size:0x14, CRC32:0x16BB3B65 +class cSpotEnemyData /*: cUIResource, MtObject*/ { +}; + +// cSpotItemData vftable:0x1C4C240, Size:0xC, CRC32:0x403D9B6C +class cSpotItemData /*: cUIResource, MtObject*/ { +}; + +// cStageCtrl vftable:0x1C0C5FC, Size:0x20, CRC32:0x2FD64BF5 +class cStageCtrl /*: MtObject*/ { + class 'mAreaArray' ; // Offset:0x4, Var, CRC32:0xA33910F3, Flags:0x0 + s32 'mPartsDungeonNo' ; // Offset:0x18, Var, CRC32:0x93192195, Flags:0x0 + bool 'mIsInit' ; // Offset:0x1C, Var, CRC32:0x59D55849, Flags:0x0 +}; + +// cStageCtrl::Area vftable:0x1C0C5CC, Size:0x10, CRC32:0x23F5D44C +class cStageCtrl::Area /*: MtObject*/ { + s32 'mAreaNo' ; // Offset:0x4, Var, CRC32:0x39FEDFA6, Flags:0x0 + s32 'mDepth' ; // Offset:0x8, Var, CRC32:0x71786A8, Flags:0x10000 + s32 'mGroupNo' ; // Offset:0xC, Var, CRC32:0xB6F0B4E1, Flags:0x0 +}; + +// cStageEpvCtrl vftable:0x1C0CB20, Size:0x80, CRC32:0x3057C8B4 +class cStageEpvCtrl /*: MtObject*/ { +}; + +// cStageMap vftable:0x1C6EFDC, Size:0x24, CRC32:0xF7513F7 +class cStageMap /*: MtObject*/ { + u16 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + u16 'mPartsNum' ; // Offset:0x6, Var, CRC32:0xE440EC1E, Flags:0x0 + f32 'mOffsetY' ; // Offset:0x8, Var, CRC32:0xC5DDADDD, Flags:0x0 + u32 'mStageFlag' ; // Offset:0xC, Var, CRC32:0x62C9E1A6, Flags:0x0 + class 'mParamList' ; // Offset:0x10, Var, CRC32:0x4A3CDF21, Flags:0x0 +}; + +// cStageMap::cParam vftable:0x1C6EFAC, Size:0x20, CRC32:0x4F40FC6E +class cStageMap::cParam /*: MtObject*/ { + u32 'mAreaNo' ; // Offset:0x4, Var, CRC32:0x39FEDFA6, Flags:0x0 + f32 'mSize' ; // Offset:0x8, Var, CRC32:0x2EC9EF56, Flags:0x0 + string 'mModelName' ; // Offset:0xC, Var, CRC32:0xBA2D2C79, Flags:0x0 + vector3 'mConnectPos' ; // Offset:0x10, Var, CRC32:0xC2A43F2A, Flags:0x0 +}; + +// cStageToSpot vftable:0x1C6F128, Size:0x10, CRC32:0x3999E684 +class cStageToSpot /*: MtObject*/ { + u32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + u32 'mSpotId' ; // Offset:0x8, Var, CRC32:0xA0E3E1E6, Flags:0x0 + u8 'mRecommendLevel' ; // Offset:0xC, Var, CRC32:0x1B9E589E, Flags:0x0 +}; + +// cStaminaCtrl vftable:0x1C0D000, Size:0x1E0, CRC32:0x4E38019B +class cStaminaCtrl /*: MtObject*/ { +}; + +// cStaminaDecList vftable:0x1C771F4, Size:0x28, CRC32:0x24BC4F03 +class cStaminaDecList /*: MtObject*/ { +}; + +// cStaminaDecParam vftable:0x1C771C4, Size:0x8, CRC32:0x7CFD2E5F +class cStaminaDecParam /*: MtObject*/ { + f32 'mStamina' ; // Offset:0x4, Var, CRC32:0xB86EBF6A, Flags:0x0 +}; + +// cStartPosArea vftable:0x1C6F224, Size:0x8, CRC32:0x3C213E7A +class cStartPosArea /*: MtObject*/ { + u16 'mStartPosNo' ; // Offset:0x4, Var, CRC32:0xB947F49B, Flags:0x0 + u16 'mAreaId' ; // Offset:0x6, Var, CRC32:0xE16D90E9, Flags:0x0 +}; + +// cStateActBringOM vftable:0x1C11FD0, Size:0x2C, CRC32:0x6E7D1CA1 +class cStateActBringOM /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActCatapult vftable:0x1C11F80, Size:0x28, CRC32:0x39FE419D +class cStateActCatapult /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActCatch vftable:0x1C0D584, Size:0x30, CRC32:0x38AA1DAE +class cStateActCatch /*: cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActCaught vftable:0x1C0D5D4, Size:0x30, CRC32:0x598B5E6E +class cStateActCaught /*: cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActCliff vftable:0x1C11C10, Size:0x50, CRC32:0x44F12C12 +class cStateActCliff /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActClimbLadder vftable:0x1C12048, Size:0x28, CRC32:0x2B9015BE +class cStateActClimbLadder /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActClutch vftable:0x1C0D55C, Size:0x24, CRC32:0x488E0272 +class cStateActClutch /*: cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActClutched vftable:0x1C0D5AC, Size:0x24, CRC32:0x21528875 +class cStateActClutched /*: cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActDead vftable:0x1C11C60, Size:0x2C, CRC32:0x41D08918 +class cStateActDead /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActDodgeAction vftable:0x1C12070, Size:0x40, CRC32:0x3CC54E98 +class cStateActDodgeAction /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActEnemyClimb vftable:0x1C11C38, Size:0x40, CRC32:0xE5D61AB +class cStateActEnemyClimb /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob01AttackL vftable:0x1C11F58, Size:0x2C, CRC32:0xDF8B6B4 +class cStateActJob01AttackL /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob04CircleShift vftable:0x1C120E8, Size:0x2C, CRC32:0x211EB194 +class cStateActJob04CircleShift /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob05CS08 vftable:0x1C12098, Size:0x38, CRC32:0x22012701 +class cStateActJob05CS08 /*: cStateActCatch, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob05CS12 vftable:0x1C120C0, Size:0x28, CRC32:0x5BCFFF5E +class cStateActJob05CS12 /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob07AttackL vftable:0x1C11EB8, Size:0x30, CRC32:0x4B97BF33 +class cStateActJob07AttackL /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob07Custom11 vftable:0x1C11F08, Size:0x30, CRC32:0x6B5816A1 +class cStateActJob07Custom11 /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJob07Endure vftable:0x1C11EE0, Size:0x28, CRC32:0x389A20ED +class cStateActJob07Endure /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActJobLeoAttackL vftable:0x1C12250, Size:0x2C, CRC32:0x30D83EC1 +class cStateActJobLeoAttackL /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActPutLever vftable:0x1C12020, Size:0x30, CRC32:0x3C2A23B5 +class cStateActPutLever /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActSittingChair vftable:0x1C11FF8, Size:0x2C, CRC32:0x799C5956 +class cStateActSittingChair /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateActStaminaOut vftable:0x1C11E90, Size:0x28, CRC32:0x1BAB70B8 +class cStateActStaminaOut /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateAction vftable:0x1C0D534, Size:0x24, CRC32:0xE365867 +class cStateAction /*: cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateBow vftable:0x1C11FA8, Size:0x28, CRC32:0x238E01B5 +class cStateBow /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateBringPhotoSphere vftable:0x1C12200, Size:0x28, CRC32:0x12D9F069 +class cStateBringPhotoSphere /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateChantBase vftable:0x1C11DF0, Size:0x2C, CRC32:0x2634800F +class cStateChantBase /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateCondition vftable:0x1C0D71C, Size:0x10, CRC32:0x49A4FBBA +class cStateCondition /*: cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateDamage vftable:0x1C0D6F4, Size:0x10, CRC32:0x58328099 +class cStateDamage /*: cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm015400Base vftable:0x1CCC10C, Size:0x14, CRC32:0xB08164D +class cStateEm015400Base /*: cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm015400FogAppear vftable:0x1CCC15C, Size:0x14, CRC32:0x5AA33B2E +class cStateEm015400FogAppear /*: cStateEm015400Base, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm015400FogDrawOff vftable:0x1CCC184, Size:0x14, CRC32:0x5C4079AC +class cStateEm015400FogDrawOff /*: cStateEm015400Base, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm015400FogHide vftable:0x1CCC134, Size:0x18, CRC32:0x1833EBE4 +class cStateEm015400FogHide /*: cStateEm015400Base, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm015720Base vftable:0x1B43300, Size:0x10, CRC32:0x7728ADDB +class cStateEm015720Base /*: cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm015720SBC vftable:0x1B43328, Size:0x10, CRC32:0x4F6E087B +class cStateEm015720SBC /*: cStateEm015720Base, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm022000Base vftable:0x1CE11AC, Size:0x10, CRC32:0x4C0F0782 +class cStateEm022000Base /*: cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEm022000FinDisp vftable:0x1CE11D4, Size:0x10, CRC32:0x36BCD244 +class cStateEm022000FinDisp /*: cStateEm022000Base, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateEnemy2LegActAir vftable:0x1C0E3C0, Size:0x24, CRC32:0x8A930B9 +class cStateEnemy2LegActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegActDead vftable:0x1C0E3E8, Size:0x28, CRC32:0x27C14F9D +class cStateEnemy2LegActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegActGround vftable:0x1C0E398, Size:0x24, CRC32:0x3A426BB7 +class cStateEnemy2LegActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegFlyLActAir vftable:0x1C0E938, Size:0x24, CRC32:0x364E6120 +class cStateEnemy2LegFlyLActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegFlyLActDead vftable:0x1C0E960, Size:0x28, CRC32:0x2EAC832C +class cStateEnemy2LegFlyLActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegFlyLActGround vftable:0x1C0E910, Size:0x24, CRC32:0x554EF3B8 +class cStateEnemy2LegFlyLActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegFlySActAir vftable:0x1C0EEB8, Size:0x24, CRC32:0x27D88D07 +class cStateEnemy2LegFlySActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegFlySActDead vftable:0x1C0EEE0, Size:0x28, CRC32:0xB37A0AB +class cStateEnemy2LegFlySActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegFlySActGround vftable:0x1C0EE90, Size:0x24, CRC32:0x3EB29DD +class cStateEnemy2LegFlySActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegLActAir vftable:0x1C0F438, Size:0x24, CRC32:0x2DD0E836 +class cStateEnemy2LegLActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegLActDead vftable:0x1C0F460, Size:0x28, CRC32:0x5AE3A8F4 +class cStateEnemy2LegLActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy2LegLActGround vftable:0x1C0F410, Size:0x24, CRC32:0x3013B1A0 +class cStateEnemy2LegLActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegActAir vftable:0x1C0F9B0, Size:0x24, CRC32:0x5B740FE +class cStateEnemy4LegActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegActDead vftable:0x1C0F9D8, Size:0x28, CRC32:0x4F7485DE +class cStateEnemy4LegActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegActGround vftable:0x1C0F988, Size:0x24, CRC32:0x1AA7B46A +class cStateEnemy4LegActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegFlyLActAir vftable:0x1C0FF28, Size:0x24, CRC32:0x4E8C2A96 +class cStateEnemy4LegFlyLActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegFlyLActDead vftable:0x1C0FF50, Size:0x28, CRC32:0xC5657DE +class cStateEnemy4LegFlyLActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegFlyLActGround vftable:0x1C0FF00, Size:0x24, CRC32:0x727A44B0 +class cStateEnemy4LegFlyLActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegLActAir vftable:0x1C104A8, Size:0x24, CRC32:0x45652275 +class cStateEnemy4LegLActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegLActDead vftable:0x1C104D0, Size:0x28, CRC32:0x35DE0D14 +class cStateEnemy4LegLActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemy4LegLActGround vftable:0x1C10480, Size:0x24, CRC32:0x48D1FA16 +class cStateEnemy4LegLActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyActAir vftable:0x1C0DDC8, Size:0x24, CRC32:0x69CC0345 +class cStateEnemyActAir /*: cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyActDead vftable:0x1C0DDF0, Size:0x28, CRC32:0x132B9499 +class cStateEnemyActDead /*: cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyActFlight vftable:0x1C0DE40, Size:0x24, CRC32:0x2A877463 +class cStateEnemyActFlight /*: cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyActGround vftable:0x1C0DDA0, Size:0x24, CRC32:0x4F2F1105 +class cStateEnemyActGround /*: cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyActHover vftable:0x1C0DE18, Size:0x24, CRC32:0x1DF499B5 +class cStateEnemyActHover /*: cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyBase vftable:0x1C0DD78, Size:0x24, CRC32:0x190A620E +class cStateEnemyBase /*: cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyFloatActAir vftable:0x1C10A20, Size:0x24, CRC32:0x64BBA2BB +class cStateEnemyFloatActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyFloatActDead vftable:0x1C10A48, Size:0x28, CRC32:0x49233C23 +class cStateEnemyFloatActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyFloatActGround vftable:0x1C109F8, Size:0x24, CRC32:0x90826E5 +class cStateEnemyFloatActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyPeaceActAir vftable:0x1C10F98, Size:0x24, CRC32:0x15A3CC6C +class cStateEnemyPeaceActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyPeaceActDead vftable:0x1C10FC0, Size:0x28, CRC32:0x5165633A +class cStateEnemyPeaceActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyPeaceActGround vftable:0x1C10F70, Size:0x24, CRC32:0x69DCDBDE +class cStateEnemyPeaceActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyPeaceLActAir vftable:0x1C11010, Size:0x24, CRC32:0x5B74C491 +class cStateEnemyPeaceLActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyPeaceLActDead vftable:0x1C11038, Size:0x28, CRC32:0x12A73A93 +class cStateEnemyPeaceLActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyPeaceLActGround vftable:0x1C10FE8, Size:0x24, CRC32:0x4AEF6EC +class cStateEnemyPeaceLActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyWeakActAir vftable:0x1C115D8, Size:0x24, CRC32:0x52DFAFFB +class cStateEnemyWeakActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyWeakActDead vftable:0x1C11600, Size:0x28, CRC32:0x3F4919BE +class cStateEnemyWeakActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyWeakActGround vftable:0x1C115B0, Size:0x24, CRC32:0x6E3709F +class cStateEnemyWeakActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyWeakLActAir vftable:0x1C11650, Size:0x24, CRC32:0x3558BE15 +class cStateEnemyWeakLActAir /*: cStateEnemyActAir, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyWeakLActDead vftable:0x1C11678, Size:0x28, CRC32:0x781C51D0 +class cStateEnemyWeakLActDead /*: cStateEnemyActDead, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateEnemyWeakLActGround vftable:0x1C11628, Size:0x24, CRC32:0x59AB841 +class cStateEnemyWeakLActGround /*: cStateEnemyActGround, cStateEnemyBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateHumanBase vftable:0x1C11BE8, Size:0x28, CRC32:0x5F796DAA +class cStateHumanBase /*: cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateInfo vftable:0x1C0D4F0, Size:0xC, CRC32:0x633F7BED +class cStateInfo /*: MtObject*/ { +}; + +// cStateJob01Guard vftable:0x1C11D78, Size:0x34, CRC32:0x6D7878B5 +class cStateJob01Guard /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob02Wire vftable:0x1C11DA0, Size:0x50, CRC32:0x204226EA +class cStateJob02Wire /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob02_CS01 vftable:0x1C11DC8, Size:0x38, CRC32:0x109DC827 +class cStateJob02_CS01 /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob04ChantCircle vftable:0x1C11E68, Size:0x34, CRC32:0x582D95C4 +class cStateJob04ChantCircle /*: cStateChantBase, cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob05ElementChange vftable:0x1C11CB0, Size:0x3C, CRC32:0x449D86D0 +class cStateJob05ElementChange /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob05ElementChangeA vftable:0x1C11CD8, Size:0x3C, CRC32:0x7CC3E54 +class cStateJob05ElementChangeA /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob05ElementChangeB vftable:0x1C11D00, Size:0x3C, CRC32:0x1EC56FEE +class cStateJob05ElementChangeB /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob05Guard vftable:0x1C11D50, Size:0x34, CRC32:0x76E93AA3 +class cStateJob05Guard /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob05GuardImpact vftable:0x1C12160, Size:0x34, CRC32:0x7D75BDA5 +class cStateJob05GuardImpact /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob05Provoke vftable:0x1C11D28, Size:0x3C, CRC32:0x7B8C33E5 +class cStateJob05Provoke /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob09ElementChange vftable:0x1C12110, Size:0x30, CRC32:0x6E6817FD +class cStateJob09ElementChange /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob09GoldBody vftable:0x1C12138, Size:0x30, CRC32:0x3F7F3D46 +class cStateJob09GoldBody /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob10LimitBreak vftable:0x1C12188, Size:0x28, CRC32:0x159E3540 +class cStateJob10LimitBreak /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJob11OverBraid vftable:0x1C121D8, Size:0x28, CRC32:0x71C7D258 +class cStateJob11OverBraid /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateJobLeoGuard vftable:0x1C12228, Size:0x34, CRC32:0x30C1D7CA +class cStateJobLeoGuard /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateLiveAlive vftable:0x1C0D604, Size:0x10, CRC32:0x27D157C5 +class cStateLiveAlive /*: cStateLive, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateLiveInjured vftable:0x1C0D62C, Size:0x68, CRC32:0x238CF589 +class cStateLiveInjured /*: cStateLive, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateLiveLost vftable:0x1C0D654, Size:0x14, CRC32:0x187E59F2 +class cStateLiveLost /*: cStateLive, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateLiveLostEnd vftable:0x1C0D67C, Size:0x10, CRC32:0x2D74B1C3 +class cStateLiveLostEnd /*: cStateLive, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateLiveRespawn vftable:0x1C0D6A4, Size:0x10, CRC32:0x70FD4C5B +class cStateLiveRespawn /*: cStateLive, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateLiveReturnTerritory vftable:0x1C0D6CC, Size:0x14, CRC32:0x7A8D26FA +class cStateLiveReturnTerritory /*: cStateLive, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 +}; + +// cStateMachineBase::StateBase vftable:0x20DA18C, Size:0x28, CRC32:0x29C19CCC +class cStateMachineBase::StateBase /*: MtObject*/ { +}; + +// cStateMagicChant vftable:0x1C11E18, Size:0x7C, CRC32:0x54BED719 +class cStateMagicChant /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateMagicShot vftable:0x1C11E40, Size:0x2C, CRC32:0x361F787C +class cStateMagicShot /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateSiteAct vftable:0x1C121B0, Size:0x38, CRC32:0x18417318 +class cStateSiteAct /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateSlipSlope vftable:0x1C11C88, Size:0x28, CRC32:0x1632B4D8 +class cStateSlipSlope /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStateTransitionFromGameInfo vftable:0x1AEDA48, Size:0xC, CRC32:0x6D83575F +class cStateTransitionFromGameInfo /*: MtObject*/ { +}; + +// cStateWallClimb vftable:0x1C11F30, Size:0x28, CRC32:0x73920FCD +class cStateWallClimb /*: cStateHumanBase, cStateAction, cState, MtObject*/ { + s32 'mStateNo' ; // Offset:0x8, Var, CRC32:0xEE5957BE, Flags:0x0 + u32 'mDefaultEndAction' ; // Offset:0x10, Var, CRC32:0xBD7D1FC6, Flags:0x0 + u32 'mDefaultLandAction' ; // Offset:0x14, Var, CRC32:0xD0189533, Flags:0x0 + u32 'mDefaultFallAction' ; // Offset:0x18, Var, CRC32:0xB6F04CE0, Flags:0x0 + u32 'mDefaultBlowAction' ; // Offset:0x1C, Var, CRC32:0xA502C41A, Flags:0x0 + u32 'mDefaultShrinkAction' ; // Offset:0x20, Var, CRC32:0x7A9455D4, Flags:0x0 +}; + +// cStatusCheck vftable:0x1C6F7C8, Size:0x24, CRC32:0x2E91E7CB +class cStatusCheck /*: MtObject*/ { + s32 'mGroup' ; // Offset:0x4, Var, CRC32:0x9074DE04, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x0 + f32 'mSystemParam[0]' ; // Offset:0xC, Var, CRC32:0x8EBC3BFA, Flags:0x0 + f32 'mSystemParam[1]' ; // Offset:0x10, Var, CRC32:0x97A70ABB, Flags:0x0 + f32 'mSystemParam[2]' ; // Offset:0x14, Var, CRC32:0xBC8A5978, Flags:0x0 + bool 'mResultOver' ; // Offset:0x18, Var, CRC32:0x7E4C3418, Flags:0x0 + bool 'mResultAdd' ; // Offset:0x19, Var, CRC32:0xF825C830, Flags:0x0 + s32 'mResult' ; // Offset:0x1C, Var, CRC32:0x2DF66822, Flags:0x0 + bool 'mTypeReverse' ; // Offset:0x20, Var, CRC32:0x60E24E7D, Flags:0x0 +}; + +// cStatusGain vftable:0x1C7733C, Size:0xC, CRC32:0x123A1EEA +class cStatusGain /*: MtObject*/ { + u32 'KvI[u' ; // Offset:0x4, Var, CRC32:0x980C9EE5, Flags:0x0 + u32 '㏸' ; // Offset:0x8, Var, CRC32:0x8C85C68, Flags:0x0 +}; + +// cStockFurnitureWk vftable:0x1DAAFD0, Size:0x3C, CRC32:0x61D87BB3 +class cStockFurnitureWk /*: MtObject*/ { +}; + +// cStorageData vftable:0x1C9E8CC, Size:0xA8, CRC32:0x6DD0C2F8 +class cStorageData /*: cStorageDataBase, MtObject*/ { +}; + +// cStorageDataBase vftable:0x1C9E898, Size:0x4, CRC32:0x4FB8A9FF +class cStorageDataBase /*: MtObject*/ { +}; + +// cStorageDataEdit vftable:0x1C9E900, Size:0x270, CRC32:0xE398984 +class cStorageDataEdit /*: cStorageDataBase, MtObject*/ { +}; + +// cSubAct021004 vftable:0x1B0C2E0, Size:0x14, CRC32:0x100FBD90 +class cSubAct021004 /*: cSubAction, MtObject*/ { +}; + +// cSubActMgr021004 vftable:0x1AEED34, Size:0x24, CRC32:0x42894744 +class cSubActMgr021004 /*: cSubActionManager, MtObject*/ { +}; + +// cSubAction vftable:0x1B0C2B0, Size:0x8, CRC32:0x6441BF76 +class cSubAction /*: MtObject*/ { +}; + +// cSubActionManager vftable:0x1B43380, Size:0x1C, CRC32:0x1D069647 +class cSubActionManager /*: MtObject*/ { +}; + +// cSwing vftable:0x20D11A4, Size:0x14, CRC32:0x26A84CEB +class cSwing /*: MtObject*/ { + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 +}; + +// cSwingModel vftable:0x20D11CC, Size:0x24, CRC32:0x4A053477 +class cSwingModel /*: cSwing, MtObject*/ { + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0x14, Var, CRC32:0x21BA894E, Flags:0x0 + custom 'mpDepthBiasTexture' ; // Offset:0x20, Var, CRC32:0xC71C605E, Flags:0x0 + custom 'mpAfterSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF750, Setter:0x17AF920, CRC32:0xC37FAD94, Flags:0x800000 + custom 'mpSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7A0, Setter:0x17AFFD0, CRC32:0x65256F26, Flags:0x800000 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 +}; + +// cSystemCheck vftable:0x1B931D8, Size:0x24, CRC32:0x75BF9A9 +class cSystemCheck /*: MtObject*/ { +}; + +// cTalkMsgData vftable:0x1C12674, Size:0x2C, CRC32:0x358FCB17 +class cTalkMsgData /*: MtObject*/ { +}; + +// cTalkStateAcceptReward vftable:0x1B93BC8, Size:0x10, CRC32:0x51A5A318 +class cTalkStateAcceptReward /*: cTalkState, MtObject*/ { +}; + +// cTalkStateAchievement vftable:0x1B4387C, Size:0xC, CRC32:0x719B3938 +class cTalkStateAchievement /*: cTalkState, MtObject*/ { +}; + +// cTalkStateAdvGuide vftable:0x1B43D78, Size:0xC, CRC32:0x1E79A8A3 +class cTalkStateAdvGuide /*: cTalkState, MtObject*/ { +}; + +// cTalkStateAppStaff vftable:0x1B44270, Size:0x14, CRC32:0x5341C7C4 +class cTalkStateAppStaff /*: cTalkState, MtObject*/ { +}; + +// cTalkStateAppraise vftable:0x1B940F0, Size:0x14, CRC32:0x688880CB +class cTalkStateAppraise /*: cTalkState, MtObject*/ { +}; + +// cTalkStateAreaMaster vftable:0x1B945E8, Size:0xC, CRC32:0x7256BC8E +class cTalkStateAreaMaster /*: cTalkState, MtObject*/ { +}; + +// cTalkStateAreaUp0300 vftable:0x1B44778, Size:0xC, CRC32:0x63396771 +class cTalkStateAreaUp0300 /*: cTalkState, MtObject*/ { +}; + +// cTalkStateBase vftable:0x1B94AE0, Size:0xC, CRC32:0x19523613 +class cTalkStateBase /*: cTalkState, MtObject*/ { +}; + +// cTalkStateBazaar vftable:0x1B94FD0, Size:0xC, CRC32:0x16B960F9 +class cTalkStateBazaar /*: cTalkState, MtObject*/ { +}; + +// cTalkStateBeautyParlor vftable:0x1B954C8, Size:0xC, CRC32:0xFD0FB3A +class cTalkStateBeautyParlor /*: cTalkState, MtObject*/ { +}; + +// cTalkStateBoxGacha vftable:0x1B44C70, Size:0x10, CRC32:0x51CF54C1 +class cTalkStateBoxGacha /*: cTalkState, MtObject*/ { +}; + +// cTalkStateBuyRushRight vftable:0x1B45168, Size:0xC, CRC32:0x38D2054C +class cTalkStateBuyRushRight /*: cTalkState, MtObject*/ { +}; + +// cTalkStateClanBaseManage vftable:0x1B45660, Size:0x20, CRC32:0x55CC62AE +class cTalkStateClanBaseManage /*: cTalkState, MtObject*/ { +}; + +// cTalkStateClanBaseRelease vftable:0x1B45BA0, Size:0xC, CRC32:0x6BD37439 +class cTalkStateClanBaseRelease /*: cTalkState, MtObject*/ { +}; + +// cTalkStateClanDungeon vftable:0x1B460A0, Size:0x10, CRC32:0x6DD03DFE +class cTalkStateClanDungeon /*: cTalkState, MtObject*/ { +}; + +// cTalkStateClanMake vftable:0x1B959C0, Size:0x10, CRC32:0x1A503D6 +class cTalkStateClanMake /*: cTalkState, MtObject*/ { +}; + +// cTalkStateCraft vftable:0x1B95EB8, Size:0xC, CRC32:0x188C53D1 +class cTalkStateCraft /*: cTalkState, MtObject*/ { +}; + +// cTalkStateCreateMyPawn vftable:0x1B963A8, Size:0xC, CRC32:0x3020DE56 +class cTalkStateCreateMyPawn /*: cTalkState, MtObject*/ { +}; + +// cTalkStateCycle vftable:0x1B968A0, Size:0x14, CRC32:0x5C56C8C6 +class cTalkStateCycle /*: cTalkState, MtObject*/ { +}; + +// cTalkStateCycleSelect vftable:0x1B96D90, Size:0x14, CRC32:0x9BD8CCC +class cTalkStateCycleSelect /*: cTalkState, MtObject*/ { +}; + +// cTalkStateDPShop vftable:0x1B9C440, Size:0x14, CRC32:0x7EC7854B +class cTalkStateDPShop /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateDailyMission vftable:0x1B46598, Size:0xC, CRC32:0x178A6650 +class cTalkStateDailyMission /*: cTalkState, MtObject*/ { +}; + +// cTalkStateDispel vftable:0x1B46A90, Size:0x14, CRC32:0xE1FB68F +class cTalkStateDispel /*: cTalkState, MtObject*/ { +}; + +// cTalkStateDragonSkillMix vftable:0x1B46F88, Size:0xC, CRC32:0x4B88B7F2 +class cTalkStateDragonSkillMix /*: cTalkState, MtObject*/ { +}; + +// cTalkStateEffectSealed vftable:0x1B47488, Size:0xC, CRC32:0x49C058A +class cTalkStateEffectSealed /*: cTalkState, MtObject*/ { +}; + +// cTalkStateEmbodying vftable:0x1B47980, Size:0xC, CRC32:0x40EFA995 +class cTalkStateEmbodying /*: cTalkState, MtObject*/ { +}; + +// cTalkStateEndQuest vftable:0x1B97288, Size:0x10, CRC32:0x79D465A5 +class cTalkStateEndQuest /*: cTalkState, MtObject*/ { +}; + +// cTalkStateEquipEnhance vftable:0x1B47E78, Size:0x10, CRC32:0x377116AF +class cTalkStateEquipEnhance /*: cTalkState, MtObject*/ { +}; + +// cTalkStateEquipRecycle vftable:0x1B48370, Size:0x10, CRC32:0x12F285D1 +class cTalkStateEquipRecycle /*: cTalkState, MtObject*/ { +}; + +// cTalkStateGUIPackageQuest vftable:0x1B48868, Size:0xC, CRC32:0x66D92927 +class cTalkStateGUIPackageQuest /*: cTalkState, MtObject*/ { +}; + +// cTalkStateGacha vftable:0x1B97780, Size:0x10, CRC32:0x5F7A106B +class cTalkStateGacha /*: cTalkState, MtObject*/ { +}; + +// cTalkStateGrandMission vftable:0x1B97C70, Size:0x14, CRC32:0xD9F5AE2 +class cTalkStateGrandMission /*: cTalkState, MtObject*/ { +}; + +// cTalkStateGreeting vftable:0x1B98170, Size:0x20, CRC32:0x4E06EA42 +class cTalkStateGreeting /*: cTalkState, MtObject*/ { +}; + +// cTalkStateHOrbShop vftable:0x1B9C4D0, Size:0x14, CRC32:0x548E9B79 +class cTalkStateHOrbShop /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateHistory vftable:0x1B98690, Size:0xC, CRC32:0x45C40FB5 +class cTalkStateHistory /*: cTalkState, MtObject*/ { +}; + +// cTalkStateInfDelEvt vftable:0x1B48D68, Size:0xC, CRC32:0x5C25649A +class cTalkStateInfDelEvt /*: cTalkState, MtObject*/ { +}; + +// cTalkStateInfDelViewAll vftable:0x1B49260, Size:0x1C, CRC32:0x97FD201 +class cTalkStateInfDelViewAll /*: cTalkState, MtObject*/ { +}; + +// cTalkStateInfDelViewCategory vftable:0x1B497C0, Size:0x18, CRC32:0x735D43BB +class cTalkStateInfDelViewCategory /*: cTalkState, MtObject*/ { +}; + +// cTalkStateInfDelViewReward vftable:0x1B49CE0, Size:0x1C, CRC32:0x63FF7CF6 +class cTalkStateInfDelViewReward /*: cTalkState, MtObject*/ { +}; + +// cTalkStateInfinityDeliver vftable:0x1B4A238, Size:0x14, CRC32:0x7C87A5B5 +class cTalkStateInfinityDeliver /*: cTalkState, MtObject*/ { +}; + +// cTalkStateInn vftable:0x1B98B88, Size:0xC, CRC32:0x56CBFD04 +class cTalkStateInn /*: cTalkState, MtObject*/ { +}; + +// cTalkStateJobEmblem vftable:0x1B4A768, Size:0x10, CRC32:0x74A607B8 +class cTalkStateJobEmblem /*: cTalkState, MtObject*/ { +}; + +// cTalkStateJobMaster vftable:0x1B99090, Size:0x14, CRC32:0x2A9DA713 +class cTalkStateJobMaster /*: cTalkState, MtObject*/ { +}; + +// cTalkStateKokujuShop vftable:0x1B9C4A0, Size:0x14, CRC32:0x10C65BCE +class cTalkStateKokujuShop /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateKokujuTutorial vftable:0x1B4AC60, Size:0xC, CRC32:0x226B52D9 +class cTalkStateKokujuTutorial /*: cTalkState, MtObject*/ { +}; + +// cTalkStateLv80Up vftable:0x1B4B160, Size:0xC, CRC32:0x77340CF1 +class cTalkStateLv80Up /*: cTalkState, MtObject*/ { +}; + +// cTalkStateMobHuntQuest vftable:0x1B4B658, Size:0xC, CRC32:0x657F066F +class cTalkStateMobHuntQuest /*: cTalkState, MtObject*/ { +}; + +// cTalkStateMyRoomVisit vftable:0x1B4BB50, Size:0x194, CRC32:0x45154807 +class cTalkStateMyRoomVisit /*: cTalkState, MtObject*/ { +}; + +// cTalkStateNewspaper vftable:0x1B99588, Size:0xC, CRC32:0x4DBEB699 +class cTalkStateNewspaper /*: cTalkState, MtObject*/ { +}; + +// cTalkStateOrbCrest vftable:0x1B9C3E0, Size:0x14, CRC32:0x19C49091 +class cTalkStateOrbCrest /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateOrbMaterial vftable:0x1B9C410, Size:0x14, CRC32:0x2F80A1F6 +class cTalkStateOrbMaterial /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateOrbPlPowerUp vftable:0x1B99A80, Size:0x2C, CRC32:0x4AC588F1 +class cTalkStateOrbPlPowerUp /*: cTalkState, MtObject*/ { +}; + +// cTalkStateOrbPlPowerUp2 vftable:0x1B4C0D0, Size:0x2C, CRC32:0x2A75682 +class cTalkStateOrbPlPowerUp2 /*: cTalkState, MtObject*/ { +}; + +// cTalkStateOrbPlPowerUp3 vftable:0x1B4C610, Size:0x2C, CRC32:0x75A06614 +class cTalkStateOrbPlPowerUp3 /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePPShop vftable:0x1B50548, Size:0xC, CRC32:0x6680C5C6 +class cTalkStatePPShop /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePackageQuest vftable:0x1B4CB08, Size:0x18, CRC32:0x54E3BF1F +class cTalkStatePackageQuest /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePackageQuestGreeting vftable:0x1B4D000, Size:0x14, CRC32:0x7452057D +class cTalkStatePackageQuestGreeting /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePartnerPawn vftable:0x1B4D520, Size:0x34, CRC32:0x72E9A984 +class cTalkStatePartnerPawn /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePartyMake vftable:0x1B99F78, Size:0x10, CRC32:0x58B2D66 +class cTalkStatePartyMake /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePawn vftable:0x1B9A470, Size:0x18, CRC32:0x10FCB58B +class cTalkStatePawn /*: cTalkState, MtObject*/ { + class 'mScheduleId' ; // Offset:0xC, Var, CRC32:0x14AAFFC4, Flags:0x0 + bool 'mHasCreatedChoice' ; // Offset:0x14, Var, CRC32:0x8D0586B3, Flags:0x0 +}; + +// cTalkStatePawnExpeditionReward vftable:0x1B4DA54, Size:0x18, CRC32:0x17C1B89 +class cTalkStatePawnExpeditionReward /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePawnExpeditionSally vftable:0x1B4DF68, Size:0x24, CRC32:0x2767DA96 +class cTalkStatePawnExpeditionSally /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePawnQuest vftable:0x1B4E468, Size:0x18, CRC32:0x5E7287C0 +class cTalkStatePawnQuest /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePawnReborn vftable:0x1B4E978, Size:0xC, CRC32:0x9F5DC6F +class cTalkStatePawnReborn /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePawnRevive vftable:0x1B9A9A0, Size:0xC, CRC32:0x21BD7C99 +class cTalkStatePawnRevive /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePotionAdventureUtilityRelease vftable:0x1B4EE8C, Size:0xC, CRC32:0x1311CF61 +class cTalkStatePotionAdventureUtilityRelease /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePotionJobElementRelease vftable:0x1B4F95C, Size:0x1C, CRC32:0x2CF08C56 +class cTalkStatePotionJobElementRelease /*: cTalkState, MtObject*/ { +}; + +// cTalkStatePotionJobLevelUp vftable:0x1B4F9B8, Size:0x2C, CRC32:0x424C45F1 +class cTalkStatePotionJobLevelUp /*: cTalkStatePotionBase, cTalkState, MtObject*/ { +}; + +// cTalkStatePotionJobOrderRelease vftable:0x1B4FA98, Size:0x2C, CRC32:0x55B24FD0 +class cTalkStatePotionJobOrderRelease /*: cTalkStatePotionBase, cTalkState, MtObject*/ { +}; + +// cTalkStatePotionOrbElementRelease vftable:0x1B50040, Size:0xC, CRC32:0x37331C1D +class cTalkStatePotionOrbElementRelease /*: cTalkState, MtObject*/ { +}; + +// cTalkStateQuest vftable:0x1B9AE98, Size:0x18, CRC32:0x2FC7E142 +class cTalkStateQuest /*: cTalkState, MtObject*/ { +}; + +// cTalkStateQuestSelect vftable:0x1B9B39C, Size:0x28, CRC32:0x7233DC3F +class cTalkStateQuestSelect /*: cTalkState, MtObject*/ { +}; + +// cTalkStateRecoverWeak vftable:0x1B9B898, Size:0xC, CRC32:0x1B19C8E4 +class cTalkStateRecoverWeak /*: cTalkState, MtObject*/ { +}; + +// cTalkStateRevivalRecover vftable:0x1B9BD90, Size:0xC, CRC32:0x5017DF5B +class cTalkStateRevivalRecover /*: cTalkState, MtObject*/ { +}; + +// cTalkStateRoomVisitSetting vftable:0x1B50A40, Size:0x10, CRC32:0x6B15DBEE +class cTalkStateRoomVisitSetting /*: cTalkState, MtObject*/ { +}; + +// cTalkStateSearchReport vftable:0x1B50F40, Size:0x10, CRC32:0x4DD32018 +class cTalkStateSearchReport /*: cTalkState, MtObject*/ { +}; + +// cTalkStateSeasonDungeonEnter vftable:0x1B51438, Size:0x2C, CRC32:0x1AA2BC1 +class cTalkStateSeasonDungeonEnter /*: cTalkState, MtObject*/ { +}; + +// cTalkStateSeasonDungeonExtend vftable:0x1B51968, Size:0x14, CRC32:0x2F6AC233 +class cTalkStateSeasonDungeonExtend /*: cTalkState, MtObject*/ { +}; + +// cTalkStateShopArmor vftable:0x1B9C3B0, Size:0x14, CRC32:0x696D1787 +class cTalkStateShopArmor /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateShopEquip vftable:0x1B9C320, Size:0x14, CRC32:0x24392ACB +class cTalkStateShopEquip /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateShopGeneral vftable:0x1B9C2C0, Size:0x14, CRC32:0x1AED881E +class cTalkStateShopGeneral /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateShopItem vftable:0x1B9C2F0, Size:0x14, CRC32:0x695C0D0D +class cTalkStateShopItem /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateShopMaterial vftable:0x1B9C350, Size:0x14, CRC32:0x42EECB4B +class cTalkStateShopMaterial /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateShopWeapon vftable:0x1B9C380, Size:0x14, CRC32:0x7CB0AA36 +class cTalkStateShopWeapon /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateSpecial vftable:0x1B9CFF8, Size:0xC, CRC32:0x2E15401D +class cTalkStateSpecial /*: cTalkState, MtObject*/ { +}; + +// cTalkStateStampBonus vftable:0x1B9D4F0, Size:0xC, CRC32:0x69C35DBE +class cTalkStateStampBonus /*: cTalkState, MtObject*/ { +}; + +// cTalkStateStartFlow vftable:0x1B9D9E8, Size:0x14, CRC32:0x38AE2F0D +class cTalkStateStartFlow /*: cTalkState, MtObject*/ { +}; + +// cTalkStateTPShop vftable:0x1B9C470, Size:0x14, CRC32:0x7D1187D0 +class cTalkStateTPShop /*: cTalkStateShop, cTalkState, MtObject*/ { +}; + +// cTalkStateTraningRoom vftable:0x1B51E68, Size:0x10, CRC32:0x4A7A4967 +class cTalkStateTraningRoom /*: cTalkState, MtObject*/ { +}; + +// cTalkStateWarMission vftable:0x1B52340, Size:0x14, CRC32:0x4FC55F6B +class cTalkStateWarMission /*: cTalkStateGrandMission, cTalkState, MtObject*/ { +}; + +// cTargetCursorOffset vftable:0x1C79754, Size:0x20, CRC32:0x1B604AB7 +class cTargetCursorOffset /*: cUIResource, MtObject*/ { +}; + +// cTargetLink vftable:0x1C12728, Size:0x18, CRC32:0x657CD84C +class cTargetLink /*: MtObject*/ { +}; + +// cTbl2ChatMacro vftable:0x1C77960, Size:0x10, CRC32:0x15654750 +class cTbl2ChatMacro /*: MtObject*/ { + string 'mMacro' ; // Offset:0x4, Var, CRC32:0x533B5C82, Flags:0x0 + u32 'mCmdId' ; // Offset:0x8, Var, CRC32:0x8F27D6E, Flags:0x0 + u32 'mHelpMsgId' ; // Offset:0xC, Var, CRC32:0x7D0C23FB, Flags:0x0 +}; + +// cTbl2ClanEmblemTextureId vftable:0x1C77A74, Size:0xC, CRC32:0x1BEFB5D +class cTbl2ClanEmblemTextureId /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + string 'mName' ; // Offset:0x8, Var, CRC32:0x872AB53A, Flags:0x0 +}; + +// cTbl2ItemIconId vftable:0x1C77B7C, Size:0x10, CRC32:0x771E1047 +class cTbl2ItemIconId /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mId' ; // Offset:0x8, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mVersion' ; // Offset:0xC, Var, CRC32:0x3CFEA0DD, Flags:0x0 +}; + +// cTentacleInfo vftable:0x1B87E00, Size:0x48, CRC32:0x7D2972CA +class cTentacleInfo /*: MtObject*/ { +}; + +// cTexturePNG vftable:0x1C12D04, Size:0x114, CRC32:0x222C920A +class cTexturePNG /*: cUIObject, MtObject*/ { +}; + +// cThinkMgr vftable:0x1BED9B0, Size:0x1270, CRC32:0x1C06BDD1 +class cThinkMgr /*: MtObject*/ { +}; + +// cThinkMgrAct vftable:0x1C1274C, Size:0xA0, CRC32:0x5CA3406D +class cThinkMgrAct /*: MtObject*/ { +}; + +// cThinkMgrTargetData vftable:0x1B0EC08, Size:0x90, CRC32:0x4C843074 +class cThinkMgrTargetData /*: MtObject*/ { +}; + +// cThinkMgrTargetMgr vftable:0x1BED99C, Size:0xE00, CRC32:0x5DC8137C +class cThinkMgrTargetMgr /*: MtObject*/ { +}; + +// cThinkParamRange vftable:0x1C5C968, Size:0x18, CRC32:0x12EABF8A +class cThinkParamRange /*: MtObject*/ { +}; + +// cThinkParamTimer vftable:0x1C5C87C, Size:0x8, CRC32:0x6BBD3BD9 +class cThinkParamTimer /*: MtObject*/ { +}; + +// cThinkTblList vftable:0x1BED988, Size:0x10, CRC32:0x29D0A101 +class cThinkTblList /*: MtObject*/ { +}; + +// cTutorialQuestManager vftable:0x1C12C68, Size:0x20, CRC32:0x33497606 +class cTutorialQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cTutorialTarget vftable:0x1C78CE0, Size:0xC, CRC32:0x2459EF61 +class cTutorialTarget /*: MtObject*/ { + string 'mComment' ; // Offset:0x4, Var, CRC32:0x17962172, Flags:0x0 + string 'mDefine' ; // Offset:0x8, Var, CRC32:0xD204366D, Flags:0x0 +}; + +// cUIObject vftable:0x1AE84A4, Size:0x4, CRC32:0x2E8E9441 +class cUIObject /*: MtObject*/ { +}; + +// cUIResource vftable:0x1C12CE8, Size:0x4, CRC32:0x50870F53 +class cUIResource /*: MtObject*/ { +}; + +// cUndoData vftable:0x1CB4DC8, Size:0x94, CRC32:0x1ED5B2BB +class cUndoData /*: MtObject*/ { +}; + +// cUnit::cHardwareDispCtrl vftable:0x1AE6BD0, Size:0x14, CRC32:0x19D673EA +class cUnit::cHardwareDispCtrl /*: MtObject*/ { + u32 'mFlag' ; // Offset:0xC, Var, CRC32:0x8FD20A6, Flags:0x0 +}; + +// cUnitDieInfo vftable:0x1C12D44, Size:0x8, CRC32:0x4169DCE8 +class cUnitDieInfo /*: MtObject*/ { +}; + +// cUnitTestSAreaExt vftable:0x1B52870, Size:0xC, CRC32:0x16839C95 +class cUnitTestSAreaExt /*: cUnitTestCase, cUnitTest, MtObject*/ { +}; + +// cUnitTestSuite vftable:0x1B528DC, Size:0x20, CRC32:0x375C9D1A +class cUnitTestSuite /*: cUnitTest, MtObject*/ { +}; + +// cUseCompEnemy vftable:0x1C8E1E4, Size:0x8, CRC32:0x448FF6B6 +class cUseCompEnemy /*: cUseComp, MtObject*/ { +}; + +// cUseCompNpc vftable:0x1C989D8, Size:0x8, CRC32:0x540A8A3C +class cUseCompNpc /*: cUseComp, MtObject*/ { +}; + +// cVfxLightInfluence vftable:0x1C8D9A8, Size:0x24, CRC32:0x5C516F07 +class cVfxLightInfluence /*: MtObject*/ { + f32 'mLightIntensity' ; // Offset:0x4, Var, CRC32:0xB003841A, Flags:0x0 + f32 'mCustom1' ; // Offset:0x8, Var, CRC32:0x67165273, Flags:0x0 + f32 'mCustom2' ; // Offset:0xC, Var, CRC32:0xFE1F03C9, Flags:0x0 + f32 'mCustom3' ; // Offset:0x10, Var, CRC32:0x8918335F, Flags:0x0 + f32 'mCustom4' ; // Offset:0x14, Var, CRC32:0x177CA6FC, Flags:0x0 + f32 'mCustom6' ; // Offset:0x18, Var, CRC32:0xF972C7D0, Flags:0x0 + f32 'mEnv1' ; // Offset:0x1C, Var, CRC32:0x9E472B71, Flags:0x0 + f32 'mEnv2' ; // Offset:0x20, Var, CRC32:0x74E7ACB, Flags:0x0 +}; + +// cWSCEpv vftable:0x1C7A81C, Size:0x68, CRC32:0x5F5CEEAA +class cWSCEpv /*: cWeatherScriptCmd, cWeatherObjectRes, MtObject*/ { +}; + +// cWSCParam vftable:0x1C7A798, Size:0x28, CRC32:0x1B138397 +class cWSCParam /*: cWeatherObjectSys, MtObject*/ { +}; + +// cWSCSound vftable:0x1C7A854, Size:0x70, CRC32:0x47673C9A +class cWSCSound /*: cWeatherScriptCmd, cWeatherObjectRes, MtObject*/ { +}; + +// cWSCSoundRnd vftable:0x1C7A884, Size:0x78, CRC32:0xE38A9D3 +class cWSCSoundRnd /*: cWeatherScriptCmd, cWeatherObjectRes, MtObject*/ { +}; + +// cWSCSoundVolume vftable:0x1C7A8B4, Size:0x50, CRC32:0x4FC5D16 +class cWSCSoundVolume /*: cWeatherScriptCmd, cWeatherObjectRes, MtObject*/ { +}; + +// cWSCTimer vftable:0x1C7A8E4, Size:0x4C, CRC32:0x55392104 +class cWSCTimer /*: cWeatherScriptCmd, cWeatherObjectRes, MtObject*/ { +}; + +// cWallHitInfo vftable:0x1C12D70, Size:0xC, CRC32:0x17E78533 +class cWallHitInfo /*: MtObject*/ { +}; + +// cWarpLocation vftable:0x1C78DFC, Size:0x28, CRC32:0x5ADE5712 +class cWarpLocation /*: cUIResource, MtObject*/ { +}; + +// cWeaponOffset vftable:0x1C790B0, Size:0xD0, CRC32:0x5972C165 +class cWeaponOffset /*: MtObject*/ { +}; + +// cWeaponResTable vftable:0x1AF4AA0, Size:0x88, CRC32:0x611C1304 +class cWeaponResTable /*: MtObject*/ { + u32 'mMTag' ; // Offset:0x8, Var, CRC32:0xF584138F, Flags:0x0 + string 'mArcTag' ; // Offset:0x10, Var, CRC32:0x22F2175E, Flags:0x10000 + u32 '' ; // Offset:0x14, Var, CRC32:0xC1512637, Flags:0x0 +}; + +// cWeatherCloudModel vftable:0x1C79E84, Size:0x24, CRC32:0x4D2FCA9B +class cWeatherCloudModel /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherFogInfo vftable:0x1C7A080, Size:0x30, CRC32:0x525CDBE2 +class cWeatherFogInfo /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherInfo vftable:0x1AE2930, Size:0xBC, CRC32:0x7722E4C7 +class cWeatherInfo /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherObjectRes vftable:0x1AE6C60, Size:0x4, CRC32:0x24E35D6B +class cWeatherObjectRes /*: MtObject*/ { +}; + +// cWeatherObjectSys vftable:0x1C13248, Size:0x4, CRC32:0x43566A01 +class cWeatherObjectSys /*: MtObject*/ { +}; + +// cWeatherParam vftable:0x1C79E68, Size:0x60, CRC32:0x6CBAB95 +class cWeatherParam /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherParamEfcInfo vftable:0x1C79F98, Size:0xC, CRC32:0x442F72EA +class cWeatherParamEfcInfo /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherParamInfo vftable:0x1C79EB4, Size:0xE0, CRC32:0x3999CAF2 +class cWeatherParamInfo /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherScript vftable:0x1C132BC, Size:0x88, CRC32:0x5AA0052F +class cWeatherScript /*: cWeatherObjectSys, MtObject*/ { +}; + +// cWeatherScriptCmd vftable:0x1C7A7BC, Size:0x4C, CRC32:0x70E0D598 +class cWeatherScriptCmd /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherScriptCmdCtrl vftable:0x1C1328C, Size:0xC, CRC32:0x7E99BD18 +class cWeatherScriptCmdCtrl /*: cWeatherObjectSys, MtObject*/ { +}; + +// cWeatherScriptCmds vftable:0x1C7A800, Size:0x54, CRC32:0x37A8DB25 +class cWeatherScriptCmds /*: cWeatherObjectRes, MtObject*/ { +}; + +// cWeatherScriptIO vftable:0x1C13270, Size:0x24, CRC32:0x25AEBE0F +class cWeatherScriptIO /*: cWeatherObjectSys, MtObject*/ { +}; + +// cWepCateResTbl vftable:0x1BF71CC, Size:0x30, CRC32:0x3AB77DED +class cWepCateResTbl /*: MtObject*/ { + u32 'mCategory' ; // Offset:0x4, Var, CRC32:0x2EC2295C, Flags:0x0 + string 'mComment' ; // Offset:0x8, Var, CRC32:0x17962172, Flags:0x0 + string 'mArcTag' ; // Offset:0xC, Var, CRC32:0x22F2175E, Flags:0x10000 +}; + +// cWind vftable:0x20D1AE4, Size:0x80, CRC32:0x473221A3 +class cWind /*: MtObject*/ { + vector3 'mBaseDir' ; // Offset:0x20, Var, CRC32:0xE22559F, Flags:0x0 + rangef 'mSpeedParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C9020, Setter:0xB523B0, CRC32:0xDC414FF3, Flags:0x800000 + f32 'mSpeedAmpRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8FE0, Setter:0x17C9890, CRC32:0x8856B151, Flags:0x800000 + f32 'mSpeedAmpValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8FF0, Setter:0x17C98D0, CRC32:0x8C4BE45D, Flags:0x800000 + f32 'mSpeedCycleAdd' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C9010, Setter:0x17C9920, CRC32:0xA805DA8D, Flags:0x800000 + f32 'mSpeedCycle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C9000, Setter:0x17C9910, CRC32:0xC83DE2E9, Flags:0x800000 + rangef 'mDirYawParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8F90, Setter:0xB4FA20, CRC32:0x7577CCA7, Flags:0x800000 + f32 'mDirYawAmpRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8F50, Setter:0x17C97E0, CRC32:0x223052AD, Flags:0x800000 + f32 'mDirYawAmpValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8F60, Setter:0x17C9820, CRC32:0x38EA3C89, Flags:0x800000 + f32 'mDirYawCycleAdd' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8F80, Setter:0x17C9870, CRC32:0x1CA40259, Flags:0x800000 + f32 'mDirYawCycle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8F70, Setter:0x17C9860, CRC32:0x610B61BD, Flags:0x800000 + rangef 'mDirPitchParam' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8F00, Setter:0xB4F9F0, CRC32:0xE7CC6EDE, Flags:0x800000 + f32 'mDirPitchAmpRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8EC0, Setter:0x17C9740, CRC32:0xE415C06D, Flags:0x800000 + f32 'mDirPitchAmpValue' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8ED0, Setter:0x17C9780, CRC32:0xA348DBAB, Flags:0x800000 + f32 'mDirPitchCycleAdd' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8EF0, Setter:0x17C97D0, CRC32:0x8706E57B, Flags:0x800000 + f32 'mDirPitchCycle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C8EE0, Setter:0x17C97C0, CRC32:0xF3B0C3C4, Flags:0x800000 + vector3 'mWindDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17C9070, Setter:0x17C9880, CRC32:0xF75B50CD, Flags:0x810000 +}; + +// cWorldSettingQuestManager vftable:0x1C13790, Size:0x1C, CRC32:0x750B9C46 +class cWorldSettingQuestManager /*: cQuestManagerBase, MtObject*/ { +}; + +// cZCEFLControl vftable:0x1C13E50, Size:0x24, CRC32:0x4E77690C +class cZCEFLControl /*: cZCEffectControl, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + classref 'mSetList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xA016A0, Setter:0xA01AE0, GetCount:0xA016C0, Reallocate:0xA01B30 CRC32:0x52DB360A, Flags:0xA00000 +}; + +// cZCEFLControl::cResourceSet vftable:0x1C13E28, Size:0x10, CRC32:0x47A4805A +class cZCEFLControl::cResourceSet /*: MtObject*/ { + u32 'mResourceType' ; // Offset:0x4, Var, CRC32:0x9B6E716E, Flags:0x0 + u32 'mIndexNo' ; // Offset:0x8, Var, CRC32:0xBB013A6A, Flags:0x0 + u32 'mElementNo' ; // Offset:0xC, Var, CRC32:0x2CED32F0, Flags:0x0 +}; + +// cZCEffectColorControl vftable:0x1C13CC0, Size:0x3C, CRC32:0x4C28B269 +class cZCEffectColorControl /*: cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectColorControlBase vftable:0x1C13CEC, Size:0x3C, CRC32:0x6301BFA5 +class cZCEffectColorControlBase /*: cZCEffectColorControl, cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectColorControlColorOff vftable:0x1C13DC8, Size:0x3C, CRC32:0x1D8CAB13 +class cZCEffectColorControlColorOff /*: cZCEffectColorControl, cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectColorControlDayOff vftable:0x1C13D44, Size:0x3C, CRC32:0x13E6CDB3 +class cZCEffectColorControlDayOff /*: cZCEffectColorControl, cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectColorControlDisregard vftable:0x1C13D9C, Size:0x3C, CRC32:0x5E8BFC8B +class cZCEffectColorControlDisregard /*: cZCEffectColorControl, cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectColorControlNightOff vftable:0x1C13D70, Size:0x3C, CRC32:0x18D5F8F7 +class cZCEffectColorControlNightOff /*: cZCEffectColorControl, cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectColorControlWater vftable:0x1C13D18, Size:0x3C, CRC32:0x351B48BF +class cZCEffectColorControlWater /*: cZCEffectColorControl, cZoneContents, MtObject*/ { + event 'Color to ShadowColor' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x28F64576, Flags:0xA0000 + event 'Default Color Set' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF82D9F6D, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mCorrectType' ; // Offset:0x10, Var, CRC32:0x3BA57669, Flags:0x10000 + color 'mColor' ; // Offset:0x14, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mColorBlend' ; // Offset:0x18, Var, CRC32:0xE941EBF9, Flags:0x0 + f32 'mIntensity' ; // Offset:0x1C, Var, CRC32:0xB52636D6, Flags:0x0 + f32 'mIntensityBlend' ; // Offset:0x20, Var, CRC32:0xDAF9E41A, Flags:0x0 + color 'mShadowColor' ; // Offset:0x24, Var, CRC32:0x46E01F4, Flags:0x0 + f32 'mShadowColorBlend' ; // Offset:0x28, Var, CRC32:0x8F531BE7, Flags:0x0 + f32 'mShadowIntensity' ; // Offset:0x2C, Var, CRC32:0xA1EDE20C, Flags:0x0 + f32 'mShadowIntensityBlend' ; // Offset:0x30, Var, CRC32:0x3DE03D8, Flags:0x0 + f32 'mEnvMapPowerScale' ; // Offset:0x34, Var, CRC32:0xE1629537, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0x38, Var, CRC32:0x2F34FFA3, Flags:0x0 + bool 'mUseShadowColor' ; // Offset:0x39, Var, CRC32:0xB4C230D7, Flags:0x0 + bool 'mUseMixColor' ; // Offset:0x3A, Var, CRC32:0x1AC61E36, Flags:0x0 + bool 'mUsePointLightSupplement' ; // Offset:0x3B, Var, CRC32:0xD5874180, Flags:0x0 +}; + +// cZCEffectControl vftable:0x1C13DF4, Size:0x10, CRC32:0x4D1F566C +class cZCEffectControl /*: cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneCategoryCheckState vftable:0x1C14238, Size:0x14, CRC32:0x61F2C436 +class cZoneCategoryCheckState /*: cZoneCategoryStatusBase, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mStateBit' ; // Offset:0x10, Var, CRC32:0x241F2C1B, Flags:0x0 +}; + +// cZoneCategoryDayNightColorFog vftable:0x1C14120, Size:0xD0, CRC32:0x7CA14C78 +class cZoneCategoryDayNightColorFog /*: cZoneCategoryLight, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + class 'DayFogParam' ; // Offset:0x10, Var, CRC32:0xB42852AA, Flags:0x40000 + class 'NightFogParam' ; // Offset:0x70, Var, CRC32:0x306F4B0D, Flags:0x40000 +}; + +// cZoneCategoryDayNightHemiSphere vftable:0x1C140F0, Size:0xB0, CRC32:0x62BBFE8 +class cZoneCategoryDayNightHemiSphere /*: cZoneCategoryLight, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + class 'DayHemiParam' ; // Offset:0x10, Var, CRC32:0xB78B8A52, Flags:0x40000 + class 'NightHemiParam' ; // Offset:0x60, Var, CRC32:0xFFBDFB00, Flags:0x40000 +}; + +// cZoneCategoryLight vftable:0x1C140C0, Size:0x10, CRC32:0x3D6524E7 +class cZoneCategoryLight /*: cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneCategoryStatus vftable:0x1C1420C, Size:0x14, CRC32:0x34E3E58D +class cZoneCategoryStatus /*: cZoneCategoryStatusBase, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mChangeStatus' ; // Offset:0x10, Var, CRC32:0x70F42F31, Flags:0x0 +}; + +// cZoneCategoryStatusBase vftable:0x1C141E0, Size:0x10, CRC32:0x48872554 +class cZoneCategoryStatusBase /*: cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneCategoryUnitCtrl vftable:0x1C15B6C, Size:0x1C, CRC32:0x3EDD8B87 +class cZoneCategoryUnitCtrl /*: cZoneCategoryUnitCtrlBase, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mZoneLinkType' ; // Offset:0x14, Var, CRC32:0xC446F20F, Flags:0x0 + bool 'mInDoors' ; // Offset:0x18, Var, CRC32:0x6BE6654F, Flags:0x0 +}; + +// cZoneCategoryUnitCtrlBase vftable:0x1C15B40, Size:0x10, CRC32:0x29DB5259 +class cZoneCategoryUnitCtrlBase /*: cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneContactInfo vftable:0x1C154B0, Size:0x30, CRC32:0x42073A42 +class cZoneContactInfo /*: MtObject*/ { + vector3 'mOffset' ; // Offset:0x10, Var, CRC32:0x679663E1, Flags:0x0 + s32 'mHandle' ; // Offset:0x20, Var, CRC32:0xAF1C89E8, Flags:0x0 + s32 'mGroupId' ; // Offset:0x24, Var, CRC32:0x6E63FBAE, Flags:0x0 +}; + +// cZoneContactInfoList vftable:0x1C154FC, Size:0x2C, CRC32:0xACCCEB1 +class cZoneContactInfoList /*: MtObject*/ { + class 'mContactPairListStart' ; // Offset:0x4, Var, CRC32:0x5841A8ED, Flags:0x0 + class 'mContactPairListEnd' ; // Offset:0x18, Var, CRC32:0xE5D9009D, Flags:0x0 +}; + +// cZoneContactPairInfo vftable:0x1C154CC, Size:0x70, CRC32:0x7917BCF1 +class cZoneContactPairInfo /*: MtObject*/ { + class 'mBasic' ; // Offset:0x10, Var, CRC32:0x6DCDEF92, Flags:0x0 + class 'mObject' ; // Offset:0x40, Var, CRC32:0x963102DD, Flags:0x0 +}; + +// cZoneContents vftable:0x20CAA28, Size:0x10, CRC32:0x27A6831E +class cZoneContents /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneExtendObject vftable:0x20D1960, Size:0x8, CRC32:0x49850243 +class cZoneExtendObject /*: nZone::cAllocaterIntermediate, MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x130000 +}; + +// cZoneIndoorGrassOff vftable:0x1C147D4, Size:0x10, CRC32:0xBEFF9C0 +class cZoneIndoorGrassOff /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneIndoorLight vftable:0x1C147A8, Size:0x5C, CRC32:0x497487EC +class cZoneIndoorLight /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + f32 'mLightInfiniteRate' ; // Offset:0x10, Var, CRC32:0x7BF344D8, Flags:0x0 + f32 'mLightHemiRateDay' ; // Offset:0x14, Var, CRC32:0x1CDE2271, Flags:0x0 + f32 'mLightHemiRateDayRev' ; // Offset:0x18, Var, CRC32:0x5D3E0ABD, Flags:0x0 + f32 'mLightHemiRateNight' ; // Offset:0x1C, Var, CRC32:0x80B4FF33, Flags:0x0 + f32 'mLightHemiRateNightRev' ; // Offset:0x20, Var, CRC32:0xB7D1609B, Flags:0x0 + f32 'mLightSubRateDay' ; // Offset:0x24, Var, CRC32:0xB2D2F12F, Flags:0x0 + f32 'mLightSubRateNight' ; // Offset:0x28, Var, CRC32:0xBB56A28B, Flags:0x0 + bool 'mUseSkyFogParam' ; // Offset:0x2C, Var, CRC32:0x32C4386D, Flags:0x0 + f32 'mSkyColorFogUseFrame' ; // Offset:0x30, Var, CRC32:0xD1D0D5BE, Flags:0x0 + class 'mDayFogParamArray' ; // Offset:0x34, Var, CRC32:0xF8444A0, Flags:0x0 + class 'mNightFogParamArray' ; // Offset:0x48, Var, CRC32:0x6F139BEC, Flags:0x0 +}; + +// cZoneIndoorScrlEfcOff vftable:0x1C1482C, Size:0x10, CRC32:0x70011782 +class cZoneIndoorScrlEfcOff /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneIndoorWeatherEffectOff vftable:0x1C14800, Size:0x10, CRC32:0x2391BF50 +class cZoneIndoorWeatherEffectOff /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneIndoorWindCtrl vftable:0x1C14858, Size:0x10, CRC32:0x27753503 +class cZoneIndoorWindCtrl /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// cZoneLayout vftable:0x20C1B14, Size:0xE0, CRC32:0x6019F862 +class cZoneLayout /*: MtObject*/ { + u32 'mHandle' ; // Offset:0x4, Var, CRC32:0xAF1C89E8, Flags:0x30000 + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + custom 'mpNativeResource' ; // Offset:0x8, Var, CRC32:0xBDE76A59, Flags:0x10000 + matrix44 'mWorldMatrix' ; // Offset:0x30, Var, CRC32:0x2B0B1027, Flags:0x10000 + matrix44 'mWorldInverseMatrix' ; // Offset:0x70, Var, CRC32:0xC2308CF2, Flags:0x10000 + classref 'mpContentsPool' ; // Offset:0xB8, Var, CRC32:0xA833121, Flags:0x10000 + class 'mGroupManagerArray' ; // Offset:0xC0, Var, CRC32:0x331D9158, Flags:0x0 + bool 'mFlgEnableApplyOffset' ; // Offset:0xD9, Var, CRC32:0x4B6138EF, Flags:0x10000 + bool 'mFlgEnableQuaternion' ; // Offset:0xDA, Var, CRC32:0x7E1DDA3A, Flags:0x10000 + quaternion 'mQuaternion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14F8410, Setter:0x14F8F20, CRC32:0xE807CC33, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14F7FD0, Setter:0x14F8A90, CRC32:0xFD35DFC8, Flags:0x800000 + vector3 'mWorldOffset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14F8430, Setter:0x14F9250, CRC32:0x8A329B38, Flags:0x800000 + class 'mLayoutElementArray'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x14F8390, Setter:0x0, GetCount:0x14F8400, Reallocate:0x0 CRC32:0x367FD4F1, Flags:0xA30000 +}; + +// cZoneLayout::cDynamicBVHMaster vftable:0x20C1AC8, Size:0xEC, CRC32:0x43A57FE5 +class cZoneLayout::cDynamicBVHMaster /*: MtObject*/ { + class 'mDynamicBVH' ; // Offset:0x4, Var, CRC32:0xC2EA892B, Flags:0x20000 +}; + +// cZoneLayout::cInGameGroupManager vftable:0x20C1AE4, Size:0x1C, CRC32:0x4E75AB01 +class cZoneLayout::cInGameGroupManager /*: MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + classref 'mpUserOwner' ; // Offset:0x8, Var, CRC32:0xB48C7313, Flags:0x0 + classref 'mpSystemOwner' ; // Offset:0xC, Var, CRC32:0x324DB607, Flags:0x0 + classref 'mpResourceGroupManager' ; // Offset:0x10, Var, CRC32:0x8732EBBA, Flags:0x20000 + bool 'mFlgEnable' ; // Offset:0x14, Var, CRC32:0x197FC9FC, Flags:0x0 + classref 'mpDynamicBvhMaster' ; // Offset:0x18, Var, CRC32:0xE8A39BC9, Flags:0x20000 +}; + +// cZoneListenerEffect vftable:0x1C14EC8, Size:0x40, CRC32:0x9032CCA +class cZoneListenerEffect /*: cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// cZoneListenerEffectColor vftable:0x1C14EF4, Size:0x70, CRC32:0x7B70751C +class cZoneListenerEffectColor /*: cZoneListenerEffect, cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// cZoneListenerEffectEFL vftable:0x1C14F20, Size:0xC0, CRC32:0x13188398 +class cZoneListenerEffectEFL /*: cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// cZoneListenerEx vftable:0x20CAA8C, Size:0x58, CRC32:0x7FE8549D +class cZoneListenerEx /*: cZoneListener, MtObject*/ { + u32 'mLayoutElementArrayNum' ; // Offset:0x4C, Var, CRC32:0x8AA745FB, Flags:0x30000 + u32 'mLayoutElementArrayMax' ; // Offset:0x50, Var, CRC32:0xCB92C81C, Flags:0x30000 + bool 'mFlgAutoExpandBuffer' ; // Offset:0x54, Var, CRC32:0x12BF32AE, Flags:0x30000 + classref 'HitLayoutArray'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x166E5B0, Setter:0x0, GetCount:0x166E5D0, Reallocate:0x0 CRC32:0xCD3EA0C8, Flags:0xA30000 +}; + +// cZoneListenerLight vftable:0x1C15448, Size:0xF0, CRC32:0x57AC02E2 +class cZoneListenerLight /*: cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// cZoneListenerMulti vftable:0x1C15590, Size:0x2A0, CRC32:0x79271D10 +class cZoneListenerMulti /*: cZoneMultiListener, cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// cZoneMultiListener vftable:0x1C15564, Size:0x270, CRC32:0x6726C8F1 +class cZoneMultiListener /*: cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// cZoneMultiStack vftable:0x1C15548, Size:0x30, CRC32:0x6093FE24 +class cZoneMultiStack /*: cAIObject, MtObject*/ { +}; + +// cZoneMultiStackNode vftable:0x1C15518, Size:0x38, CRC32:0x3DD4655 +class cZoneMultiStackNode /*: cAIObject, MtObject*/ { +}; + +// cZoneUnitCtrl vftable:0x1C15B98, Size:0x2C, CRC32:0x69BAFC89 +class cZoneUnitCtrl /*: MtObject*/ { +}; + +// cpAIPawnEmChecker vftable:0x1BE3994, Size:0xC8, CRC32:0x23416742 +class cpAIPawnEmChecker /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpAISensor vftable:0x1BE41F4, Size:0x64, CRC32:0x684AAAD3 +class cpAISensor /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpActionManager vftable:0x1BE2AA8, Size:0x178, CRC32:0x2390A77D +class cpActionManager /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpActionRequest vftable:0x1BE2FF8, Size:0x128, CRC32:0x62230D5B +class cpActionRequest /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpAltitudeFallCtrl vftable:0x1BE4708, Size:0x60, CRC32:0x83770A2 +class cpAltitudeFallCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpArbitrationObject vftable:0x1B2BE10, Size:0x2C, CRC32:0xED5DAD1 +class cpArbitrationObject /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpArmedEnemy vftable:0x1B2D888, Size:0xA8, CRC32:0x77904B82 +class cpArmedEnemy /*: cpArmedEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpArmedEnemy015730 vftable:0x1B2C800, Size:0x98, CRC32:0x3CFD7B7B +class cpArmedEnemy015730 /*: cpArmedEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpArmedEnemySmall vftable:0x1B2D268, Size:0x94, CRC32:0x68F85905 +class cpArmedEnemySmall /*: cpArmedEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpBakeJointHuman vftable:0x1B84A18, Size:0x44B0, CRC32:0x223D8287 +class cpBakeJointHuman /*: cpBakeJoint, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + u32 'mBakeType' ; // Offset:0x44A0, Var, CRC32:0xCCEA2FCC, Flags:0x10000 + u32 'mBakeRequestType' ; // Offset:0x44A4, Var, CRC32:0x489D3FB8, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpCatchCtrl vftable:0x1BE7518, Size:0xB0, CRC32:0x6C08104D +class cpCatchCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpChantCommand vftable:0x1BE7A30, Size:0x1AC, CRC32:0x1763E417 +class cpChantCommand /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpCharacterEdit vftable:0x1BE8440, Size:0x390, CRC32:0xACCDEF0 +class cpCharacterEdit /*: cpComponent, MtObject*/ { + event 'createConstraint' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE55E61D8, Flags:0xA0000 + event 'removeConstraint' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x57F6D29B, Flags:0xA0000 + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + classref 'mpBodyModel' ; // Offset:0x44, Var, CRC32:0x837C171D, Flags:0x0 + classref 'mpCnsEdit'[134] ; // Offset:0x7C, Array, CRC32:0xE1A629DB, Flags:0x200000 + bool 'mIsArcReady'[9] ; // Offset:0x305, Array, CRC32:0x9B6F6565, Flags:0x200000 + bool 'mSleep' ; // Offset:0x339, Var, CRC32:0xF287586D, Flags:0x0 + u32 'mSleepRno' ; // Offset:0x33C, Var, CRC32:0x8FA5960, Flags:0x0 + vector3 'mFatAdjust' ; // Offset:0x350, Var, CRC32:0x6CEF1C51, Flags:0x10000 + vector3 'mFatAdjustTrans' ; // Offset:0x360, Var, CRC32:0x3887BCE, Flags:0x10000 + f32 'mFatAdjustBlend' ; // Offset:0x370, Var, CRC32:0xD834145B, Flags:0x10000 + f32 'mHeightScale' ; // Offset:0x378, Var, CRC32:0x80334D7D, Flags:0x0 + u32 'mFlag' ; // Offset:0x380, Var, CRC32:0x8FD20A6, Flags:0x0 + custom 'mpEventFatAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8F8960, Setter:0x8F9980, CRC32:0xE36A1CC1, Flags:0x800000 + custom 'mpCustomFatAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8F8940, Setter:0x8F9940, CRC32:0xAEA3C68C, Flags:0x800000 + custom 'mpJobFatAdjust' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8F8990, Setter:0x8F9A00, CRC32:0x377EE8F4, Flags:0x800000 + custom 'mpColorDef'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x8F8920, Setter:0x8F9900, GetCount:0x8F8930, Reallocate:0x8F9930 CRC32:0x7C891BA7, Flags:0xA00000 + custom 'mpFacialEditJointPresetRes'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x8F8970, Setter:0x8F99C0, GetCount:0x8F8980, Reallocate:0x8F99F0 CRC32:0xBEC36193, Flags:0xA00000 + custom 'mpOrgJointPresetRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8F8B60, Setter:0x8F9A70, CRC32:0x9BDD8FC7, Flags:0x800000 + custom 'mpMuscleConstRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8F8B50, Setter:0x8F9A40, CRC32:0x3FC5158B, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x5AB330, Setter:0x8F9AB0, CRC32:0xE80A92B5, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpChargeCtrl vftable:0x1BF0278, Size:0x94, CRC32:0x1733ED24 +class cpChargeCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpCheckWallCliff vftable:0x1BE8F40, Size:0x150, CRC32:0x3BF86F27 +class cpCheckWallCliff /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpComponent vftable:0x1BE8F98, Size:0x28, CRC32:0x6010CE8 +class cpComponent /*: MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpContentsEnemy vftable:0x1B2ECD0, Size:0x30, CRC32:0xCF98982 +class cpContentsEnemy /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpContentsPlayer vftable:0x1B2F1D0, Size:0x28, CRC32:0x66D00A7B +class cpContentsPlayer /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpCorePointCtrl vftable:0x1B8590C, Size:0x258, CRC32:0x24E99F7 +class cpCorePointCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpDDMrlMgr vftable:0x1BE9724, Size:0x10F0, CRC32:0x66446717 +class cpDDMrlMgr /*: cpComponent, MtObject*/ { + event32 'RequestHakuryuStonePhase3' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xA4244E57, Flags:0xA0000 + event32 'RequestHakuryuStonePhase2' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD3237EC1, Flags:0xA0000 + event32 'RequestHakuryuStonePhase1' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4A2A2F7B, Flags:0xA0000 + event32 'RequestHakuryuStonePhase0' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x3D2D1FED, Flags:0xA0000 + event32 'RequestMaterialMode' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x78A2AE21, Flags:0xA0000 + event32 'SetToDefaultFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF88848BF, Flags:0xA0000 + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + u32 'mSdlAnimationRequestNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FECE0, Setter:0x9007E0, CRC32:0x3B006E3F, Flags:0x800000 + u32 'mSdlOutlineRequestNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FED10, Setter:0x9009C0, CRC32:0xF1A7C48C, Flags:0x800000 + classref 'mpDDMaterialCtrl'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x49B0D0, Setter:0x900550, GetCount:0x8FECB0, Reallocate:0x900590 CRC32:0x3A97E4D0, Flags:0xA00000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpDDMrlMgr::cMaterialAnimationRequestData vftable:0x1BE96FC, Size:0x20, CRC32:0x2861D15C +class cpDDMrlMgr::cMaterialAnimationRequestData /*: MtObject*/ { +}; + +// cpDragonSkill vftable:0x1B2F6D8, Size:0x8C, CRC32:0x743DE3DC +class cpDragonSkill /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEfcFootSmoke vftable:0x1BE9D28, Size:0x28, CRC32:0x49D6F984 +class cpEfcFootSmoke /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEfcSequenceGeneral vftable:0x1B86900, Size:0x50, CRC32:0x51C74122 +class cpEfcSequenceGeneral /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEfcTouchDownSmoke vftable:0x1BEA228, Size:0x28, CRC32:0x4BD4A488 +class cpEfcTouchDownSmoke /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEfcWeaponAfterimage vftable:0x1BEA730, Size:0x58, CRC32:0xE7F32BE +class cpEfcWeaponAfterimage /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEffectProvider vftable:0x1BEAC38, Size:0xB0, CRC32:0x117EDBF7 +class cpEffectProvider /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + custom 'mprResource'[17] ; // Offset:0x28, Array, CRC32:0x7E1B2CE, Flags:0x200000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEffectStatusManager vftable:0x1BEB164, Size:0x50, CRC32:0x998630E +class cpEffectStatusManager /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEmDmgTimer vftable:0x1BEB680, Size:0x3C, CRC32:0x4F0FA75F +class cpEmDmgTimer /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEmLvUpCtrl vftable:0x1BEBB80, Size:0x34, CRC32:0x273435EC +class cpEmLvUpCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEmMontageCtrl vftable:0x1B86E08, Size:0x30, CRC32:0x6C626006 +class cpEmMontageCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEmParamCtrl vftable:0x1BEC080, Size:0x2C, CRC32:0x5044FA7E +class cpEmParamCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEmWarpCtrl vftable:0x1B86E5C, Size:0xE0, CRC32:0x3E358F5F +class cpEmWarpCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyEffect vftable:0x1BEC590, Size:0x2C, CRC32:0x2B2DDE69 +class cpEnemyEffect /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyLocalEst vftable:0x1BECA90, Size:0x2C, CRC32:0x547E6D7A +class cpEnemyLocalEst /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyLocalShel vftable:0x1B87360, Size:0x34, CRC32:0x42D8ACFE +class cpEnemyLocalShel /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyMaterial vftable:0x1BECF90, Size:0x2C, CRC32:0x49B1F5F7 +class cpEnemyMaterial /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyReact vftable:0x1B8787C, Size:0x268, CRC32:0x9372B76 +class cpEnemyReact /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemySbc vftable:0x1B305F0, Size:0x38, CRC32:0x2ED47B33 +class cpEnemySbc /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemySound vftable:0x1BED490, Size:0x2C, CRC32:0x68DC8727 +class cpEnemySound /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyThink vftable:0x1BEDAD0, Size:0x3DB0, CRC32:0x42A8240B +class cpEnemyThink /*: cpThinkBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyThink015730 vftable:0x1B30AF0, Size:0x3DB0, CRC32:0x682A3242 +class cpEnemyThink015730 /*: cpEnemyThink, cpThinkBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyThink015861 vftable:0x1B31028, Size:0x3DC0, CRC32:0x6906B1AC +class cpEnemyThink015861 /*: cpEnemyThink, cpThinkBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEnemyThinkEvilEyeFog vftable:0x1B31558, Size:0x3DB0, CRC32:0x1F44DDC8 +class cpEnemyThinkEvilEyeFog /*: cpEnemyThink, cpThinkBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEquip vftable:0x1BEE02C, Size:0x668, CRC32:0x267F6091 +class cpEquip /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + u32 'mFlag' ; // Offset:0x1CC, Var, CRC32:0x8FD20A6, Flags:0x0 + class 'mWeapon'[4] ; // Offset:0x1D4, Array, CRC32:0x57AF0ED7, Flags:0x200000 + class 'mArmor'[7] ; // Offset:0x2C4, Array, CRC32:0x4293643D, Flags:0x200000 + class 'mHair' ; // Offset:0x4A8, Var, CRC32:0x45FEAA25, Flags:0x0 + class 'mMakeup' ; // Offset:0x4E4, Var, CRC32:0x3F10CFAD, Flags:0x0 + class 'mBeard' ; // Offset:0x520, Var, CRC32:0xCA5F51E2, Flags:0x0 + class 'mUnderwear' ; // Offset:0x55C, Var, CRC32:0x1B033051, Flags:0x0 + class 'mUnderwear2' ; // Offset:0x598, Var, CRC32:0xD4A033D2, Flags:0x0 + class 'mLantern' ; // Offset:0x5D4, Var, CRC32:0xAA70F609, Flags:0x0 + class 'mNpcItem' ; // Offset:0x610, Var, CRC32:0x8EDACEB8, Flags:0x0 + custom 'mpWeaponResTable' ; // Offset:0x650, Var, CRC32:0x3F60615E, Flags:0x0 + custom 'mpPartsInfo' ; // Offset:0x658, Var, CRC32:0x88ABA458, Flags:0x0 + bool 'mUpdate' ; // Offset:0x660, Var, CRC32:0xA6B99C49, Flags:0x0 + custom 'mpEquipPresetRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x90B280, Setter:0x90C480, CRC32:0x257C077E, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpEquip::cEquipInfo vftable:0x1BEE018, Size:0x3C, CRC32:0x975D81B +class cpEquip::cEquipInfo /*: MtObject*/ { +}; + +// cpErosionEnemy vftable:0x1B87D80, Size:0x258, CRC32:0x7F98B077 +class cpErosionEnemy /*: cpErosionEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpErosionEnemySmall vftable:0x1B31FE8, Size:0xB4, CRC32:0x44025475 +class cpErosionEnemySmall /*: cpErosionEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpErosionSuperEnemy vftable:0x1B87E20, Size:0x3A0, CRC32:0x238E4827 +class cpErosionSuperEnemy /*: cpErosionEnemy, cpErosionEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpErosionSuperEnemySmall vftable:0x1B32068, Size:0xB4, CRC32:0x3166686C +class cpErosionSuperEnemySmall /*: cpErosionEnemySmall, cpErosionEnemyBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpFSMAutoPlayCtrl vftable:0x1B32AC8, Size:0x28, CRC32:0x7506E53A +class cpFSMAutoPlayCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpFlightCtrl vftable:0x1BEE5FC, Size:0xBC, CRC32:0x6623D357 +class cpFlightCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpFlightCtrl::cSpeedCtrl vftable:0x1BEE5E0, Size:0x14, CRC32:0x34CDCE58 +class cpFlightCtrl::cSpeedCtrl /*: MtObject*/ { +}; + +// cpForceField vftable:0x1B325C8, Size:0x350, CRC32:0x65BE2F34 +class cpForceField /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpFsmCtrl vftable:0x1BEEB18, Size:0xB0, CRC32:0x18D34A28 +class cpFsmCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpFsmItem vftable:0x1B87ED8, Size:0x34, CRC32:0x5EA1E4C +class cpFsmItem /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + classref 'mpItem' ; // Offset:0x2C, Var, CRC32:0x9DE8F72B, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpHeadCtrl vftable:0x1BEEB7C, Size:0xF0, CRC32:0x59BE5D1F +class cpHeadCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpHmHeadCtrl vftable:0x1B8841C, Size:0x600, CRC32:0xA3D420C +class cpHmHeadCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpHmHeadCtrl::cActParam vftable:0x1B88408, Size:0x54, CRC32:0x62D2BD53 +class cpHmHeadCtrl::cActParam /*: MtObject*/ { +}; + +// cpHpDamageCtrl vftable:0x1BEF0C8, Size:0x370, CRC32:0x5150C532 +class cpHpDamageCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpHugeble vftable:0x1BEF710, Size:0xA0, CRC32:0x646A6292 +class cpHugeble /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpHumanWarpCtrl vftable:0x1B32FD0, Size:0x60, CRC32:0x35EDCA71 +class cpHumanWarpCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpIKCtrl vftable:0x1BEF780, Size:0x3A0, CRC32:0x2CF16441 +class cpIKCtrl /*: cpComponent, MtObject*/ { + event 'XV' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x506E4FD6, Flags:0xA0000 + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + bool 'mFBIKActive' ; // Offset:0x70, Var, CRC32:0xE1566998, Flags:0x0 + class 'mIKHandle'[5] ; // Offset:0x80, Array, CRC32:0xE3EAF1AB, Flags:0x200000 + classref 'mpCnsIKHandle'[5] ; // Offset:0x350, Array, CRC32:0x83844A9D, Flags:0x200000 + classref 'mpCnsIKTarget'[5] ; // Offset:0x364, Array, CRC32:0x546B45B8, Flags:0x200000 + classref 'mpCnsIK'[4] ; // Offset:0x378, Array, CRC32:0xD1781891, Flags:0x200000 + classref 'mpFBIK' ; // Offset:0x388, Var, CRC32:0xE51900C, Flags:0x0 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x91B690, Setter:0x91C400, CRC32:0xE80A92B5, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpInput vftable:0x1BEFD78, Size:0x1D0, CRC32:0xC2491F6 +class cpInput /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpInputKeyboard vftable:0x1BF0778, Size:0x3C, CRC32:0x3656F7CE +class cpInputKeyboard /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpInputPad vftable:0x1BF0C98, Size:0x28, CRC32:0x3F9581F3 +class cpInputPad /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpInvincibleCtrl vftable:0x1BF11B8, Size:0x428, CRC32:0x2A785C3F +class cpInvincibleCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpInvincibleCtrl::cInvInfo vftable:0x1BF11A0, Size:0x14, CRC32:0x5C4C725F +class cpInvincibleCtrl::cInvInfo /*: MtObject*/ { +}; + +// cpInvincibleCtrlEnemy vftable:0x1B334F0, Size:0x540, CRC32:0x6B5FE83D +class cpInvincibleCtrlEnemy /*: cpInvincibleCtrl, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpInvincibleCtrlEnemy::cRegionDamageAttr vftable:0x1B334D8, Size:0x14, CRC32:0x47C0B645 +class cpInvincibleCtrlEnemy::cRegionDamageAttr /*: MtObject*/ { +}; + +// cpItemThrow vftable:0x1B33A40, Size:0x40, CRC32:0x54B8F76C +class cpItemThrow /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob01 vftable:0x1BF1700, Size:0x40, CRC32:0x6722F502 +class cpJob01 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob02 vftable:0x1BF1D00, Size:0x160, CRC32:0x7E2BA4B8 +class cpJob02 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob02::cKaenKoromoInfo vftable:0x1BF1CEC, Size:0x20, CRC32:0x2F560C7C +class cpJob02::cKaenKoromoInfo /*: MtObject*/ { +}; + +// cpJob02::cPullUpInfo vftable:0x1BF1CD0, Size:0x80, CRC32:0xCA2E97 +class cpJob02::cPullUpInfo /*: MtObject*/ { +}; + +// cpJob03 vftable:0x1BF25C8, Size:0x2E0, CRC32:0x92C942E +class cpJob03 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob03::uLineCtrlUnit vftable:0x1BF2300, Size:0x1D80, CRC32:0x719895B +class cpJob03::uLineCtrlUnit /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// cpJob04 vftable:0x1BF2DD8, Size:0x88, CRC32:0x1748018D +class cpJob04 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob05 vftable:0x1BF33B8, Size:0xB8, CRC32:0x604F311B +class cpJob05 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob05::ForceGaugeInfo vftable:0x1BF33A4, Size:0x10, CRC32:0x4E32F1CC +class cpJob05::ForceGaugeInfo /*: MtObject*/ { +}; + +// cpJob06 vftable:0x1BF39F8, Size:0xD0, CRC32:0x794660A1 +class cpJob06 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob07 vftable:0x1BF3FC0, Size:0x5C, CRC32:0xE415037 +class cpJob07 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob08 vftable:0x1BF4588, Size:0x68, CRC32:0x1EFE4DA6 +class cpJob08 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob09 vftable:0x1BF4BD8, Size:0x240, CRC32:0x69F97D30 +class cpJob09 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob09::cAlchemyEvaluationData vftable:0x1BF4B74, Size:0x10, CRC32:0x103113F7 +class cpJob09::cAlchemyEvaluationData /*: MtObject*/ { +}; + +// cpJob09::cJob09ShlInfo vftable:0x1BF4B58, Size:0xC, CRC32:0x40CC57D7 +class cpJob09::cJob09ShlInfo /*: MtObject*/ { +}; + +// cpJob10 vftable:0x1B889F8, Size:0x160, CRC32:0x93EF4D5 +class cpJob10 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob10::cSpiritManager vftable:0x1B88BEC, Size:0x28, CRC32:0x2C3D6949 +class cpJob10::cSpiritManager /*: MtObject*/ { +}; + +// cpJob10::cSpiritManager::cSpiritState vftable:0x1B88B08, Size:0x8, CRC32:0x2F2EBF10 +class cpJob10::cSpiritManager::cSpiritState /*: MtObject*/ { +}; + +// cpJob10::cSpiritManager::cSpiritStateBoost vftable:0x1B88BA8, Size:0xC, CRC32:0x54B965B8 +class cpJob10::cSpiritManager::cSpiritStateBoost /*: cpJob10::cSpiritManager::cSpiritState, MtObject*/ { +}; + +// cpJob10::cSpiritManager::cSpiritStateNormal vftable:0x1B88B58, Size:0xC, CRC32:0x755688FF +class cpJob10::cSpiritManager::cSpiritStateNormal /*: cpJob10::cSpiritManager::cSpiritState, MtObject*/ { +}; + +// cpJob11 vftable:0x1B34760, Size:0x4F0, CRC32:0x7E39C443 +class cpJob11 /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJob11::cDimensionSlashTargetInfo vftable:0x1B34738, Size:0x30, CRC32:0x6A024E5A +class cpJob11::cDimensionSlashTargetInfo /*: MtObject*/ { +}; + +// cpJob11::cMagicLockManager vftable:0x1B34880, Size:0x11C, CRC32:0x134DC4 +class cpJob11::cMagicLockManager /*: MtObject*/ { +}; + +// cpJob11::cMagicManager vftable:0x1B3489C, Size:0x14, CRC32:0x26FB744A +class cpJob11::cMagicManager /*: MtObject*/ { +}; + +// cpJob11::cMagicTargetInfo vftable:0x1B34864, Size:0x14, CRC32:0x14CF1271 +class cpJob11::cMagicTargetInfo /*: MtObject*/ { +}; + +// cpJob11::cPawnDataManager vftable:0x1B348B8, Size:0x20, CRC32:0x21527A1A +class cpJob11::cPawnDataManager /*: MtObject*/ { +}; + +// cpJob11::cShadowEdgeHitInfo vftable:0x1B34708, Size:0x20, CRC32:0x67757B21 +class cpJob11::cShadowEdgeHitInfo /*: MtObject*/ { +}; + +// cpJobBase vftable:0x1B33F68, Size:0x2C, CRC32:0x6BA1FA76 +class cpJobBase /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJobLeo vftable:0x1B34070, Size:0x138, CRC32:0x30583674 +class cpJobLeo /*: cpJobBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJointEx2 vftable:0x1B88CEC, Size:0x30, CRC32:0x27614426 +class cpJointEx2 /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpJointOrder vftable:0x1B88D3C, Size:0x30, CRC32:0x59D284F9 +class cpJointOrder /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpKeepAtkAdjust vftable:0x1BF525C, Size:0xAB4, CRC32:0x3950508C +class cpKeepAtkAdjust /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpKeepAtkAdjust::cAtkAdjust vftable:0x1BF5248, Size:0x54, CRC32:0x3DD1C7B3 +class cpKeepAtkAdjust::cAtkAdjust /*: MtObject*/ { +}; + +// cpKeyCommand vftable:0x1BF57F0, Size:0x190, CRC32:0x3A6E6BAA +class cpKeyCommand /*: cpThinkBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpKeyCommandManager vftable:0x1B35038, Size:0x94, CRC32:0x1089610B +class cpKeyCommandManager /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpLayout vftable:0x1BF77B8, Size:0x40, CRC32:0x24859892 +class cpLayout /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpLegCtrl vftable:0x1B89240, Size:0x360, CRC32:0x239CEC41 +class cpLegCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpLockOn vftable:0x1BF7D18, Size:0x4C, CRC32:0x7BD31ED7 +class cpLockOn /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + class 'mArray' ; // Offset:0x28, Var, CRC32:0x5CB87476, Flags:0x0 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x959A50, Setter:0x959E00, CRC32:0xE80A92B5, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpLockOn::cLockOnTarget vftable:0x1BF7CEC, Size:0xA0, CRC32:0x7FE5E6A0 +class cpLockOn::cLockOnTarget /*: cGeneralPoint, MtObject*/ { +}; + +// cpLockOnTargetManager vftable:0x1BF8240, Size:0xB8, CRC32:0x3601C269 +class cpLockOnTargetManager /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMagma vftable:0x1B35A68, Size:0x80, CRC32:0x5768EE27 +class cpMagma /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpModelConst vftable:0x1B892BC, Size:0xD0, CRC32:0x5266A92A +class cpModelConst /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMotionCamera vftable:0x1BF8748, Size:0x48, CRC32:0x59BE598C +class cpMotionCamera /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMotionFilter vftable:0x1BF879C, Size:0x70, CRC32:0x1D66E894 +class cpMotionFilter /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + f32 'mManWomanRate' ; // Offset:0x34, Var, CRC32:0x745213D, Flags:0x0 + f32 'mManWoman' ; // Offset:0x38, Var, CRC32:0x66E8C9A1, Flags:0x10000 + bool 'mSleep' ; // Offset:0x3C, Var, CRC32:0xF287586D, Flags:0x0 + classref 'mpMotFilter'[10] ; // Offset:0x40, Array, CRC32:0xEEA4943, Flags:0x200000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x95DEC0, Setter:0x95DFC0, CRC32:0xE80A92B5, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMotionHistory vftable:0x1BF8840, Size:0xC0, CRC32:0x61BE06F5 +class cpMotionHistory /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMotionRate vftable:0x1BF8894, Size:0x78, CRC32:0x7A54BA1A +class cpMotionRate /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMotionSe vftable:0x1BF8D98, Size:0x150, CRC32:0x10B3C0CB +class cpMotionSe /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpMrlChangeRequest vftable:0x1B897D0, Size:0x30, CRC32:0x67F99B0E +class cpMrlChangeRequest /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpNpc vftable:0x1BF9298, Size:0x2C, CRC32:0xDF04C3D +class cpNpc /*: cpComponent, MtObject*/ { + u32 'mNpcId' ; // Offset:0x28, Var, CRC32:0x575E2018, Flags:0x0 +}; + +// cpNpcAttend vftable:0x1B35ABC, Size:0x28, CRC32:0x78EF6661 +class cpNpcAttend /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpObjCliision vftable:0x1BF9A3C, Size:0xAC30, CRC32:0x1829D09C +class cpObjCliision /*: cpObjCollisionBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpObjCliisionLight vftable:0x1BE223C, Size:0x2530, CRC32:0x6BDC1250 +class cpObjCliisionLight /*: cpObjCollisionBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpObjCollisionBase::cHitFlag vftable:0x1BF9990, Size:0x30, CRC32:0x21A61ECB +class cpObjCollisionBase::cHitFlag /*: MtObject*/ { +}; + +// cpOcdCtrl vftable:0x1BF9FC0, Size:0x468, CRC32:0x38D6F11 +class cpOcdCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpOcdCtrlEnemy vftable:0x1BFA070, Size:0x468, CRC32:0x7900C7 +class cpOcdCtrlEnemy /*: cpOcdCtrl, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpOcdCtrlHuman vftable:0x1BFA018, Size:0x468, CRC32:0x5E848F9B +class cpOcdCtrlHuman /*: cpOcdCtrl, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpOm511325 vftable:0x1B38BF0, Size:0x280, CRC32:0x5155453C +class cpOm511325 /*: cpOmSoulOrdeal, cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOm511328 vftable:0x1B38D20, Size:0xD0, CRC32:0x2FE43981 +class cpOm511328 /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOm511380 vftable:0x1B38C68, Size:0x210, CRC32:0x5BD05939 +class cpOm511380 /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmActText vftable:0x1BFC148, Size:0xD0, CRC32:0x3B71D0DD +class cpOmActText /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmAloneWarp vftable:0x1BFC250, Size:0x1C0, CRC32:0x4ED181F +class cpOmAloneWarp /*: cpOmWarp, cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBadStatus vftable:0x1BFBC78, Size:0x120, CRC32:0x58E3CE2B +class cpOmBadStatus /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + f32 'mBadRadius' ; // Offset:0xC0, Var, CRC32:0x26A231D4, Flags:0x0 + f32 'mBadHeight' ; // Offset:0xC4, Var, CRC32:0xE893BA81, Flags:0x0 + vector3 'mBadPos' ; // Offset:0xD0, Var, CRC32:0x9DA1E134, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBase vftable:0x1BFACF0, Size:0xC0, CRC32:0x76BFD2E3 +class cpOmBase /*: cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBaseEx vftable:0x1BFAD48, Size:0xD0, CRC32:0x4E5EA726 +class cpOmBaseEx /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBath vftable:0x1BFBA10, Size:0xD0, CRC32:0x474F3899 +class cpOmBath /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBattleContentPortal vftable:0x1B375E8, Size:0x120, CRC32:0x459A94F2 +class cpOmBattleContentPortal /*: cpOmSpAreaChangeBase, cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBeaconMapMarker vftable:0x1B37B50, Size:0xD0, CRC32:0xE77F731 +class cpOmBeaconMapMarker /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBitterBlackPortal vftable:0x1B38068, Size:0x130, CRC32:0x5E052C13 +class cpOmBitterBlackPortal /*: cpOmBattleContentPortal, cpOmSpAreaChangeBase, cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBlink vftable:0x1BFA5D8, Size:0x40, CRC32:0x63BA9370 +class cpOmBlink /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpOmBowlOfLife vftable:0x1BFB238, Size:0xD0, CRC32:0x3E6AF088 +class cpOmBowlOfLife /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreak vftable:0x1BFB908, Size:0xD0, CRC32:0x5DFE5677 +class cpOmBreak /*: cpOmBase, cpComponent, MtObject*/ { +}; + +// cpOmBreak::ActBreak vftable:0x1BFB8C8, Size:0x14, CRC32:0x35A3C942 +class cpOmBreak::ActBreak /*: cAction, MtObject*/ { +}; + +// cpOmBreak::ActWait vftable:0x1BFB880, Size:0x14, CRC32:0x2EAEA920 +class cpOmBreak::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmBreakDoor vftable:0x1BFBD28, Size:0xF0, CRC32:0x67178C72 +class cpOmBreakDoor /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreakEx vftable:0x1BFBD80, Size:0x100, CRC32:0x31A68440 +class cpOmBreakEx /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreakFloor vftable:0x1B38698, Size:0xD0, CRC32:0x17FE871E +class cpOmBreakFloor /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreakFriend vftable:0x1B36BE8, Size:0x160, CRC32:0x211CC811 +class cpOmBreakFriend /*: cpOmBreakNormal, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreakHeal vftable:0x1B385E0, Size:0x110, CRC32:0x44DAA6F1 +class cpOmBreakHeal /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreakNormal vftable:0x1B36B90, Size:0x100, CRC32:0x55770C94 +class cpOmBreakNormal /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmBreakTarget vftable:0x1BFBCD0, Size:0xF0, CRC32:0x329D4B8C +class cpOmBreakTarget /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmButai vftable:0x1BFC3B0, Size:0xD0, CRC32:0x33C3C6A5 +class cpOmButai /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmCannon vftable:0x1BFB028, Size:0x1E0, CRC32:0x309B6D59 +class cpOmCannon /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmCarrying vftable:0x1BFB6A8, Size:0xC0, CRC32:0x51EBDF14 +class cpOmCarrying /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmCarrying::ActCatch vftable:0x1BFB548, Size:0x14, CRC32:0x7F69BEA0 +class cpOmCarrying::ActCatch /*: cAction, MtObject*/ { +}; + +// cpOmCarrying::ActDrop vftable:0x1BFB620, Size:0x18, CRC32:0x48EB7F65 +class cpOmCarrying::ActDrop /*: cAction, MtObject*/ { +}; + +// cpOmCarrying::ActPut vftable:0x1BFB5D8, Size:0x14, CRC32:0x6225B1C5 +class cpOmCarrying::ActPut /*: cAction, MtObject*/ { +}; + +// cpOmCarrying::ActThrow vftable:0x1BFB590, Size:0x18, CRC32:0x759184F3 +class cpOmCarrying::ActThrow /*: cAction, MtObject*/ { +}; + +// cpOmCarrying::ActVanish vftable:0x1BFB668, Size:0x14, CRC32:0x5D5E49A3 +class cpOmCarrying::ActVanish /*: cAction, MtObject*/ { +}; + +// cpOmCarrying::ActWait vftable:0x1BFB500, Size:0x14, CRC32:0x4510F9A2 +class cpOmCarrying::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmClanQuestBoard vftable:0x1B39688, Size:0xD0, CRC32:0x1112D206 +class cpOmClanQuestBoard /*: cpOmBase, cpComponent, MtObject*/ { +}; + +// cpOmClock vftable:0x1BFC460, Size:0xD0, CRC32:0x6FF9B83F +class cpOmClock /*: cpOmBase, cpComponent, MtObject*/ { +}; + +// cpOmDarkBox vftable:0x1B36AE0, Size:0x210, CRC32:0x32BEDBFE +class cpOmDarkBox /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmDarkGate vftable:0x1B36E08, Size:0xD0, CRC32:0x761A6623 +class cpOmDarkGate /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmDeathMon vftable:0x1B3A9E0, Size:0xD0, CRC32:0x124520A8 +class cpOmDeathMon /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmDelivery vftable:0x1B39408, Size:0xC0, CRC32:0x4C8CBE6A +class cpOmDelivery /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmDelivery::ActTouch vftable:0x1B393C8, Size:0x14, CRC32:0x3B1D76A4 +class cpOmDelivery::ActTouch /*: cAction, MtObject*/ { +}; + +// cpOmDelivery::ActWait vftable:0x1B39380, Size:0x14, CRC32:0xED93636 +class cpOmDelivery::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmDoor vftable:0x1BFB960, Size:0xF0, CRC32:0x3CEE78AF +class cpOmDoor /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmDropItem vftable:0x1BFD1C8, Size:0x220, CRC32:0x2F64EA2C +class cpOmDropItem /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmEXM vftable:0x1BFBEE0, Size:0xD0, CRC32:0x4C5E3E24 +class cpOmEXM /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmElfSW vftable:0x1BFB4A0, Size:0xE0, CRC32:0x1F413C64 +class cpOmElfSW /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmErosionBlock vftable:0x1BFBE88, Size:0xD0, CRC32:0x387383E6 +class cpOmErosionBlock /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmEventViewerWarp vftable:0x1B36CF0, Size:0xD0, CRC32:0x4F9BD15 +class cpOmEventViewerWarp /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmFX vftable:0x1B3A2A8, Size:0xD0, CRC32:0x7964E23A +class cpOmFX /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmFall vftable:0x1BFB398, Size:0x110, CRC32:0x4D5BF38E +class cpOmFall /*: cpOmBase, cpComponent, MtObject*/ { + f32 'mHeight' ; // Offset:0xCC, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mBreakHeight' ; // Offset:0xD0, Var, CRC32:0x8E689CB6, Flags:0x0 + f32 'mSpeed' ; // Offset:0xD8, Var, CRC32:0xF2926437, Flags:0x0 + f32 'mAcce' ; // Offset:0xDC, Var, CRC32:0x424E5C8C, Flags:0x0 + bool 'mbReset' ; // Offset:0x100, Var, CRC32:0x9AB0C4A1, Flags:0x0 +}; + +// cpOmFeed vftable:0x1BFC098, Size:0xD0, CRC32:0x154B6829 +class cpOmFeed /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmFell vftable:0x1BFC510, Size:0x240, CRC32:0x4A525B52 +class cpOmFell /*: cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmFlagMapMarker vftable:0x1B39CA0, Size:0xD0, CRC32:0x1559DF78 +class cpOmFlagMapMarker /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmFogBlock vftable:0x1BFBDD8, Size:0xD0, CRC32:0x645C68FA +class cpOmFogBlock /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmFxBlock vftable:0x1BFBE30, Size:0xD0, CRC32:0x2590C2DA +class cpOmFxBlock /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmGate vftable:0x1BFBAC0, Size:0xD0, CRC32:0xE20B416 +class cpOmGate /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmGather vftable:0x1BFD708, Size:0x230, CRC32:0x7ECD50C3 +class cpOmGather /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmGauge vftable:0x1B3A300, Size:0x110, CRC32:0x7A760887 +class cpOmGauge /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmHakuryuu vftable:0x1BFB1E0, Size:0xD0, CRC32:0xBD0D2A2 +class cpOmHakuryuu /*: cpOmBase, cpComponent, MtObject*/ { +}; + +// cpOmHanabi vftable:0x1BFC408, Size:0xD0, CRC32:0x7ACA3149 +class cpOmHanabi /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmHeal vftable:0x1BFB9B8, Size:0xD0, CRC32:0x1F23522C +class cpOmHeal /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmHugeRim vftable:0x1B36EB8, Size:0x110, CRC32:0x2277EDB +class cpOmHugeRim /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmHugeRimShl vftable:0x1B36F10, Size:0xF0, CRC32:0x12B067F5 +class cpOmHugeRimShl /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmHvLever vftable:0x1BFC0F0, Size:0xD0, CRC32:0x2C5BBEA5 +class cpOmHvLever /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmJukeBox vftable:0x1BFAF20, Size:0x110, CRC32:0x77E962EE +class cpOmJukeBox /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmKeep vftable:0x1B39320, Size:0xD0, CRC32:0x7DFB6489 +class cpOmKeep /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmKeyPoint vftable:0x1BFC618, Size:0x240, CRC32:0x564B2588 +class cpOmKeyPoint /*: cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmKeyPointBox vftable:0x1B36A88, Size:0x260, CRC32:0x297ED5D9 +class cpOmKeyPointBox /*: cpOmTreasureBox, cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmKeyPointBreak vftable:0x1B36B38, Size:0x110, CRC32:0x36482C24 +class cpOmKeyPointBreak /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmLadder vftable:0x1BFBBC8, Size:0x160, CRC32:0x4D090EFB +class cpOmLadder /*: cpOmBase, cpComponent, MtObject*/ { + event 'Đݒ' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2531D254, Flags:0xA0000 + u32 'mHeight' ; // Offset:0xC8, Var, CRC32:0xCBD14C3E, Flags:0x0 +}; + +// cpOmLadderEx vftable:0x1BFBC20, Size:0x1D0, CRC32:0x43201A36 +class cpOmLadderEx /*: cpOmLadder, cpOmBase, cpComponent, MtObject*/ { + event 'Đݒ' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2531D254, Flags:0xA0000 + u32 'mHeight' ; // Offset:0xC8, Var, CRC32:0xCBD14C3E, Flags:0x0 +}; + +// cpOmLever vftable:0x1BFB820, Size:0xD0, CRC32:0x3167F7DD +class cpOmLever /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmLever::ActPull vftable:0x1BFB798, Size:0x14, CRC32:0x5446E588 +class cpOmLever::ActPull /*: cAction, MtObject*/ { +}; + +// cpOmLever::ActPulled vftable:0x1BFB7E0, Size:0x14, CRC32:0x716F6A51 +class cpOmLever::ActPulled /*: cAction, MtObject*/ { +}; + +// cpOmLever::ActTouch vftable:0x1BFB750, Size:0x14, CRC32:0x7E153196 +class cpOmLever::ActTouch /*: cAction, MtObject*/ { +}; + +// cpOmLever::ActWait vftable:0x1BFB708, Size:0x14, CRC32:0x3CA5BA8E +class cpOmLever::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmLightChip vftable:0x1B36A30, Size:0xC0, CRC32:0x7CE8D2B9 +class cpOmLightChip /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmLimitWarp vftable:0x1BFC2A8, Size:0x1C0, CRC32:0x6A586E8F +class cpOmLimitWarp /*: cpOmWarp, cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMagmaFall vftable:0x1B36238, Size:0xD0, CRC32:0x11C237B9 +class cpOmMagmaFall /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMagmaSpring vftable:0x1B3B000, Size:0x1B0, CRC32:0x1D84DCB3 +class cpOmMagmaSpring /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMapErase vftable:0x1BFBA68, Size:0xD0, CRC32:0x52D8D332 +class cpOmMapErase /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMapIconNTC vftable:0x1B36C40, Size:0xD0, CRC32:0x65D92ED5 +class cpOmMapIconNTC /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMelgoda vftable:0x1BFB2E8, Size:0xF0, CRC32:0x1EBBEED8 +class cpOmMelgoda /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMine vftable:0x1BFC4B8, Size:0x240, CRC32:0x5FA3FF11 +class cpOmMine /*: cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMiniPoint vftable:0x1BFC040, Size:0xD0, CRC32:0x221CF127 +class cpOmMiniPoint /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMotionSet vftable:0x1BFB290, Size:0xE0, CRC32:0x7618CA9F +class cpOmMotionSet /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMoveFloor vftable:0x1BFAE70, Size:0xD0, CRC32:0x4E60CF78 +class cpOmMoveFloor /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmMoveWall vftable:0x1BFAEC8, Size:0xD0, CRC32:0x36158D40 +class cpOmMoveWall /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmNav vftable:0x1BFB188, Size:0xD0, CRC32:0x7F84B55B +class cpOmNav /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmNazoWarp vftable:0x1BFC300, Size:0x1C0, CRC32:0x15974AB4 +class cpOmNazoWarp /*: cpOmWarp, cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmNoticeBorad vftable:0x1B394F0, Size:0xD0, CRC32:0x39646A96 +class cpOmNoticeBorad /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmNoticeBorad::ActTouch vftable:0x1B394B0, Size:0x14, CRC32:0x1EF5212C +class cpOmNoticeBorad::ActTouch /*: cAction, MtObject*/ { +}; + +// cpOmNoticeBorad::ActWait vftable:0x1B39468, Size:0x14, CRC32:0x95C1E84 +class cpOmNoticeBorad::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmOldDoor vftable:0x1BFADC0, Size:0xD0, CRC32:0x4B967D3D +class cpOmOldDoor /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmOldSw vftable:0x1BFAE18, Size:0xD0, CRC32:0x6D1BD063 +class cpOmOldSw /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmOnDesk vftable:0x1BFC5C0, Size:0x230, CRC32:0x10CE339A +class cpOmOnDesk /*: cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmOneWay vftable:0x1BFC358, Size:0xD0, CRC32:0x24E2CBA4 +class cpOmOneWay /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmOutPost vftable:0x1BFDEC0, Size:0xD0, CRC32:0x5FC0814C +class cpOmOutPost /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmOutPost::ActRelease vftable:0x1BFDDF0, Size:0x14, CRC32:0x74C6F6F0 +class cpOmOutPost::ActRelease /*: cAction, MtObject*/ { +}; + +// cpOmOutPost::ActTouch vftable:0x1BFDE38, Size:0x14, CRC32:0x28C4B133 +class cpOmOutPost::ActTouch /*: cAction, MtObject*/ { +}; + +// cpOmOutPost::ActWait vftable:0x1BFDDA8, Size:0x14, CRC32:0x3B86F72E +class cpOmOutPost::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmOutPost::ActWarp vftable:0x1BFDE80, Size:0x14, CRC32:0x15DDF8AD +class cpOmOutPost::ActWarp /*: cAction, MtObject*/ { +}; + +// cpOmPLJump vftable:0x1BFC1A0, Size:0x1B0, CRC32:0x7B92DDC0 +class cpOmPLJump /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmPRT vftable:0x1BFE430, Size:0xE0, CRC32:0x48371FF5 +class cpOmPRT /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmPawnBell vftable:0x1BFAFD0, Size:0xD0, CRC32:0x5DD63F22 +class cpOmPawnBell /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmPawnDrop vftable:0x1BFD818, Size:0x220, CRC32:0x5EF8DA87 +class cpOmPawnDrop /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmPlCannon vftable:0x1BFB080, Size:0x1B0, CRC32:0x2284100 +class cpOmPlCannon /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmPlanetarium vftable:0x1BFAF78, Size:0x100, CRC32:0xA082D8D +class cpOmPlanetarium /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmRanking vftable:0x1B39630, Size:0xD0, CRC32:0x33AB9D3C +class cpOmRanking /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmRim vftable:0x1B395D8, Size:0xD0, CRC32:0x2804ACAB +class cpOmRim /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmRim::ActTouch vftable:0x1B39598, Size:0x14, CRC32:0x51718F55 +class cpOmRim::ActTouch /*: cAction, MtObject*/ { +}; + +// cpOmRim::ActWait vftable:0x1B39550, Size:0x14, CRC32:0x3767FEB2 +class cpOmRim::ActWait /*: cAction, MtObject*/ { +}; + +// cpOmRimWarp vftable:0x1B3AA38, Size:0x1E0, CRC32:0x4912ABBA +class cpOmRimWarp /*: cpOmWarp, cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmRisingMagma vftable:0x1B360C8, Size:0x100, CRC32:0x7C55DB25 +class cpOmRisingMagma /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmRisingMagma2 vftable:0x1B36180, Size:0xF0, CRC32:0x32FD01C +class cpOmRisingMagma2 /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSDBlock vftable:0x1BFBF38, Size:0xD0, CRC32:0x63CEB665 +class cpOmSDBlock /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSafeDome vftable:0x1B35FB8, Size:0x120, CRC32:0x24388B01 +class cpOmSafeDome /*: cpOmGauge, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmScaffold vftable:0x1BFBB70, Size:0xC0, CRC32:0xD25B622 +class cpOmScaffold /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSeaDunBlockade vftable:0x1B3B600, Size:0x240, CRC32:0x6F4D2D45 +class cpOmSeaDunBlockade /*: cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSeaDunKeyPointDoor vftable:0x1B3BB48, Size:0x100, CRC32:0x1F40C057 +class cpOmSeaDunKeyPointDoor /*: cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmServerRequestGUI vftable:0x1B3C088, Size:0xF0, CRC32:0x78D7FFA3 +class cpOmServerRequestGUI /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmShip vftable:0x1BFB340, Size:0xF0, CRC32:0x4C3BC7A6 +class cpOmShip /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSmoke vftable:0x1B36E60, Size:0xD0, CRC32:0x18C4EFD7 +class cpOmSmoke /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSoulOrdeal vftable:0x1B3C5D0, Size:0x260, CRC32:0x7B427CB7 +class cpOmSoulOrdeal /*: cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmSpa vftable:0x1BFBB18, Size:0xD0, CRC32:0x3B7023AF +class cpOmSpa /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmStoneBoard vftable:0x1BFBFE8, Size:0xD0, CRC32:0x1719E47A +class cpOmStoneBoard /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmStoneStatue vftable:0x1BFBF90, Size:0xD0, CRC32:0x5713C1E +class cpOmStoneStatue /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmTegakariChk vftable:0x1BFB0D8, Size:0xE0, CRC32:0x6C57C145 +class cpOmTegakariChk /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmText vftable:0x1BFB3F0, Size:0xE0, CRC32:0xD808B45 +class cpOmText /*: cpOmBase, cpComponent, MtObject*/ { + u32 'mTextType' ; // Offset:0xC4, Var, CRC32:0x5AB3FD74, Flags:0x0 + u32 'mTextNo' ; // Offset:0xC8, Var, CRC32:0xBBE9C5, Flags:0x0 + u32 'mQuestNo' ; // Offset:0xCC, Var, CRC32:0xC729C20C, Flags:0x0 + bool 'mIsFinish' ; // Offset:0xD0, Var, CRC32:0xC92FD15F, Flags:0x0 +}; + +// cpOmTicketDungeonPortal vftable:0x1B3D070, Size:0x120, CRC32:0x56558630 +class cpOmTicketDungeonPortal /*: cpOmSpAreaChangeBase, cpOmServerRequestGUI, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmTreasureBox vftable:0x1BFC568, Size:0x250, CRC32:0x4B4EE3E0 +class cpOmTreasureBox /*: cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmTreasureBoxG vftable:0x1BFD760, Size:0x260, CRC32:0x48F978A8 +class cpOmTreasureBoxG /*: cpOmTreasureBox, cpOmGather, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmVanishWarp vftable:0x1B36C98, Size:0x1D0, CRC32:0x6FD1C400 +class cpOmVanishWarp /*: cpOmAloneWarp, cpOmWarp, cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmVolcano vftable:0x1B36010, Size:0xD0, CRC32:0x42527A5A +class cpOmVolcano /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmWall vftable:0x1BFB448, Size:0xD0, CRC32:0x25FEC374 +class cpOmWall /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + u32 'mWallType' ; // Offset:0xC4, Var, CRC32:0xE8A4424A, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmWarehouse vftable:0x1B392C8, Size:0xD0, CRC32:0xE1AF101 +class cpOmWarehouse /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmWarp vftable:0x1BFC1F8, Size:0x1B0, CRC32:0x65BEA0E4 +class cpOmWarp /*: cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmWarpFX vftable:0x1B36D48, Size:0x1D0, CRC32:0x2F5741FB +class cpOmWarpFX /*: cpOmAloneWarp, cpOmWarp, cpOmBaseEx, cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmWeatherNews vftable:0x1BFB130, Size:0xD0, CRC32:0x479E8217 +class cpOmWeatherNews /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpOmXXX vftable:0x1B3D5D8, Size:0xD0, CRC32:0x357DEAEC +class cpOmXXX /*: cpOmBase, cpComponent, MtObject*/ { + class 'mNavOBB' ; // Offset:0x50, Var, CRC32:0x76FD00C3, Flags:0x0 + bool 'mbLinkNav' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976F00, Setter:0x98CBA0, CRC32:0xFFE5FCF0, Flags:0x800000 +}; + +// cpPartnerPawn vftable:0x1B89D20, Size:0xF0, CRC32:0x1FE25F6F +class cpPartnerPawn /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPartsCtrl vftable:0x1BFE494, Size:0x34, CRC32:0x1376CF73 +class cpPartsCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPathFinding vftable:0x1BFF4CC, Size:0xD0, CRC32:0x7AEAE070 +class cpPathFinding /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPawnCommonInfo vftable:0x1B3DC94, Size:0x34, CRC32:0x6108153F +class cpPawnCommonInfo /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPawnCultivation vftable:0x1B3E370, Size:0x80, CRC32:0x111267DA +class cpPawnCultivation /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPawnSpecialityThink vftable:0x1B3E88C, Size:0xE0, CRC32:0x5AFF1FE9 +class cpPawnSpecialityThink /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPawnThink vftable:0x1BFEA08, Size:0x4B30, CRC32:0xB3CE2DF +class cpPawnThink /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpPivotCtrl vftable:0x1BFF520, Size:0x70, CRC32:0x6FEDDE9D +class cpPivotCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpReaction vftable:0x1B8A268, Size:0x60, CRC32:0x6E8551E7 +class cpReaction /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpReaction::cTriggerFree vftable:0x1B8A240, Size:0x10, CRC32:0x610494E9 +class cpReaction::cTriggerFree /*: MtObject*/ { +}; + +// cpRegionStatusCtrl vftable:0x1BFFA88, Size:0x3C, CRC32:0x6A8CBA3E +class cpRegionStatusCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpResetCtrl vftable:0x1BFFF90, Size:0x2C, CRC32:0x6517EF95 +class cpResetCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + classref 'mpResetFlag' ; // Offset:0x28, Var, CRC32:0xE4B75E73, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpReturnTerritory vftable:0x1B8A79C, Size:0x60, CRC32:0x4520955A +class cpReturnTerritory /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpRigidBody vftable:0x1C00048, Size:0x8C, CRC32:0x6F816F36 +class cpRigidBody /*: cpComponent, MtObject*/ { + event 'Release' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xAE05C57E, Flags:0xA0000 + event 'Set Force' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x45229202, Flags:0xA0000 + u16 'mUseCounter' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x92D3FB75, Flags:0x10000 + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x100000 + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + bool 'mIsActive' ; // Offset:0x2C, Var, CRC32:0xA2F8C645, Flags:0x0 + bool 'mIsMotionConst' ; // Offset:0x2D, Var, CRC32:0x1517D81, Flags:0x0 + bool 'mIsRootConst' ; // Offset:0x2E, Var, CRC32:0x57AB594D, Flags:0x0 + bool 'mIsMotFixForActive' ; // Offset:0x2F, Var, CRC32:0xE3B6DBB9, Flags:0x0 + bool 'mIsRelocateToMotion' ; // Offset:0x30, Var, CRC32:0x75D914AD, Flags:0x0 + f32 'mBlendRate' ; // Offset:0x34, Var, CRC32:0x961415C2, Flags:0x0 + custom 'mprRigidBody' ; // Offset:0x38, Var, CRC32:0xFACF07A4, Flags:0x0 + classref 'mpRigidBodyUnit' ; // Offset:0x40, Var, CRC32:0xD9E09AA7, Flags:0x0 + classref 'mpRagdollUnit' ; // Offset:0x44, Var, CRC32:0xEC8DDE3E, Flags:0x0 + bool 'mIsSleepFix' ; // Offset:0x54, Var, CRC32:0xCF248A38, Flags:0x0 + bool 'mIsSleepFixed' ; // Offset:0x55, Var, CRC32:0x48A72342, Flags:0x0 + f32 'mForceSleepFixTimer' ; // Offset:0x58, Var, CRC32:0x7F55CB57, Flags:0x0 + custom 'mprRagdoll' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9AE230, Setter:0x9AE4A0, CRC32:0xC927DC, Flags:0x800000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpRootComponent vftable:0x1C00184, Size:0x40, CRC32:0x339861C2 +class cpRootComponent /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpRotateCtrl vftable:0x1C00688, Size:0x70, CRC32:0x5C11A312 +class cpRotateCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + quaternion 'mFinalQuat' ; // Offset:0x30, Var, CRC32:0x14A685E0, Flags:0x0 + f32 'mInterSpeed' ; // Offset:0x50, Var, CRC32:0x468D957D, Flags:0x0 + f32 'mDefaultInterFrame' ; // Offset:0x54, Var, CRC32:0xA7D7D7E8, Flags:0x0 + f32 'mDefaultInterSpeed' ; // Offset:0x58, Var, CRC32:0x1D0915D3, Flags:0x0 + bool 'mIsBusy' ; // Offset:0x5C, Var, CRC32:0x503B15BF, Flags:0x0 + f32 'mAngleDiffThreshold' ; // Offset:0x64, Var, CRC32:0xF6961448, Flags:0x0 + bool 'mDisableReset' ; // Offset:0x68, Var, CRC32:0x2651F4F9, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpSafePos vftable:0x1C01158, Size:0x400, CRC32:0x5C8214F7 +class cpSafePos /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpScrCollision vftable:0x1C01690, Size:0x3E0, CRC32:0x2B56C89D +class cpScrCollision /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpSequenceCtrl vftable:0x1C01BE0, Size:0x41C, CRC32:0x32B19702 +class cpSequenceCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + class 'callbackSequenceTrigger' ; // Offset:0x28, Var, CRC32:0x42DB0A66, Flags:0x0 + class 'callbackSequenceRelease' ; // Offset:0x34, Var, CRC32:0xC6F70626, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShakeCtrl vftable:0x1C0213C, Size:0x80, CRC32:0x7EA2BCA2 +class cpShakeCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlBase vftable:0x1B3E950, Size:0x2C, CRC32:0x3BD2ADB2 +class cpShlBase /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlCollision vftable:0x1B3E9E8, Size:0x2C, CRC32:0x3110FE82 +class cpShlCollision /*: cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlCondition vftable:0x1B3EFA8, Size:0x48, CRC32:0x570B557F +class cpShlCondition /*: cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlConditionJob10Cs08 vftable:0x1B3F6A8, Size:0x4C, CRC32:0x27EB2CB0 +class cpShlConditionJob10Cs08 /*: cpShlCustomCondition, cpShlCondition, cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlCustomCondition vftable:0x1B3EFF8, Size:0x4C, CRC32:0x56545ACB +class cpShlCustomCondition /*: cpShlCondition, cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlKeyFrame vftable:0x1B3FC00, Size:0x70, CRC32:0x4D8C062C +class cpShlKeyFrame /*: cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlList vftable:0x1B402F8, Size:0x2C, CRC32:0x3FAEABCB +class cpShlList /*: cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlSelector vftable:0x1B402A8, Size:0x2C, CRC32:0x74055C6A +class cpShlSelector /*: cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlSelectorJob10Cs08 vftable:0x1B40898, Size:0x30, CRC32:0xFF43C60 +class cpShlSelectorJob10Cs08 /*: cpShlSelector, cpShlBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpShlShotCtrl vftable:0x1C0265C, Size:0x198, CRC32:0x6B970F77 +class cpShlShotCtrl /*: cpComponent, MtObject*/ { +}; + +// cpShlShotCtrl::cShlShotReqInfo vftable:0x1AEE7F0, Size:0xE0, CRC32:0xED84C7E +class cpShlShotCtrl::cShlShotReqInfo /*: MtObject*/ { +}; + +// cpSlave vftable:0x1C02B80, Size:0x110, CRC32:0x50046C28 +class cpSlave /*: cpThinkBase, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpSoftBody vftable:0x1C030B0, Size:0x6C, CRC32:0x7870F2DE +class cpSoftBody /*: cpComponent, MtObject*/ { + event32 'Reset Simulation' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6E0B4597, Flags:0xA0000 + event 'Release' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xAE05C57E, Flags:0xA0000 + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + u32 'mCollisionGroup' ; // Offset:0x3C, Var, CRC32:0xFB8A9600, Flags:0x0 + u32 'mMaxIterate' ; // Offset:0x40, Var, CRC32:0xBE8B619B, Flags:0x0 + u32 'mColliderType' ; // Offset:0x44, Var, CRC32:0x2AD74BC6, Flags:0x0 + f32 'mNCGlobalWeight' ; // Offset:0x48, Var, CRC32:0xB1C14FDC, Flags:0x0 + f32 'mWorldCoeffTrans' ; // Offset:0x4C, Var, CRC32:0xD436A94A, Flags:0x0 + f32 'mWorldCoeffRot' ; // Offset:0x50, Var, CRC32:0x7991134, Flags:0x0 + s32 'mBaseJointNo' ; // Offset:0x54, Var, CRC32:0x65FE16A3, Flags:0x0 + bool 'mIsUpdateFrame' ; // Offset:0x58, Var, CRC32:0x6CC4BB7B, Flags:0x0 + bool 'mIsScrCollision' ; // Offset:0x59, Var, CRC32:0x31974BDF, Flags:0x0 + bool 'mIsResetRestart' ; // Offset:0x5A, Var, CRC32:0x19B68C1A, Flags:0x0 + bool 'mIsGrassWind' ; // Offset:0x5B, Var, CRC32:0x68523359, Flags:0x0 + bool 'mIsNCollision' ; // Offset:0x5C, Var, CRC32:0xCC18386E, Flags:0x0 + bool 'mIsObjCollision' ; // Offset:0x5D, Var, CRC32:0xCD72F57E, Flags:0x0 + bool 'mIsISCollision' ; // Offset:0x5E, Var, CRC32:0xBCBC1E9F, Flags:0x0 + bool 'mIsApproxScrCollision' ; // Offset:0x5F, Var, CRC32:0x56EC6A40, Flags:0x0 + bool 'mIsSimCulling' ; // Offset:0x60, Var, CRC32:0xF6C3660C, Flags:0x0 + bool 'mIsUse8Weight' ; // Offset:0x61, Var, CRC32:0x5769BCEC, Flags:0x0 + bool 'mIsActive' ; // Offset:0x62, Var, CRC32:0xA2F8C645, Flags:0x0 + bool 'mIsStop' ; // Offset:0x65, Var, CRC32:0x26F7AA8B, Flags:0x0 + bool 'mIsCollisionActive' ; // Offset:0x67, Var, CRC32:0x1711C5DD, Flags:0x0 + custom 'mprDeformWeightMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9BCC10, Setter:0x9BCF40, CRC32:0x12D188E8, Flags:0x800000 + classref 'mpSimSoftBody' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x90B4B0, Setter:0x9BCDC0, CRC32:0xD2EA6934, Flags:0x900000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpStateManager vftable:0x1C03724, Size:0x44, CRC32:0x428669D0 +class cpStateManager /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpStatusChange vftable:0x1C03C50, Size:0xD80, CRC32:0x3D710BA3 +class cpStatusChange /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpStatusChangeEx vftable:0x1B40E50, Size:0xF10, CRC32:0x4128499D +class cpStatusChangeEx /*: cpStatusChange, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpStatusCheck vftable:0x1B8ACA0, Size:0x50, CRC32:0x128FEEBA +class cpStatusCheck /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpTalk vftable:0x1C04168, Size:0xA4, CRC32:0x27DD66FE +class cpTalk /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpTalkPartnerPawn vftable:0x1B41360, Size:0x268, CRC32:0x69AD240A +class cpTalkPartnerPawn /*: cpTalkPawn, cpTalk, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpTalkPawn vftable:0x1B8B1A0, Size:0x264, CRC32:0x7313D5E4 +class cpTalkPawn /*: cpTalk, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpThinkBase vftable:0x1C04748, Size:0x28, CRC32:0x4473FC5 +class cpThinkBase /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpThinkLeo vftable:0x1B41880, Size:0x4B40, CRC32:0x66EA64A2 +class cpThinkLeo /*: cpPawnThink, cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpTinyChain vftable:0x1C047E0, Size:0x44, CRC32:0xA583B3A +class cpTinyChain /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpTransparencyCtrl vftable:0x1C04D34, Size:0x54, CRC32:0x519A5E03 +class cpTransparencyCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + f32 'l' ; // Offset:0x2C, Var, CRC32:0x20E94F00, Flags:0x0 + f32 'ŏIl' ; // Offset:0x30, Var, CRC32:0xE4EB38, Flags:0x0 + bool 'mIsActive' ; // Offset:0x49, Var, CRC32:0xA2F8C645, Flags:0x0 + f32 'ωx' ; // Offset:0x4C, Var, CRC32:0x486C0B66, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpUIOnHead vftable:0x1C05280, Size:0x34, CRC32:0x64DAD10C +class cpUIOnHead /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpVibration vftable:0x1C0575C, Size:0x54, CRC32:0x704EEB76 +class cpVibration /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpWallExitCtrl vftable:0x1B8B748, Size:0x48, CRC32:0x523E777B +class cpWallExitCtrl /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpWallMaria vftable:0x1B41904, Size:0xA0, CRC32:0x68536F18 +class cpWallMaria /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpWaypoint vftable:0x1B8BC78, Size:0x80, CRC32:0x798E0E91 +class cpWaypoint /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + s32 'mGoalPointNo[GOAL_IDX_0]' ; // Offset:0x48, Var, CRC32:0xA180FED1, Flags:0x0 + s32 'mGoalPointNo[GOAL_IDX_1]' ; // Offset:0x4C, Var, CRC32:0xB89BCF90, Flags:0x0 + s32 'mGoalPointNo[GOAL_IDX_2]' ; // Offset:0x50, Var, CRC32:0x93B69C53, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// cpWaypoint::cWork vftable:0x1B8BC50, Size:0x10, CRC32:0x235580CE +class cpWaypoint::cWork /*: MtObject*/ { +}; + +// cpWorkRate vftable:0x1C05C60, Size:0x6C, CRC32:0x2898871 +class cpWorkRate /*: cpComponent, MtObject*/ { + bool 'mActive' ; // Offset:0xC, Var, CRC32:0x75825533, Flags:0x0 + classref 'mpParent' ; // Offset:0x10, Var, CRC32:0xB6BB810D, Flags:0x0 + classref 'mpChildTop' ; // Offset:0x14, Var, CRC32:0xC92C38A2, Flags:0x0 + classref 'mpChildBottom' ; // Offset:0x18, Var, CRC32:0x27C8850F, Flags:0x0 + classref 'mpPrev' ; // Offset:0x1C, Var, CRC32:0x3E115A60, Flags:0x0 + classref 'mpNext' ; // Offset:0x20, Var, CRC32:0x86DCC209, Flags:0x0 + f32 'HitStop' ; // Offset:0x2C, Var, CRC32:0xEFE6596, Flags:0x0 + f32 'Slow' ; // Offset:0x30, Var, CRC32:0x6ACA211C, Flags:0x0 + f32 'RATE2' ; // Offset:0x34, Var, CRC32:0x76CAC7BD, Flags:0x0 + f32 'RATE3' ; // Offset:0x38, Var, CRC32:0x1CDF72B, Flags:0x0 + f32 'ASSASSIN_FINISH' ; // Offset:0x3C, Var, CRC32:0x56F7E565, Flags:0x0 + f32 'Ԉُ́uxvɂω' ; // Offset:0x40, Var, CRC32:0x4EBBAB1F, Flags:0x0 + f32 'Ԉُ̒~n(,Ή,)ɂω' ; // Offset:0x44, Var, CRC32:0xB449E83D, Flags:0x0 + f32 'GpBԕωɂ' ; // Offset:0x48, Var, CRC32:0xF41C5822, Flags:0x0 + f32 'STAMINA؂K[huCN' ; // Offset:0x4C, Var, CRC32:0xE4EEA444, Flags:0x0 + f32 'Ԉُ́uZHvɂω' ; // Offset:0x50, Var, CRC32:0xA6E1CF18, Flags:0x0 + f32 'Ԉُ̓{̂ɂ' ; // Offset:0x54, Var, CRC32:0x5161AAD2, Flags:0x0 + f32 'I[Np̋^{' ; // Offset:0x58, Var, CRC32:0xCA0C4F45, Flags:0x0 + f32 '}O}ɂx' ; // Offset:0x5C, Var, CRC32:0x675A706B, Flags:0x0 + f32 'VFɂX[' ; // Offset:0x60, Var, CRC32:0x362A176C, Flags:0x0 + f32 'mRate' ; // Offset:0x68, Var, CRC32:0x6E5F405, Flags:0x0 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8FE0C0, Setter:0x5C6060, CRC32:0x872AB53A, Flags:0x810000 +}; + +// kTHINKDATA vftable:0x1C42B08, Size:0xA0, CRC32:0x11745209 +class kTHINKDATA /*: MtObject*/ { +}; + +// nAI::EnumObject vftable:0x20D6588, Size:0x4, CRC32:0x2934CACD +class nAI::EnumObject /*: MtObject*/ { +}; + +// nAI::EnumProp vftable:0x20D6254, Size:0x14, CRC32:0x68328AAC +class nAI::EnumProp /*: MtObject*/ { + s32 'mValue' ; // Offset:0x4, Var, CRC32:0xE0C3C2F5, Flags:0x20000 + string 'mName' ; // Offset:0x8, Var, CRC32:0x872AB53A, Flags:0x0 + string 'mEnumName' ; // Offset:0xC, Var, CRC32:0xEB365739, Flags:0x0 +}; + +// nAI::LocalPropertyList vftable:0x20D656C, Size:0xC, CRC32:0x701DB53B +class nAI::LocalPropertyList /*: MtObject*/ { +}; + +// nAI::TaskPerformanceInfo vftable:0x20C18A0, Size:0x1C, CRC32:0x12BB3956 +class nAI::TaskPerformanceInfo /*: MtObject*/ { + u32 'mOverloadManageType' ; // Offset:0x8, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0xC, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mAllowTime' ; // Offset:0x10, Var, CRC32:0x6665F55F, Flags:0x0 + classref 'LODList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x180D190, Setter:0x180D260, GetCount:0x180D1B0, Reallocate:0x180D270 CRC32:0x77FBF186, Flags:0xA00000 + string 'mName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14F1700, Setter:0x180D280, CRC32:0x872AB53A, Flags:0x800000 +}; + +// nAI::TaskPerformanceInfo::LOD vftable:0x20C188C, Size:0x10, CRC32:0x58F667 +class nAI::TaskPerformanceInfo::LOD /*: MtObject*/ { + bool 'mEnablePerformanceManage' ; // Offset:0x4, Var, CRC32:0x2EDB10D7, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x8, Var, CRC32:0x963229FA, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0xC, Var, CRC32:0x46C67205, Flags:0x0 +}; + +// nCameraGame::cTemplateParam vftable:0x1AF4FCC, Size:0x130, CRC32:0x2E2C7D74 +class nCameraGame::cTemplateParam /*: MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 + s32 'mChFlag' ; // Offset:0x8, Var, CRC32:0xF8FED252, Flags:0x0 + f32 'mFrame' ; // Offset:0xC, Var, CRC32:0x484CA60C, Flags:0x0 + s32 'mTargetTypeA' ; // Offset:0x10, Var, CRC32:0x1FD7FB53, Flags:0x0 + matrix44 'mOffsetA' ; // Offset:0x20, Var, CRC32:0xD6B1358B, Flags:0x0 + s32 'mUnitTypeA' ; // Offset:0x60, Var, CRC32:0xDD51E8B1, Flags:0x0 + u32 'mTargetGroup_A' ; // Offset:0x68, Var, CRC32:0x2CF0A4B2, Flags:0x0 + u32 'mTargetID_A' ; // Offset:0x6C, Var, CRC32:0xADA718AF, Flags:0x0 + s32 'mTargetTypeB' ; // Offset:0x70, Var, CRC32:0x86DEAAE9, Flags:0x0 + matrix44 'mOffsetB' ; // Offset:0x80, Var, CRC32:0x4FB86431, Flags:0x0 + s32 'mUnitTypeB' ; // Offset:0xC0, Var, CRC32:0x4458B90B, Flags:0x0 + u32 'mTargetGroup_B' ; // Offset:0xC8, Var, CRC32:0xB5F9F508, Flags:0x0 + u32 'mTargetID_B' ; // Offset:0xCC, Var, CRC32:0x34AE4915, Flags:0x0 + f32 'mAnimSpeed' ; // Offset:0xD0, Var, CRC32:0x96658ED9, Flags:0x0 + f32 'mAnimStartFrame' ; // Offset:0xD4, Var, CRC32:0x2A76E38E, Flags:0x0 + f32 'mAnimDistScale' ; // Offset:0xD8, Var, CRC32:0x51D73868, Flags:0x0 + bool 'mIsUseCustomInter' ; // Offset:0xDC, Var, CRC32:0xAB0198BB, Flags:0x0 + s32 'mInterType' ; // Offset:0xE0, Var, CRC32:0x4198E1E9, Flags:0x0 + s32 'mInterFrameType' ; // Offset:0xE4, Var, CRC32:0xFFB9A87F, Flags:0x0 + f32 'mInterFrame' ; // Offset:0xE8, Var, CRC32:0xFC535746, Flags:0x0 + hermitecurve 'mInterCurve' ; // Offset:0xEC, Var, CRC32:0x1E32363C, Flags:0x0 +}; + +// nCollision::cCollisionNode vftable:0x20C86D0, Size:0x60, CRC32:0x49AEA40C +class nCollision::cCollisionNode /*: nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + class 'GeometryArray' ; // Offset:0xC, Var, CRC32:0xA86A288C, Flags:0x0 + aabb 'BoundingAABB' ; // Offset:0x30, Var, CRC32:0x4491D17F, Flags:0x20000000 + string 'EditDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E700, Setter:0x1625BD0, CRC32:0x31FE519C, Flags:0x830000 +}; + +// nCollision::cCollisionNodeGroup vftable:0x20C87B0, Size:0x50, CRC32:0x2404E3E2 +class nCollision::cCollisionNodeGroup /*: MtObject*/ { + aabb 'mAreaAABB' ; // Offset:0x10, Var, CRC32:0xDE1C9B53, Flags:0x0 + class 'mGroupNodeArray' ; // Offset:0x30, Var, CRC32:0xD58E7D6A, Flags:0x0 +}; + +// nCollision::cCollisionNodeObject vftable:0x20C8740, Size:0x90, CRC32:0x5F6C35AD +class nCollision::cCollisionNodeObject /*: nCollision::cCollisionNode, nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + class 'GeometryArray' ; // Offset:0xC, Var, CRC32:0xA86A288C, Flags:0x0 + aabb 'BoundingAABB' ; // Offset:0x30, Var, CRC32:0x4491D17F, Flags:0x20000000 + classref 'Owner' ; // Offset:0x60, Var, CRC32:0xF15E3687, Flags:0x100000 + u32 'Group(Bit)' ; // Offset:0x68, Var, CRC32:0x8CB4001B, Flags:0x20000 + u32 'Group' ; // Offset:0x68, Var, CRC32:0x53FE943E, Flags:0x0 + u32 'Attribute(Bit)' ; // Offset:0x6C, Var, CRC32:0x7C3F84EB, Flags:0x20000 + u32 'Attribute' ; // Offset:0x6C, Var, CRC32:0x877492A7, Flags:0x0 + u32 'u32 ' ; // Offset:0x80, Var, CRC32:0x72695F3D, Flags:0x0 + classref 'mpUserDataPtr' ; // Offset:0x84, Var, CRC32:0x14C846FC, Flags:0x0 + bool 'AutoDelete' ; // Offset:0x88, Var, CRC32:0xEA106F9, Flags:0x0 + u32 'MtObject* ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x966750, Setter:0x1625BE0, CRC32:0xE039A44D, Flags:0x920000 + bool 'setup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161F280, Setter:0x1625BC0, CRC32:0xDAE2A9CF, Flags:0x820000 + string 'EditDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E700, Setter:0x1625BD0, CRC32:0x31FE519C, Flags:0x830000 +}; + +// nCollision::cGeometry vftable:0x20C860C, Size:0x30, CRC32:0x411CCDC2 +class nCollision::cGeometry /*: nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + bool 'LocalAllocate' ; // Offset:0xC, Var, CRC32:0x1B469413, Flags:0x10000 + aabb 'GeometryAABB' ; // Offset:0x10, Var, CRC32:0x56FBC59C, Flags:0x20000000 + classref 'Geometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E8D0, Setter:0x1620150, CRC32:0x93DB9302, Flags:0x840000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E7F0, Setter:0x1619B33, CRC32:0xD31307E8, Flags:0x820000 +}; + +// nCollision::cGeometryExpansion vftable:0x20C864C, Size:0x40, CRC32:0x7799B24 +class nCollision::cGeometryExpansion /*: nCollision::cGeometry, nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + bool 'LocalAllocate' ; // Offset:0xC, Var, CRC32:0x1B469413, Flags:0x10000 + aabb 'GeometryAABB' ; // Offset:0x10, Var, CRC32:0x56FBC59C, Flags:0x20000000 + u32 'Attribute(Bit)' ; // Offset:0x30, Var, CRC32:0x7C3F84EB, Flags:0x20000 + u32 'Attribute' ; // Offset:0x30, Var, CRC32:0x877492A7, Flags:0x0 + u32 'UserID' ; // Offset:0x34, Var, CRC32:0xA78B97CD, Flags:0x0 + classref 'mpUserPtr' ; // Offset:0x38, Var, CRC32:0xEDD1B735, Flags:0x0 + bool 'AutoDelete' ; // Offset:0x3C, Var, CRC32:0xEA106F9, Flags:0x0 + u32 'UserPtrAddr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161EB00, Setter:0x1625BE0, CRC32:0x9BF6A430, Flags:0x830000 + classref 'Geometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E8D0, Setter:0x1620150, CRC32:0x93DB9302, Flags:0x840000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E7F0, Setter:0x1619B33, CRC32:0xD31307E8, Flags:0x820000 +}; + +// nCollision::cGeometryJoint vftable:0x20C868C, Size:0x80, CRC32:0x71BA0D2E +class nCollision::cGeometryJoint /*: nCollision::cGeometry, nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + bool 'LocalAllocate' ; // Offset:0xC, Var, CRC32:0x1B469413, Flags:0x10000 + aabb 'GeometryAABB' ; // Offset:0x10, Var, CRC32:0x56FBC59C, Flags:0x20000000 + classref 'mpAttachGeometry' ; // Offset:0x30, Var, CRC32:0xE1937D65, Flags:0x20000 + u32 'Joint0' ; // Offset:0x38, Var, CRC32:0x92714537, Flags:0x20000 + u32 'mJointNo'[2] ; // Offset:0x38, Array, CRC32:0x673E4986, Flags:0x200000 + u32 'Joint1' ; // Offset:0x3C, Var, CRC32:0xE57675A1, Flags:0x20000 + u32 'Free0' ; // Offset:0x44, Var, CRC32:0x5F176B99, Flags:0x0 + u32 'Free1' ; // Offset:0x48, Var, CRC32:0x28105B0F, Flags:0x0 + u32 'Free2' ; // Offset:0x4C, Var, CRC32:0xB1190AB5, Flags:0x0 + u32 'Free3' ; // Offset:0x50, Var, CRC32:0xC61E3A23, Flags:0x0 + classref 'mpFreeObject' ; // Offset:0x54, Var, CRC32:0xDE4258D5, Flags:0x0 + vector3 'mBeforeAttachPos0' ; // Offset:0x60, Var, CRC32:0x6FC1C268, Flags:0x20000000 + u32 'ID ' ; // Offset:0x74, Var, CRC32:0xD08E3A6B, Flags:0x10000 + u8 'Attach' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E210, Setter:0x1625B30, CRC32:0x269A8648, Flags:0x820000 + u8 'mAttachModeIO' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E210, Setter:0x1625B30, CRC32:0x9BCAF490, Flags:0x800000 + classref 'Geometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E8D0, Setter:0x1620150, CRC32:0x93DB9302, Flags:0x800000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E7F0, Setter:0x1619B33, CRC32:0xD31307E8, Flags:0x820000 + vector3 'WorldCenter' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161EB10, Setter:0x1625F00, CRC32:0x3567A0A9, Flags:0x20820000 + u8 'mAttachMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E210, Setter:0x1625B30, CRC32:0xE74AC5A1, Flags:0x820000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E7F0, Setter:0x1620140, CRC32:0xD31307E8, Flags:0x820000 +}; + +// nCollision::cGeometryJointGroup vftable:0x20C87D0, Size:0x90, CRC32:0x1855E615 +class nCollision::cGeometryJointGroup /*: nCollision::cCollisionNode, nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + class 'GeometryArray' ; // Offset:0xC, Var, CRC32:0xA86A288C, Flags:0x0 + aabb 'BoundingAABB' ; // Offset:0x30, Var, CRC32:0x4491D17F, Flags:0x20000000 + u32 'Free0' ; // Offset:0x60, Var, CRC32:0x5F176B99, Flags:0x0 + u32 'Free1' ; // Offset:0x64, Var, CRC32:0x28105B0F, Flags:0x0 + u32 'Free2' ; // Offset:0x68, Var, CRC32:0xB1190AB5, Flags:0x0 + u32 'Free3' ; // Offset:0x6C, Var, CRC32:0xC61E3A23, Flags:0x0 + classref 'mpFreeObject' ; // Offset:0x70, Var, CRC32:0xDE4258D5, Flags:0x40000 + u32 'ID ' ; // Offset:0x78, Var, CRC32:0xD08E3A6B, Flags:0x10000 + classref 'mpMotionSequenceSupport' ; // Offset:0x84, Var, CRC32:0x5A2D319D, Flags:0x40000 + class 'mGeometryFreeObjectDTI' ; // Offset:0x88, Var, CRC32:0x9F0C9132, Flags:0x0 + string 'EditDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E700, Setter:0x1625BD0, CRC32:0x31FE519C, Flags:0x830000 + u32 'UniqueID'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x161EAE0, Setter:0x1625E00, GetCount:0x161EAF0, Reallocate:0x1625E20 CRC32:0xF52C55C1, Flags:0xA00000 +}; + +// nCollision::cMotionSequenceSupport vftable:0x20C85BC, Size:0x24, CRC32:0x5CD6DF7 +class nCollision::cMotionSequenceSupport /*: MtObject*/ { + bool 'mFlgActive' ; // Offset:0x4, Var, CRC32:0xA1C1FDCC, Flags:0x0 + u32 'Rule' ; // Offset:0x8, Var, CRC32:0x1915FC0D, Flags:0x0 + u32 'MotionListNo' ; // Offset:0xC, Var, CRC32:0x41D77455, Flags:0x0 + u32 'SequencePageNo' ; // Offset:0x10, Var, CRC32:0x812BED38, Flags:0x0 + u32 'mTargetSequenceBit[Bit]' ; // Offset:0x14, Var, CRC32:0xBEAEE066, Flags:0x20000 + u32 'mTargetSequenceBit[Hex]' ; // Offset:0x14, Var, CRC32:0x74BCB66A, Flags:0x0 + u32 'mNowSequenceBit' ; // Offset:0x18, Var, CRC32:0x19C60944, Flags:0x20000 + u32 'mTargetBeforeMotionNo' ; // Offset:0x1C, Var, CRC32:0x841D37F, Flags:0x20000 + f32 'mTargetBeforeMotionFrame' ; // Offset:0x20, Var, CRC32:0xC2FE2D16, Flags:0x20000 +}; + +// nCollision::cObjectBase vftable:0x20C85D8, Size:0x8, CRC32:0x1D2D7175 +class nCollision::cObjectBase /*: MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 +}; + +// nCollision::cScrCollisionMoveMatrix vftable:0x20D3724, Size:0x28, CRC32:0x33C3EFB0 +class nCollision::cScrCollisionMoveMatrix /*: MtObject*/ { +}; + +// nCollision::cScrCommonFilter vftable:0x20D3708, Size:0x10, CRC32:0x26213251 +class nCollision::cScrCommonFilter /*: MtObject*/ { + u32 'mScrType' ; // Offset:0x4, Var, CRC32:0xC3D48F86, Flags:0x0 + u32 'ScrGroup(Index)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B15B0, Setter:0x17F6090, CRC32:0xE4EA0BAA, Flags:0x800000 + u32 'ScrGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B15A0, Setter:0x17F60C0, CRC32:0xD7E3B2DD, Flags:0x800000 +}; + +// nCollision::cScrGeometryGroupParam vftable:0x20DA0A0, Size:0x14, CRC32:0x3A212D6C +class nCollision::cScrGeometryGroupParam /*: MtObject*/ { + u32 '' ; // Offset:0x4, Var, CRC32:0x38E42632, Flags:0x0 + u8 'O[vCfbNX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B15B0, Setter:0x17F6090, CRC32:0x2EDEBC41, Flags:0x810000 + u32 'O[v' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B15A0, Setter:0x17F60C0, CRC32:0x37FC4F44, Flags:0x810000 +}; + +// nCollision::cScrGeometryParam vftable:0x20DA084, Size:0x30, CRC32:0x1144469 +class nCollision::cScrGeometryParam /*: MtObject*/ { + u32 ' ' ; // Offset:0x10, Var, CRC32:0x39871D1B, Flags:0x0 + u32 '[U0' ; // Offset:0x14, Var, CRC32:0xDA547B94, Flags:0x0 + u32 '[U1' ; // Offset:0x18, Var, CRC32:0xAD534B02, Flags:0x0 + u32 '[U2' ; // Offset:0x1C, Var, CRC32:0x345A1AB8, Flags:0x0 + u32 '[U3' ; // Offset:0x20, Var, CRC32:0x435D2A2E, Flags:0x0 +}; + +// nCollision::uPreviewModel vftable:0x20D3740, Size:0x19E0, CRC32:0x12F8D464 +class nCollision::uPreviewModel /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// nCollisionUtil::cOwnerSystem vftable:0x20D37F0, Size:0xC, CRC32:0x3923B05F +class nCollisionUtil::cOwnerSystem /*: MtObject*/ { + bool 'RegistOwner' ; // Offset:0x8, Var, CRC32:0xF172093B, Flags:0x10000 +}; + +// nDraw::Animation vftable:0x0, Size:0x18, CRC32:0x1E08DE68 +class nDraw::Animation /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::BlendState vftable:0x0, Size:0x28, CRC32:0x6645D200 +class nDraw::BlendState /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::Buffer vftable:0x0, Size:0x20, CRC32:0x247828B2 +class nDraw::Buffer /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::CBuffer vftable:0x0, Size:0x20, CRC32:0x44D51A4 +class nDraw::CBuffer /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::CBufferSystem vftable:0x0, Size:0x18, CRC32:0x16AA28A1 +class nDraw::CBufferSystem /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::CommandCache vftable:0x0, Size:0x1BC, CRC32:0xAF5188C +class nDraw::CommandCache /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::DDMrlStdEstObj vftable:0x0, Size:0x100, CRC32:0x655A905B +class nDraw::DDMrlStdEstObj /*: nDraw::MaterialStdEst, nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::DDMrlStdEstScr vftable:0x0, Size:0xA0, CRC32:0x7A116358 +class nDraw::DDMrlStdEstScr /*: nDraw::MaterialStdEst, nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::DDMrlStdEstScrVtxAlpBld vftable:0x0, Size:0xA0, CRC32:0x17EBEBB4 +class nDraw::DDMrlStdEstScrVtxAlpBld /*: nDraw::MaterialStdEst, nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::DDMrlStdEstScrWater vftable:0x0, Size:0xB0, CRC32:0x2E97D054 +class nDraw::DDMrlStdEstScrWater /*: nDraw::MaterialStdEst, nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::DDMrlStdEstVfx vftable:0x0, Size:0xA0, CRC32:0x6178BCE8 +class nDraw::DDMrlStdEstVfx /*: nDraw::MaterialStdEst, nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::DepthStencilState vftable:0x0, Size:0x20, CRC32:0x2C661E00 +class nDraw::DepthStencilState /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::DepthStencilView vftable:0x0, Size:0x28, CRC32:0x61C5DF74 +class nDraw::DepthStencilView /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::ExternalRegion vftable:0x0, Size:0x48, CRC32:0x37AA37A4 +class nDraw::ExternalRegion /*: nDraw::Buffer, nDraw::Resource, MtObject*/ { +}; + +// nDraw::IndexBuffer vftable:0x0, Size:0x24, CRC32:0x4C94B3D +class nDraw::IndexBuffer /*: nDraw::Buffer, nDraw::Resource, MtObject*/ { +}; + +// nDraw::InputLayout vftable:0x0, Size:0x28, CRC32:0x459E980F +class nDraw::InputLayout /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::Material vftable:0x0, Size:0xA0, CRC32:0x4516E7AB +class nDraw::Material /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialConstant vftable:0x0, Size:0xA0, CRC32:0x23823D1B +class nDraw::MaterialConstant /*: nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialNull vftable:0x0, Size:0xA0, CRC32:0x854D484 +class nDraw::MaterialNull /*: nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialSSS vftable:0x0, Size:0x130, CRC32:0x3DC8FC8E +class nDraw::MaterialSSS /*: nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialStd vftable:0x0, Size:0xA0, CRC32:0x5FB0EBE4 +class nDraw::MaterialStd /*: nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialStdDM vftable:0x0, Size:0xA0, CRC32:0x11B2E584 +class nDraw::MaterialStdDM /*: nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialStdEst vftable:0x0, Size:0xA0, CRC32:0x7D2B31B3 +class nDraw::MaterialStdEst /*: nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::MaterialStdPN vftable:0x0, Size:0xA0, CRC32:0x2615636B +class nDraw::MaterialStdPN /*: nDraw::MaterialStd, nDraw::Material, nDraw::Resource, MtObject*/ { +}; + +// nDraw::OcclusionQuery vftable:0x0, Size:0x54, CRC32:0x406C27FC +class nDraw::OcclusionQuery /*: nDraw::Query, nDraw::Buffer, nDraw::Resource, MtObject*/ { +}; + +// nDraw::Query vftable:0x0, Size:0x54, CRC32:0x36450705 +class nDraw::Query /*: nDraw::Buffer, nDraw::Resource, MtObject*/ { +}; + +// nDraw::RasterizerState vftable:0x0, Size:0x38, CRC32:0x15386913 +class nDraw::RasterizerState /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::RenderTargetView vftable:0x0, Size:0x28, CRC32:0x7E585852 +class nDraw::RenderTargetView /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::Resource vftable:0x0, Size:0x10, CRC32:0x5396628 +class nDraw::Resource /*: MtObject*/ { +}; + +// nDraw::SamplerState vftable:0x0, Size:0x3C, CRC32:0x274D62E1 +class nDraw::SamplerState /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::Scene vftable:0x0, Size:0x304, CRC32:0x4B815D34 +class nDraw::Scene /*: nDraw::Resource, MtObject*/ { +}; + +// nDraw::Texture vftable:0x0, Size:0x50, CRC32:0x262D81B7 +class nDraw::Texture /*: nDraw::Buffer, nDraw::Resource, MtObject*/ { +}; + +// nDraw::VertexBuffer vftable:0x0, Size:0x24, CRC32:0x7896F970 +class nDraw::VertexBuffer /*: nDraw::Buffer, nDraw::Resource, MtObject*/ { +}; + +// nEquipAbilityInfo::cEquipAbilityData vftable:0x1AF89BC, Size:0xC, CRC32:0x51B54787 +class nEquipAbilityInfo::cEquipAbilityData /*: MtObject*/ { +}; + +// nEquipDataJewelry::cJewelryData vftable:0x1B108A8, Size:0xC, CRC32:0x9CF57F2 +class nEquipDataJewelry::cJewelryData /*: MtObject*/ { +}; + +// nEquipEnhanced::cEquipEnhancedCtrl vftable:0x1B79948, Size:0x14, CRC32:0x2FF17BDF +class nEquipEnhanced::cEquipEnhancedCtrl /*: MtObject*/ { +}; + +// nEvidenceList::Param vftable:0x1C5F20C, Size:0x14, CRC32:0x222BB662 +class nEvidenceList::Param /*: MtObject*/ { +}; + +// nFsm::cCameraCtrl vftable:0x1C29BC0, Size:0x18, CRC32:0x122FD835 +class nFsm::cCameraCtrl /*: MtObject*/ { + u8 'mRno0' ; // Offset:0x5, Var, CRC32:0xBF8EDDD9, Flags:0x10000 + u8 'mRno1' ; // Offset:0x6, Var, CRC32:0xC889ED4F, Flags:0x10000 + u32 'mCamId' ; // Offset:0xC, Var, CRC32:0x4DF5F959, Flags:0x0 +}; + +// nGUI::BlendState vftable:0x20C6538, Size:0x4, CRC32:0x2299334B +class nGUI::BlendState /*: MtObject*/ { +}; + +// nGUI::Draw vftable:0x20C6634, Size:0x2E0, CRC32:0x1A09494D +class nGUI::Draw /*: MtObject*/ { +}; + +// nGUI::Language vftable:0x20C6570, Size:0x4, CRC32:0x2C605523 +class nGUI::Language /*: MtObject*/ { +}; + +// nGUI::SamplerState vftable:0x20C6554, Size:0x4, CRC32:0x63CD621D +class nGUI::SamplerState /*: MtObject*/ { +}; + +// nGUI::WrapPoint vftable:0x20C658C, Size:0xC, CRC32:0x418D2F2A +class nGUI::WrapPoint /*: MtObject*/ { + u32 'Unicode' ; // Offset:0x4, Var, CRC32:0xE3F37203, Flags:0x10000 + bool 'Start a new line after continued wrap points'; // Offset:0x8, Var, CRC32:0xDD6248E4, Flags:0x0 + bool 'Valid' ; // Offset:0x9, Var, CRC32:0xB239E504, Flags:0x0 +}; + +// nGUIItem::cItem vftable:0x1C2A094, Size:0x4C, CRC32:0x7CCA00C3 +class nGUIItem::cItem /*: cUIObject, MtObject*/ { +}; + +// nGUIItem::cItemList vftable:0x1C2A0C4, Size:0xFC, CRC32:0x24584821 +class nGUIItem::cItemList /*: cUIObject, MtObject*/ { +}; + +// nGraphComponent::Add vftable:0x20DB718, Size:0x68, CRC32:0x5E278448 +class nGraphComponent::Add /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + variable 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x10000 +}; + +// nGraphComponent::BaseMap vftable:0x20DB7F4, Size:0x50, CRC32:0x688E7CFC +class nGraphComponent::BaseMap /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + custom 'mpBaseMap' ; // Offset:0x24, Var, CRC32:0xEE9D0CFA, Flags:0x0 +}; + +// nGraphComponent::Color vftable:0x20DB6C0, Size:0x8C, CRC32:0x2DC9BEB2 +class nGraphComponent::Color /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + color 'mColor' ; // Offset:0x24, Var, CRC32:0x9BE2D228, Flags:0x0 +}; + +// nGraphComponent::Div vftable:0x20DB79C, Size:0x68, CRC32:0x1EFB49A6 +class nGraphComponent::Div /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + variable 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x30000 +}; + +// nGraphComponent::Edge vftable:0x20DB668, Size:0x3C, CRC32:0x614EBF65 +class nGraphComponent::Edge /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 +}; + +// nGraphComponent::Filter vftable:0x20DB694, Size:0x50, CRC32:0x5134A71A +class nGraphComponent::Filter /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + color 'mColor' ; // Offset:0x24, Var, CRC32:0x9BE2D228, Flags:0x0 +}; + +// nGraphComponent::Mul vftable:0x20DB770, Size:0x68, CRC32:0xA3FD60E +class nGraphComponent::Mul /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + variable 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x30000 +}; + +// nGraphComponent::Oscillator vftable:0x20DB7C8, Size:0x68, CRC32:0x2AD42DB5 +class nGraphComponent::Oscillator /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + oscillator 'mOscillator' ; // Offset:0x24, Var, CRC32:0x4615FA80, Flags:0x0 +}; + +// nGraphComponent::Sub vftable:0x20DB744, Size:0x68, CRC32:0x7B3F7573 +class nGraphComponent::Sub /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + variable 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x30000 +}; + +// nGraphComponent::Variable vftable:0x20DB6EC, Size:0x40, CRC32:0x71B3576B +class nGraphComponent::Variable /*: nGraphComponent::Base, MtObject*/ { + bool 'mEnable' ; // Offset:0x4, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mObjectListID' ; // Offset:0x20, Var, CRC32:0xF3A96607, Flags:0x10000 + variable 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x0 +}; + +// nJobEmblemParam::cEquipJobEmblemCtrl vftable:0x1B80D8C, Size:0xC, CRC32:0x45CCF414 +class nJobEmblemParam::cEquipJobEmblemCtrl /*: MtObject*/ { +}; + +// nJobEmblemParam::cJobEmblemData vftable:0x1B17494, Size:0x8, CRC32:0x1C317947 +class nJobEmblemParam::cJobEmblemData /*: MtObject*/ { +}; + +// nJobParam::cHumanBaseInfo vftable:0x1AE3000, Size:0x54, CRC32:0x1E8749B1 +class nJobParam::cHumanBaseInfo /*: MtObject*/ { + u32 'I[uMDef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x483AC0, Setter:0x4054F0, CRC32:0xD6955F64, Flags:0x800000 + u32 'I[uMAtk' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x483A90, Setter:0x4054C0, CRC32:0xFD36C222, Flags:0x800000 + u32 'I[uDef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x483A30, Setter:0x405460, CRC32:0x59BBF310, Flags:0x800000 + u32 'I[uAtk' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x483A00, Setter:0x405430, CRC32:0x72186E56, Flags:0x800000 + f32 'I[uStamina' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x483AF0, Setter:0x405520, CRC32:0x654F63CD, Flags:0x800000 + f32 'I[uHP' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x483A60, Setter:0x405490, CRC32:0xF2C88C35, Flags:0x800000 + u32 'ő啜' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CD40, Setter:0x405940, CRC32:0x27B5A7FE, Flags:0x800000 + u32 '' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x484130, Setter:0x405790, CRC32:0x491C77B7, Flags:0x800000 + s32 'AreBRXge' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482670, Setter:0x0, CRC32:0x9C50CFE, Flags:0x830000 + u32 'ő働Xg^C}[' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4841A0, Setter:0x0, CRC32:0x5141D5B2, Flags:0x830000 + f32 'őX^~i' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CA10, Setter:0x0, CRC32:0xA3BE8C11, Flags:0x830000 + f32 'X^~i' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4779C0, Setter:0x405BF0, CRC32:0xCD175C58, Flags:0x800000 + f32 'őHP' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA29650, Setter:0x0, CRC32:0x34F83E82, Flags:0x830000 + f32 'HP' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CA50, Setter:0x4055B0, CRC32:0xEDED79F9, Flags:0x800000 +}; + +// nJobParam::cJobInfo vftable:0x1AE2FEC, Size:0x68, CRC32:0x3EA27615 +class nJobParam::cJobInfo /*: MtObject*/ { +}; + +// nMarker::cMarkerInfo vftable:0x1B812D0, Size:0x30, CRC32:0x4184F7C3 +class nMarker::cMarkerInfo /*: MtObject*/ { +}; + +// nMarker::cMarkerInfo::cCtrlFlag vftable:0x1B81308, Size:0xC, CRC32:0x620BEB7B +class nMarker::cMarkerInfo::cCtrlFlag /*: MtObject*/ { +}; + +// nMarker::cMarkerInfo::cVector3 vftable:0x1B812EC, Size:0x20, CRC32:0x50F7546 +class nMarker::cMarkerInfo::cVector3 /*: MtObject*/ { +}; + +// nMarker::cWarpMarkerInfo vftable:0x1B81324, Size:0x48, CRC32:0x49EE1358 +class nMarker::cWarpMarkerInfo /*: nMarker::cMarkerInfo, MtObject*/ { +}; + +// nMarker::cWarpMarkerInfoStage vftable:0x1B81354, Size:0x48, CRC32:0xD973EED +class nMarker::cWarpMarkerInfoStage /*: nMarker::cMarkerInfo, MtObject*/ { +}; + +// nMarker::cWarpMarkerInfoStage::cTargetInfo vftable:0x1B81370, Size:0x18, CRC32:0x5E667EDF +class nMarker::cWarpMarkerInfoStage::cTargetInfo /*: MtObject*/ { +}; + +// nNetMsg::cCoder vftable:0x1BD70D8, Size:0x8, CRC32:0x244B7B8 +class nNetMsg::cCoder /*: MtObject*/ { +}; + +// nNetMsg::cDecoder vftable:0x1BD70F4, Size:0x8, CRC32:0x7E927177 +class nNetMsg::cDecoder /*: MtObject*/ { +}; + +// nNetwork::BlockBuffer vftable:0x20D2FEC, Size:0x20, CRC32:0x7E95D2C1 +class nNetwork::BlockBuffer /*: MtObject*/ { + u32 'mBlockMax' ; // Offset:0xC, Var, CRC32:0x21913C8, Flags:0x10000 + u32 'Length' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EF6D0, Setter:0x0, CRC32:0xF92E647B, Flags:0x830000 +}; + +// nNetwork::BlockPool vftable:0x20D2FD0, Size:0x54, CRC32:0x40693273 +class nNetwork::BlockPool /*: MtObject*/ { +}; + +// nNetwork::BlockQueue vftable:0x20CBE20, Size:0x30, CRC32:0x60476EE6 +class nNetwork::BlockQueue /*: nNetwork::BlockBuffer, MtObject*/ { + u32 'mBlockMax' ; // Offset:0xC, Var, CRC32:0x21913C8, Flags:0x10000 + s32 'mCount' ; // Offset:0x20, Var, CRC32:0x786DDEA3, Flags:0x10000 + u32 'Length' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EF6D0, Setter:0x0, CRC32:0xF92E647B, Flags:0x830000 +}; + +// nNetwork::Callback vftable:0x20CBE88, Size:0xD5C, CRC32:0x99E110A +class nNetwork::Callback /*: MtObject*/ { + bool 'mBuffering' ; // Offset:0x4, Var, CRC32:0xE539EBF3, Flags:0x0 + bool 'mSmoothing' ; // Offset:0x5, Var, CRC32:0x216F8A8D, Flags:0x0 + bool 'mSelfBuffering' ; // Offset:0x6, Var, CRC32:0x4AB0BA9F, Flags:0x0 + u32 'mSelfDelay' ; // Offset:0x8, Var, CRC32:0xCC7A5971, Flags:0x0 + u32 'mSelfBufferSize' ; // Offset:0xC, Var, CRC32:0x3897C9E4, Flags:0x0 + class 'mEntry'[16] ; // Offset:0x14, Array, CRC32:0xD69507B1, Flags:0x200000 + class 'mQueue'[16] ; // Offset:0xD4, Array, CRC32:0x8249E5A2, Flags:0x200000 + class 'mSelfQueue' ; // Offset:0xC94, Var, CRC32:0x11DA689, Flags:0x0 +}; + +// nNetwork::Callback::Entry vftable:0x20CBE44, Size:0xC, CRC32:0x17AD750E +class nNetwork::Callback::Entry /*: MtObject*/ { + bool 'mBuffering' ; // Offset:0x8, Var, CRC32:0xE539EBF3, Flags:0x0 + bool 'mRoute' ; // Offset:0x9, Var, CRC32:0xFF70BAB8, Flags:0x0 + classref 'Parent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16977A0, Setter:0x1697BF0, CRC32:0xC5DD9A86, Flags:0x930000 +}; + +// nNetwork::Callback::Queue vftable:0x20CBE60, Size:0xBC, CRC32:0x4371971D +class nNetwork::Callback::Queue /*: nNetwork::BlockQueue, nNetwork::BlockBuffer, MtObject*/ { + u32 'mBlockMax' ; // Offset:0xC, Var, CRC32:0x21913C8, Flags:0x10000 + s32 'mCount' ; // Offset:0x20, Var, CRC32:0x786DDEA3, Flags:0x10000 + f32 'mRate' ; // Offset:0xB4, Var, CRC32:0x6E5F405, Flags:0x0 + f32 'mCall' ; // Offset:0xB8, Var, CRC32:0x1587E402, Flags:0x0 + u32 'Length' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EF6D0, Setter:0x0, CRC32:0xF92E647B, Flags:0x830000 +}; + +// nNetwork::Connect vftable:0x20D87B0, Size:0x30, CRC32:0x1353E1A9 +class nNetwork::Connect /*: MtObject*/ { + classref 'mpP2p' ; // Offset:0xC, Var, CRC32:0xE289107F, Flags:0x60000 +}; + +// nNetwork::Context vftable:0x20D2EC4, Size:0x1D0, CRC32:0x5C19DC8 +class nNetwork::Context /*: MtObject*/ { + event 'Bootup' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x253FCEF1, Flags:0xA0000 + event 'Shutdown' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x932B436B, Flags:0xA0000 + s32 'mState' ; // Offset:0x8, Var, CRC32:0x5E27483A, Flags:0x30000 + classref 'mpContext' ; // Offset:0xC, Var, CRC32:0xA8067FAE, Flags:0x30000 + classref 'mpFriendList' ; // Offset:0x10, Var, CRC32:0xCDC757E, Flags:0x30000 + s32 'mServiceError.mNo' ; // Offset:0x14, Var, CRC32:0x5552413E, Flags:0x0 + s32 'mServiceError.mCause' ; // Offset:0x18, Var, CRC32:0x314D2088, Flags:0x0 + s32 'mServiceError.mNative' ; // Offset:0x1C, Var, CRC32:0xAAF6C06A, Flags:0x0 + s32 'mService' ; // Offset:0x20, Var, CRC32:0x627FE9CC, Flags:0x0 + s32 'mOption' ; // Offset:0x24, Var, CRC32:0x641AA981, Flags:0x0 + u32 'mUserIndex' ; // Offset:0x28, Var, CRC32:0x3A82FA93, Flags:0x0 + s32 'mReqLevel' ; // Offset:0x2C, Var, CRC32:0x2720D035, Flags:0x0 + bool 'mIsFriendListChange' ; // Offset:0x3A, Var, CRC32:0x777B9E6D, Flags:0x10000 + bool 'mIsSignInChange' ; // Offset:0x3B, Var, CRC32:0xA24902B9, Flags:0x10000 + s32 'mInviteState' ; // Offset:0x3C, Var, CRC32:0xF88F2623, Flags:0x30000 +}; + +// nNetwork::Match vftable:0x20D8818, Size:0xC, CRC32:0x49B85CC1 +class nNetwork::Match /*: MtObject*/ { +}; + +// nNetwork::Member vftable:0x20D831C, Size:0x110, CRC32:0x3EDCF0C5 +class nNetwork::Member /*: MtObject*/ { + u32 'Id' ; // Offset:0x4, Var, CRC32:0xD542BC0D, Flags:0x10000 + u32 'Tag' ; // Offset:0x8, Var, CRC32:0xC43B0E9C, Flags:0x10000 + s32 'RouteIndex' ; // Offset:0xC, Var, CRC32:0x170C5B4, Flags:0x10000 + bool 'Valid' ; // Offset:0x68, Var, CRC32:0xB239E504, Flags:0x10000 + bool 'Host' ; // Offset:0x109, Var, CRC32:0x90EA433C, Flags:0x10000 + bool 'Private' ; // Offset:0x10A, Var, CRC32:0xE24407B2, Flags:0x10000 + u32 'GROUP' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15D64A0, Setter:0x1986B00, CRC32:0x656B798A, Flags:0x800000 + bool 'Newbie' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1986A40, Setter:0x190A4F0, CRC32:0x1EE10F2F, Flags:0x810000 + bool 'Restrict' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15D64C0, Setter:0x1986B20, CRC32:0x4A3C9BF6, Flags:0x810000 + bool 'Talking' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x190A310, Setter:0x17F31F0, CRC32:0xA9EA99E9, Flags:0x810000 + bool 'Mute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15D64B0, Setter:0x15D6F00, CRC32:0x9374239D, Flags:0x810000 + bool 'Terminate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x190B610, Setter:0x190E4A0, CRC32:0x119B954C, Flags:0x810000 + bool 'Match' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x190B600, Setter:0x190E480, CRC32:0x446515FE, Flags:0x810000 + bool 'Entry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x898E20, Setter:0x190E460, CRC32:0x151F4D8B, Flags:0x810000 + bool 'Self' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1986A70, Setter:0x190A610, CRC32:0x248669A2, Flags:0x810000 + cstring 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1986A30, Setter:0x1986B10, CRC32:0x1EE2EC7, Flags:0x810000 +}; + +// nNetwork::ProtocolBroadcast vftable:0x20D8B60, Size:0x1284, CRC32:0x501D6E4B +class nNetwork::ProtocolBroadcast /*: nNetwork::Protocol, MtObject*/ { + s32 'mState' ; // Offset:0xC, Var, CRC32:0x5E27483A, Flags:0x10000 + u32 'mProgress' ; // Offset:0x18, Var, CRC32:0xA8FC2DB, Flags:0x10000 +}; + +// nNetwork::ProtocolMinimum vftable:0x20D8B24, Size:0x101C, CRC32:0x2506161 +class nNetwork::ProtocolMinimum /*: nNetwork::Protocol, MtObject*/ { +}; + +// nNetwork::ProtocolStandard vftable:0x20D8AE8, Size:0x2A50, CRC32:0x775B5E84 +class nNetwork::ProtocolStandard /*: nNetwork::Protocol, MtObject*/ { + u32 'mRedundancy' ; // Offset:0xC, Var, CRC32:0xB64A6E68, Flags:0x0 + class 'mQueue'[16] ; // Offset:0x10, Array, CRC32:0x8249E5A2, Flags:0x200000 +}; + +// nNetwork::ProtocolStandard::Queue vftable:0x20D8AD4, Size:0x290, CRC32:0x4F430E0F +class nNetwork::ProtocolStandard::Queue /*: nNetwork::BlockQueue, nNetwork::BlockBuffer, MtObject*/ { + u32 'mBlockMax' ; // Offset:0xC, Var, CRC32:0x21913C8, Flags:0x10000 + s32 'mCount' ; // Offset:0x20, Var, CRC32:0x786DDEA3, Flags:0x10000 + u16 'mHeadSequence' ; // Offset:0x230, Var, CRC32:0x5FC02DDB, Flags:0x0 + u16 'mTailSequence' ; // Offset:0x232, Var, CRC32:0x4E041CC8, Flags:0x0 + u16 'mSendSequence' ; // Offset:0x234, Var, CRC32:0xD3413FA4, Flags:0x0 + u16 'mRecvSequence' ; // Offset:0x236, Var, CRC32:0x3F2C928C, Flags:0x0 + u32 'Length' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EF6D0, Setter:0x0, CRC32:0xF92E647B, Flags:0x830000 +}; + +// nNetwork::Route vftable:0x20D886C, Size:0x430, CRC32:0x3127B9BD +class nNetwork::Route /*: MtObject*/ { + s32 'mPeerId' ; // Offset:0xC4, Var, CRC32:0xE547176C, Flags:0x10000 + s32 'mMemberIndex' ; // Offset:0xC8, Var, CRC32:0x3FD37E0F, Flags:0x10000 + s32 'mDirectIndex' ; // Offset:0x13C, Var, CRC32:0x9297F29A, Flags:0x10000 + u32 'mForwardNum' ; // Offset:0x144, Var, CRC32:0x374DEB6E, Flags:0x10000 + u32 'SendRate' ; // Offset:0x258, Var, CRC32:0x982C474D, Flags:0x0 + u32 'SendInterval' ; // Offset:0x25C, Var, CRC32:0xA57F3D89, Flags:0x0 + u32 'RecvRate' ; // Offset:0x2B0, Var, CRC32:0xF23890EF, Flags:0x0 + u32 'RecvInterval' ; // Offset:0x2B4, Var, CRC32:0x491290A1, Flags:0x0 + u32 'mSendElapse' ; // Offset:0x2B8, Var, CRC32:0x1C81F0B4, Flags:0x0 + u32 'mRecvElapse' ; // Offset:0x2BC, Var, CRC32:0x980703BC, Flags:0x0 + u32 'mSendSequence' ; // Offset:0x2C0, Var, CRC32:0xD3413FA4, Flags:0x0 + u32 'mRecvSequence' ; // Offset:0x2C4, Var, CRC32:0x3F2C928C, Flags:0x0 + u32 'RttQ3' ; // Offset:0x368, Var, CRC32:0xD0DB6E0D, Flags:0x0 + u32 'Rtt' ; // Offset:0x36C, Var, CRC32:0x73BDD5E4, Flags:0x0 + u32 'Iqr' ; // Offset:0x370, Var, CRC32:0xF7DAC805, Flags:0x0 + f32 'RecvLoss' ; // Offset:0x3CC, Var, CRC32:0xF3F5BEDF, Flags:0x0 + f32 'SendLoss' ; // Offset:0x3F0, Var, CRC32:0x99E1697D, Flags:0x0 + f32 'BaseLoss' ; // Offset:0x3F4, Var, CRC32:0x5F97442E, Flags:0x0 + u32 'mQueueDelay' ; // Offset:0x3FC, Var, CRC32:0x28C169F8, Flags:0x0 + u32 'mBandwidth' ; // Offset:0x404, Var, CRC32:0xD69D5B2B, Flags:0x0 +}; + +// nNetwork::RpcNetSystem_AnsDetour vftable:0x20D8460, Size:0x90, CRC32:0x39EC3064 +class nNetwork::RpcNetSystem_AnsDetour /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_Config vftable:0x20D85AC, Size:0x4C, CRC32:0x5BE7381E +class nNetwork::RpcNetSystem_Config /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_Core vftable:0x20D84F0, Size:0x40C, CRC32:0x3DDC4535 +class nNetwork::RpcNetSystem_Core /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_Entry vftable:0x20D8540, Size:0xC, CRC32:0x49A5BB1F +class nNetwork::RpcNetSystem_Entry /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_HealthCheck vftable:0x20D8514, Size:0xC, CRC32:0x1266DC19 +class nNetwork::RpcNetSystem_HealthCheck /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_Leave vftable:0x20C8164, Size:0x8, CRC32:0x7934A6BF +class nNetwork::RpcNetSystem_Leave /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_LinkState vftable:0x20D84CC, Size:0x14C, CRC32:0xCA2406D +class nNetwork::RpcNetSystem_LinkState /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_Match vftable:0x20D8564, Size:0x18, CRC32:0x18DFE36A +class nNetwork::RpcNetSystem_Match /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_ReqDetour vftable:0x20D843C, Size:0x48, CRC32:0x665443AF +class nNetwork::RpcNetSystem_ReqDetour /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_RouteKey vftable:0x20D8484, Size:0x4C, CRC32:0x75B10DEF +class nNetwork::RpcNetSystem_RouteKey /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_RouteKeyAck vftable:0x20D84A8, Size:0x8, CRC32:0x4E9E0DFC +class nNetwork::RpcNetSystem_RouteKeyAck /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_Terminate vftable:0x20D8588, Size:0x18, CRC32:0x6E07B730 +class nNetwork::RpcNetSystem_Terminate /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::RpcNetSystem_TryConnect vftable:0x20D8418, Size:0x8, CRC32:0x3E926E9B +class nNetwork::RpcNetSystem_TryConnect /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::ScoreOptionPtr vftable:0x20D8080, Size:0x8, CRC32:0x7F59BB1D +class nNetwork::ScoreOptionPtr /*: MtObject*/ { +}; + +// nNetwork::SearchFilterListPtr vftable:0x20C80AC, Size:0x88, CRC32:0x4FA06DF7 +class nNetwork::SearchFilterListPtr /*: MtObject*/ { +}; + +// nNetwork::SearchFilterPtr vftable:0x20C8098, Size:0x10, CRC32:0xF2BEFDD +class nNetwork::SearchFilterPtr /*: MtObject*/ { +}; + +// nNetwork::SearchKeyListPtr vftable:0x20C8070, Size:0x48, CRC32:0x7697A150 +class nNetwork::SearchKeyListPtr /*: MtObject*/ { +}; + +// nNetwork::SearchKeyPtr vftable:0x20C805C, Size:0x8, CRC32:0x26EC282D +class nNetwork::SearchKeyPtr /*: MtObject*/ { +}; + +// nNetwork::Session vftable:0x20C81E4, Size:0x13B8, CRC32:0x37D8CD62 +class nNetwork::Session /*: MtObject*/ { + classref 'mpDatabase' ; // Offset:0x8, Var, CRC32:0x9DC8608D, Flags:0x0 + classref 'mpTransport' ; // Offset:0xC, Var, CRC32:0xFB22A797, Flags:0x0 + classref 'mpConnect' ; // Offset:0x10, Var, CRC32:0x3E9403CF, Flags:0x0 + u32 'mAttr' ; // Offset:0x58, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'mUserIndex' ; // Offset:0x5C, Var, CRC32:0x3A82FA93, Flags:0x0 + u32 'mService' ; // Offset:0x60, Var, CRC32:0x627FE9CC, Flags:0x0 + class 'mDriver' ; // Offset:0xE0, Var, CRC32:0x2FFAD5E8, Flags:0x0 + class 'mCallback' ; // Offset:0x5D0, Var, CRC32:0x517744BB, Flags:0x0 +}; + +// nNetwork::SessionDatabase vftable:0x20D8360, Size:0xA968, CRC32:0x3689A8DA +class nNetwork::SessionDatabase /*: MtObject*/ { + class 'SEARCH RESULT LIST' ; // Offset:0x4288, Var, CRC32:0xA3FEA944, Flags:0x40000 + class 'SESSION INFO' ; // Offset:0x5208, Var, CRC32:0xDD76DF88, Flags:0x10000 + class 'MEMBER LIST'[16] ; // Offset:0x5260, Array, CRC32:0x70FFE149, Flags:0x210000 + class 'ROUTE LIST'[16] ; // Offset:0x6360, Array, CRC32:0xA7AE4347, Flags:0x210000 + u32 'SESSION STATE' ; // Offset:0xA668, Var, CRC32:0x5C852D15, Flags:0x10000 + u32 'mSelfKey' ; // Offset:0xA66C, Var, CRC32:0x9424FEF7, Flags:0x0 + u32 'BroadcastSendRate' ; // Offset:0xA904, Var, CRC32:0x52D4097B, Flags:0x0 + u32 'BroadvastRecvRate' ; // Offset:0xA95C, Var, CRC32:0xAC7B4435, Flags:0x0 +}; + +// nNetwork::SessionDriver vftable:0x20C80E4, Size:0x4F0, CRC32:0x50402394 +class nNetwork::SessionDriver /*: MtObject*/ { + s32 'mState' ; // Offset:0x8, Var, CRC32:0x5E27483A, Flags:0x10000 + bool 'mCanHost' ; // Offset:0xE, Var, CRC32:0xF2B8C14, Flags:0x0 + classref 'mpDriver' ; // Offset:0x14, Var, CRC32:0x9A539D9B, Flags:0x60000 +}; + +// nNetwork::SessionListener vftable:0x1BD8CF0, Size:0x4, CRC32:0x6A469AD6 +class nNetwork::SessionListener /*: MtObject*/ { +}; + +// nNetwork::Storage vftable:0x20D3670, Size:0xC4, CRC32:0x33E60382 +class nNetwork::Storage /*: MtObject*/ { + event 'abort' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x54A4BDB, Flags:0xA0000 + event 'close' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xECFE7E3B, Flags:0xA0000 + u32 'mUserIndex' ; // Offset:0x10, Var, CRC32:0x3A82FA93, Flags:0x0 + s32 'mService' ; // Offset:0x14, Var, CRC32:0x627FE9CC, Flags:0x0 + s32 'mOption' ; // Offset:0x18, Var, CRC32:0x641AA981, Flags:0x0 + s32 'mState' ; // Offset:0x20, Var, CRC32:0x5E27483A, Flags:0x10000 + classref 'mpStorage' ; // Offset:0x30, Var, CRC32:0x1E21E1E4, Flags:0x20000 +}; + +// nNetwork::TagChecker vftable:0x20D82A8, Size:0x5C, CRC32:0x43288400 +class nNetwork::TagChecker /*: MtObject*/ { +}; + +// nNetwork::TagChecker::RpcSyncAns vftable:0x20D828C, Size:0x14, CRC32:0x4FAE7A0B +class nNetwork::TagChecker::RpcSyncAns /*: nNetwork::TagChecker::RpcSyncReq, cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::TagChecker::RpcSyncReq vftable:0x20D8268, Size:0x14, CRC32:0x5C34DFC5 +class nNetwork::TagChecker::RpcSyncReq /*: cRemoteCall, MtObject*/ { + u32 'mAttribute' ; // Offset:0x4, Var, CRC32:0xA6EE61BF, Flags:0x10000 +}; + +// nNetwork::Transport vftable:0x20D8990, Size:0x300, CRC32:0x681C525 +class nNetwork::Transport /*: MtObject*/ { + classref 'mpProtocol'[4] ; // Offset:0x8, Array, CRC32:0x9C5BDAEF, Flags:0x200000 + class 'mForwardQueue'[8] ; // Offset:0x18, Array, CRC32:0x4F95031B, Flags:0x200000 + bool 'mFastTransfer' ; // Offset:0x2D8, Var, CRC32:0x9B01EA08, Flags:0x0 + u32 'mBandwidthMin' ; // Offset:0x2DC, Var, CRC32:0x859E4093, Flags:0x0 + u32 'mBandwidthMax' ; // Offset:0x2E0, Var, CRC32:0xB9937FCA, Flags:0x0 + u32 'mBandwidthStart' ; // Offset:0x2E4, Var, CRC32:0x102E521A, Flags:0x0 + u32 'mBandwidthTarget' ; // Offset:0x2E8, Var, CRC32:0x1487F0BD, Flags:0x0 + u32 'mIntervalMin' ; // Offset:0x2EC, Var, CRC32:0x70E1C063, Flags:0x0 + u32 'mIntervalMax' ; // Offset:0x2F0, Var, CRC32:0x4CECFF3A, Flags:0x0 + u32 'mBroadcastSendSequence' ; // Offset:0x2F4, Var, CRC32:0xBF99566A, Flags:0x0 +}; + +// nNetwork::Transport::ForwardQueue vftable:0x20D897C, Size:0x58, CRC32:0x1F3FD829 +class nNetwork::Transport::ForwardQueue /*: nNetwork::BlockQueue, nNetwork::BlockBuffer, MtObject*/ { + u32 'mBlockMax' ; // Offset:0xC, Var, CRC32:0x21913C8, Flags:0x10000 + s32 'mCount' ; // Offset:0x20, Var, CRC32:0x786DDEA3, Flags:0x10000 + s32 'mRouteIndex' ; // Offset:0x40, Var, CRC32:0x123DC711, Flags:0x0 + u32 'mRouteKey' ; // Offset:0x44, Var, CRC32:0xC8FEAC02, Flags:0x0 + u32 'mPriority' ; // Offset:0x48, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mInterval' ; // Offset:0x4C, Var, CRC32:0x3148DF56, Flags:0x0 + u32 'Length' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17EF6D0, Setter:0x0, CRC32:0xF92E647B, Flags:0x830000 +}; + +// nNetwork::UpdaterPtr vftable:0x20D809C, Size:0x48, CRC32:0x26AA4D21 +class nNetwork::UpdaterPtr /*: MtObject*/ { +}; + +// nNetwork::VoiceChat vftable:0x20D3550, Size:0x98, CRC32:0x2926F69A +class nNetwork::VoiceChat /*: MtObject*/ { + bool 'mInit' ; // Offset:0x1C, Var, CRC32:0x1F7D2F48, Flags:0x10000 + bool 'mAutoAdd' ; // Offset:0x1E, Var, CRC32:0x3DA13A0C, Flags:0x0 + class 'mTalker'[1] ; // Offset:0x30, Array, CRC32:0x284CFA30, Flags:0x200000 + u32 'SessionIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17F2E20, Setter:0x17F3190, CRC32:0x3D281C33, Flags:0x800000 +}; + +// nNetwork::VoiceChat::Talker vftable:0x20D3534, Size:0x18, CRC32:0x2D8CFE2B +class nNetwork::VoiceChat::Talker /*: MtObject*/ { + event 'Final' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD2EB8C3D, Flags:0xA0000 + event 'Init' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x99B9B4B5, Flags:0xA0000 + event 'Loopback' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD5EB8853, Flags:0xA0000 + bool 'mInit' ; // Offset:0x4, Var, CRC32:0x1F7D2F48, Flags:0x10000 + bool 'mLoopback' ; // Offset:0x5, Var, CRC32:0xFBEC2567, Flags:0x10000 + s32 'mDst' ; // Offset:0x8, Var, CRC32:0x331EB531, Flags:0x0 + u32 'mTask' ; // Offset:0xC, Var, CRC32:0x8B771019, Flags:0x10000 + u64 'mUpdateTime' ; // Offset:0x10, Var, CRC32:0xF645AD68, Flags:0x0 +}; + +// nNetwork::nAchievement::Object vftable:0x20CBFE8, Size:0x68, CRC32:0x24170508 +class nNetwork::nAchievement::Object /*: MtObject*/ { +}; + +// nNetwork::nRanking::Object vftable:0x20D32D4, Size:0x44FC, CRC32:0x6D87005E +class nNetwork::nRanking::Object /*: MtNetObject, MtObject*/ { + event 'init' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x398B1B8B, Flags:0xA0000 + event 'kill' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xF8D6A996, Flags:0xA0000 + classref 'mpDriver' ; // Offset:0x4490, Var, CRC32:0x9A539D9B, Flags:0x0 + s32 'mState' ; // Offset:0x44A0, Var, CRC32:0x5E27483A, Flags:0x10000 +}; + +// nNetwork::nRanking::Object::StateBase vftable:0x20D3270, Size:0x2C, CRC32:0x4B9A365C +class nNetwork::nRanking::Object::StateBase /*: cStateMachineBase::StateBase, MtObject*/ { +}; + +// nNetwork::nSharedMemory2::CConsistentHash vftable:0x20D30B0, Size:0x441C, CRC32:0x2555700F +class nNetwork::nSharedMemory2::CConsistentHash /*: MtObject*/ { +}; + +// nNetwork::nSharedMemory2::CNode vftable:0x20D3070, Size:0x8, CRC32:0x798B44D5 +class nNetwork::nSharedMemory2::CNode /*: MtObject*/ { +}; + +// nNetwork::nSharedMemory2::CProtocol vftable:0x20D3150, Size:0x10, CRC32:0x2DC53F5E +class nNetwork::nSharedMemory2::CProtocol /*: MtObject*/ { +}; + +// nNetwork::nSharedMemory2::CRecord vftable:0x20D308C, Size:0x14, CRC32:0x74CC9443 +class nNetwork::nSharedMemory2::CRecord /*: MtObject*/ { +}; + +// nPawnSpSkillCategoryUI::Param vftable:0x1C6B074, Size:0xC, CRC32:0x43D0AF74 +class nPawnSpSkillCategoryUI::Param /*: MtObject*/ { +}; + +// nPawnSpSkillLevelUI::Param vftable:0x1C6B604, Size:0xC, CRC32:0x81822B2 +class nPawnSpSkillLevelUI::Param /*: MtObject*/ { +}; + +// nPhysics::Constraint::Axis vftable:0x20DBA78, Size:0x38, CRC32:0x3645904F +class nPhysics::Constraint::Axis /*: nPhysics::Constraint::Object, nPhysics::Base, MtObject*/ { +}; + +// nPhysics::Constraint::BallJoint vftable:0x20D944C, Size:0x38, CRC32:0x43FA451B +class nPhysics::Constraint::BallJoint /*: nPhysics::Constraint::Object, nPhysics::Base, MtObject*/ { +}; + +// nPhysics::Constraint::ConeTwist vftable:0x20D9490, Size:0x3C, CRC32:0x448A3904 +class nPhysics::Constraint::ConeTwist /*: nPhysics::Constraint::BallJoint, nPhysics::Constraint::Object, nPhysics::Base, MtObject*/ { +}; + +// nPhysics::Constraint::Hinge vftable:0x20D94E8, Size:0x3C, CRC32:0x15591F1D +class nPhysics::Constraint::Hinge /*: nPhysics::Constraint::BallJoint, nPhysics::Constraint::Object, nPhysics::Base, MtObject*/ { +}; + +// nPhysics::Constraint::Motor vftable:0x20DBAB8, Size:0x38, CRC32:0x2269E6D8 +class nPhysics::Constraint::Motor /*: nPhysics::Constraint::Object, nPhysics::Base, MtObject*/ { +}; + +// nPhysics::Constraint::Muscle vftable:0x20D9528, Size:0x38, CRC32:0x5FAED7F6 +class nPhysics::Constraint::Muscle /*: nPhysics::Constraint::Object, nPhysics::Base, MtObject*/ { +}; + +// nPhysics::InertiaTensor vftable:0x20D8F00, Size:0x110, CRC32:0x455459FE +class nPhysics::InertiaTensor /*: MtObject*/ { +}; + +// nPhysics::Mass vftable:0x20D8EC4, Size:0xC, CRC32:0x6E6D642 +class nPhysics::Mass /*: MtObject*/ { + f32 'mMass' ; // Offset:0x4, Var, CRC32:0xB50A905A, Flags:0x0 + f32 'mInverseMass' ; // Offset:0x8, Var, CRC32:0x1A83E4B, Flags:0x0 +}; + +// nPhysics::Material vftable:0x20CD91C, Size:0x20, CRC32:0x152995DC +class nPhysics::Material /*: MtObject*/ { +}; + +// nPhysics::RigidBody vftable:0x20C988C, Size:0xA8, CRC32:0x7D1543D0 +class nPhysics::RigidBody /*: nPhysics::Base, MtObject*/ { +}; + +// nPhysics::System vftable:0x20C1A54, Size:0xD290, CRC32:0x6A7577AA +class nPhysics::System /*: cSystem, MtObject*/ { +}; + +// nPrim::PrimVertex vftable:0x1C7F4C8, Size:0x60, CRC32:0x20C62339 +class nPrim::PrimVertex /*: MtObject*/ { + float3 'mPos' ; // Offset:0x4, Var, CRC32:0x50227663, Flags:0x0 + color 'mColor' ; // Offset:0x10, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mScale' ; // Offset:0x14, Var, CRC32:0x11F2BF45, Flags:0x0 + u32 'mHdrIntensity' ; // Offset:0x18, Var, CRC32:0x10C05CD3, Flags:0x0 + u32 'mBinormal' ; // Offset:0x1C, Var, CRC32:0x510B8843, Flags:0x0 + f32 'mTexCoordU' ; // Offset:0x24, Var, CRC32:0xEC50F04D, Flags:0x0 + f32 'mTexCoordV' ; // Offset:0x28, Var, CRC32:0x7559A1F7, Flags:0x0 + vector3 'mNormal' ; // Offset:0x30, Var, CRC32:0x1F19C1D5, Flags:0x0 + vector3 'mTangent' ; // Offset:0x40, Var, CRC32:0xA7F878F6, Flags:0x0 +}; + +// nQuest::cCycleContentsBorderRewardInfo vftable:0x1C45818, Size:0x20, CRC32:0xAB2AE90 +class nQuest::cCycleContentsBorderRewardInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsInfo vftable:0x1C45690, Size:0xC8, CRC32:0x4FB9D3C7 +class nQuest::cCycleContentsInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsInfoExSituation vftable:0x1C4562C, Size:0x20, CRC32:0x31A152E2 +class nQuest::cCycleContentsInfoExSituation /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsPersonalRankInfo vftable:0x1C455D8, Size:0x18, CRC32:0x632060F7 +class nQuest::cCycleContentsPersonalRankInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsRankInfo vftable:0x1C459D0, Size:0xC, CRC32:0x5E3CAF4A +class nQuest::cCycleContentsRankInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsRankingInfo vftable:0x1C457E0, Size:0x20, CRC32:0x209A6265 +class nQuest::cCycleContentsRankingInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsRankingRewardInfo vftable:0x1C457FC, Size:0x20, CRC32:0x6DDC747C +class nQuest::cCycleContentsRankingRewardInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsResultGpInfo vftable:0x1C4576C, Size:0x14, CRC32:0x2419FC16 +class nQuest::cCycleContentsResultGpInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsResultInfo vftable:0x1C457C4, Size:0x74, CRC32:0x2B442BBE +class nQuest::cCycleContentsResultInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsResultPointInfo vftable:0x1C45734, Size:0x14, CRC32:0x55D48EF6 +class nQuest::cCycleContentsResultPointInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsResultRewardInfo vftable:0x1C45750, Size:0x10, CRC32:0xA1883E3 +class nQuest::cCycleContentsResultRewardInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cCycleContentsSituationInfo vftable:0x1C45A00, Size:0x68, CRC32:0x55C2CA59 +class nQuest::cCycleContentsSituationInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cDeliverRequestItemInfo vftable:0x1C45508, Size:0xC, CRC32:0x522CD34F +class nQuest::cDeliverRequestItemInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cDeliverTargetInfo vftable:0x1B8D82C, Size:0x18, CRC32:0x656CB7EA +class nQuest::cDeliverTargetInfo /*: MtObject*/ { +}; + +// nQuest::cDeliveredItemInfo vftable:0x1C45570, Size:0x20, CRC32:0x4BAB2728 +class nQuest::cDeliveredItemInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cDeliveredItemInfo::cDeliverCharacterInfo vftable:0x1B8C1D8, Size:0xC, CRC32:0x584F5505 +class nQuest::cDeliveredItemInfo::cDeliverCharacterInfo /*: MtObject*/ { + u32 'mCharacterId' ; // Offset:0x4, Var, CRC32:0x853AFABE, Flags:0x0 + u16 'mItemNum' ; // Offset:0x8, Var, CRC32:0x13C20DFE, Flags:0x0 +}; + +// nQuest::cEndContentsGroupQuestInfo vftable:0x1C45A1C, Size:0xB0, CRC32:0xDE73E3C +class nQuest::cEndContentsGroupQuestInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cFixRewardData vftable:0x1C454EC, Size:0x40, CRC32:0x6F27F2CC +class nQuest::cFixRewardData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIActiveData vftable:0x1C459B4, Size:0xC, CRC32:0x6E64A553 +class nQuest::cGUIActiveData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIAreaMasterData vftable:0x1C45998, Size:0x10, CRC32:0x5D219C51 +class nQuest::cGUIAreaMasterData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIBoardData vftable:0x1C45944, Size:0xC, CRC32:0x5B365600 +class nQuest::cGUIBoardData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIDeliveryData vftable:0x1C45960, Size:0x10, CRC32:0x703B66B5 +class nQuest::cGUIDeliveryData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIEventBoardData vftable:0x1C4597C, Size:0xC, CRC32:0x57D75D82 +class nQuest::cGUIEventBoardData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIInfoData vftable:0x1C45928, Size:0x14, CRC32:0x524C407D +class nQuest::cGUIInfoData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUIListData vftable:0x1C4590C, Size:0x14, CRC32:0x1B20452C +class nQuest::cGUIListData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUINewspaperRecommededQuestInfo vftable:0x1C456F4, Size:0xC8, CRC32:0x71DD5D4B +class nQuest::cGUINewspaperRecommededQuestInfo /*: nQuest::cGUINewspaperSetQuestInfo, nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUINewspaperSetQuestInfo vftable:0x1C456C0, Size:0xC0, CRC32:0x42D1C3A +class nQuest::cGUINewspaperSetQuestInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUINewspaperSetQuestItemInfo vftable:0x1C45610, Size:0xC, CRC32:0x58E87F1C +class nQuest::cGUINewspaperSetQuestItemInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUINewspaperSetQuestMonsterInfo vftable:0x1C455F4, Size:0x10, CRC32:0x81042D5 +class nQuest::cGUINewspaperSetQuestMonsterInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cGUINewspaperSetQuestOpenDateInfo vftable:0x1C45714, Size:0xD0, CRC32:0x1EB89193 +class nQuest::cGUINewspaperSetQuestOpenDateInfo /*: nQuest::cGUINewspaperSetQuestInfo, nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cOrderCondition vftable:0x1C45498, Size:0x18, CRC32:0x1A5C439F +class nQuest::cOrderCondition /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cPackagePackageDetail vftable:0x1C458B0, Size:0x20, CRC32:0x534BADD3 +class nQuest::cPackagePackageDetail /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cPackageQuestDetail vftable:0x1C45850, Size:0x30, CRC32:0x2DE3DEDF +class nQuest::cPackageQuestDetail /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cPackageQuestInfo vftable:0x1C45834, Size:0xC, CRC32:0x9ABB292 +class nQuest::cPackageQuestInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cPackageSequenceDetail vftable:0x1C45880, Size:0x30, CRC32:0x74C8712C +class nQuest::cPackageSequenceDetail /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cPartyBonusInfo vftable:0x1C45A84, Size:0x2C, CRC32:0x3605E89 +class nQuest::cPartyBonusInfo /*: nQuest::cQuestInfoBase, MtObject*/ { + class 'mQuestId' ; // Offset:0x4, Var, CRC32:0x1FBA8D43, Flags:0x0 + class 'mScheduleId' ; // Offset:0xC, Var, CRC32:0x14AAFFC4, Flags:0x0 + u32 'mGoldRatio' ; // Offset:0x14, Var, CRC32:0xAFA4CF2B, Flags:0x0 + u32 'mExpRatio' ; // Offset:0x18, Var, CRC32:0xFA81B2C0, Flags:0x0 + u32 'mRimRatio' ; // Offset:0x1C, Var, CRC32:0xF21E0CCD, Flags:0x0 + u32 'mAreaPointRatio' ; // Offset:0x20, Var, CRC32:0xF47A2DFB, Flags:0x0 + u32 'mOrbNum' ; // Offset:0x24, Var, CRC32:0x7F8E09A6, Flags:0x0 +}; + +// nQuest::cQuestCommand vftable:0x1C458CC, Size:0x18, CRC32:0x4723E18 +class nQuest::cQuestCommand /*: MtObject*/ { +}; + +// nQuest::cQuestDeliverRequestInfo vftable:0x1C45538, Size:0x20, CRC32:0x1D4F4F4E +class nQuest::cQuestDeliverRequestInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cQuestDeliveredInfo vftable:0x1C455A0, Size:0x20, CRC32:0x660E58D2 +class nQuest::cQuestDeliveredInfo /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cQuestInfoBase vftable:0x1C4547C, Size:0x4, CRC32:0x35D8081B +class nQuest::cQuestInfoBase /*: MtObject*/ { +}; + +// nQuest::cQuestMarker vftable:0x1C455BC, Size:0x50, CRC32:0x35DFBB56 +class nQuest::cQuestMarker /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cRepeatBonus vftable:0x1C454B4, Size:0x10, CRC32:0x5E9FBC9B +class nQuest::cRepeatBonus /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cRewardData vftable:0x1C454D0, Size:0xC, CRC32:0x3A08C853 +class nQuest::cRewardData /*: nQuest::cQuestInfoBase, MtObject*/ { +}; + +// nQuest::cScheduleInfo vftable:0x1C45A68, Size:0x14, CRC32:0x7EC5AABC +class nQuest::cScheduleInfo /*: MtObject*/ { +}; + +// nQuest::cTalkData vftable:0x1C07150, Size:0x1C, CRC32:0x6E31DBD4 +class nQuest::cTalkData /*: MtObject*/ { +}; + +// nQuest::cTargetEnemyInfo vftable:0x1C45A38, Size:0x10, CRC32:0x7359EBE7 +class nQuest::cTargetEnemyInfo /*: MtObject*/ { +}; + +// nShlBase::cShlStickContextInfo vftable:0x1AF7430, Size:0x40, CRC32:0x5BFD14BD +class nShlBase::cShlStickContextInfo /*: MtObject*/ { +}; + +// nShlStick::cStickObjectCtrl vftable:0x1DA0870, Size:0xB0, CRC32:0x3767CB15 +class nShlStick::cStickObjectCtrl /*: MtObject*/ { +}; + +// nSoundGenerator::cBaseContents vftable:0x1DABD3C, Size:0x14, CRC32:0x5B8C5731 +class nSoundGenerator::cBaseContents /*: nSoundGenerator::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + f32 'StopDist' ; // Offset:0x10, Var, CRC32:0x5929DD1E, Flags:0x0 +}; + +// nSoundGenerator::cFreeWorkContents vftable:0x1DABDEC, Size:0x20, CRC32:0x51ADEC03 +class nSoundGenerator::cFreeWorkContents /*: nSoundGenerator::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + s32 'FreeWork0' ; // Offset:0x10, Var, CRC32:0xC56F30EA, Flags:0x0 + s32 'FreeWork1' ; // Offset:0x14, Var, CRC32:0xB268007C, Flags:0x0 + s32 'FreeWork2' ; // Offset:0x18, Var, CRC32:0x2B6151C6, Flags:0x0 + s32 'FreeWork3' ; // Offset:0x1C, Var, CRC32:0x5C666150, Flags:0x0 +}; + +// nSoundGenerator::cSeContents vftable:0x1DABD68, Size:0x18, CRC32:0x7F9E133B +class nSoundGenerator::cSeContents /*: nSoundGenerator::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'SeRequestNo' ; // Offset:0x10, Var, CRC32:0x5FE29341, Flags:0x0 + custom 'SeRequest' ; // Offset:0x14, Var, CRC32:0xA3645140, Flags:0x0 +}; + +// nSoundGenerator::cSeqSeContents vftable:0x1DABDC0, Size:0x14, CRC32:0x40E68C5E +class nSoundGenerator::cSeqSeContents /*: nSoundGenerator::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + custom 'SequenceSe' ; // Offset:0x10, Var, CRC32:0x33F29D08, Flags:0x0 +}; + +// nSoundGenerator::cStreamContents vftable:0x1DABD94, Size:0x18, CRC32:0x2605BB40 +class nSoundGenerator::cStreamContents /*: nSoundGenerator::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'mStreamRequestNo' ; // Offset:0x10, Var, CRC32:0x8D7A74CD, Flags:0x30000 + u32 'StreamRequestNo' ; // Offset:0x10, Var, CRC32:0x8619F3A1, Flags:0x0 + custom 'StreamRequest' ; // Offset:0x14, Var, CRC32:0x9BB735BF, Flags:0x0 +}; + +// nSoundOcclusion::cBaseContents vftable:0x1DAC22C, Size:0x2C, CRC32:0x3616A710 +class nSoundOcclusion::cBaseContents /*: nSoundOcclusion::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'Option' ; // Offset:0x10, Var, CRC32:0xA2D5FA79, Flags:0x0 + s16 'HollowID' ; // Offset:0x14, Var, CRC32:0x5C5E78EA, Flags:0x0 + s16 'HollowPriority' ; // Offset:0x16, Var, CRC32:0x486DD51B, Flags:0x0 + f32 'VolumeRate' ; // Offset:0x18, Var, CRC32:0xA993CE29, Flags:0x0 + f32 'Line [0 - 1]' ; // Offset:0x1C, Var, CRC32:0xE78D773E, Flags:0x0 + f32 'Line [0 - 3]' ; // Offset:0x20, Var, CRC32:0xD5BB15BC, Flags:0x0 + f32 'Line [1 - 2]' ; // Offset:0x24, Var, CRC32:0x7FCF758, Flags:0x0 + f32 'Line [2 - 3]' ; // Offset:0x28, Var, CRC32:0x9873B4B7, Flags:0x0 +}; + +// nSoundOcclusion::cFreeWorkContents vftable:0x1DAC258, Size:0x20, CRC32:0x444A28FD +class nSoundOcclusion::cFreeWorkContents /*: nSoundOcclusion::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + s32 'FreeWork0' ; // Offset:0x10, Var, CRC32:0xC56F30EA, Flags:0x0 + s32 'FreeWork1' ; // Offset:0x14, Var, CRC32:0xB268007C, Flags:0x0 + s32 'FreeWork2' ; // Offset:0x18, Var, CRC32:0x2B6151C6, Flags:0x0 + s32 'FreeWork3' ; // Offset:0x1C, Var, CRC32:0x5C666150, Flags:0x0 +}; + +// nSoundTrigger::cBaseContents vftable:0x1DACB9C, Size:0x14, CRC32:0x46B470C4 +class nSoundTrigger::cBaseContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'Option' ; // Offset:0x10, Var, CRC32:0xA2D5FA79, Flags:0x0 +}; + +// nSoundTrigger::cCurveSetContents vftable:0x1DACCD0, Size:0x18, CRC32:0x43B5E134 +class nSoundTrigger::cCurveSetContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'CurveSet AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x87D40551, Flags:0xA0000 + event 'CurveSet BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDA6968A1, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + custom 'CurveSet:A' ; // Offset:0x10, Var, CRC32:0xEEF99D7C, Flags:0x0 + custom 'CurveSet:B' ; // Offset:0x14, Var, CRC32:0x77F0CCC6, Flags:0x0 +}; + +// nSoundTrigger::cDirectionalSetContents vftable:0x1DACCFC, Size:0x18, CRC32:0xFF8869 +class nSoundTrigger::cDirectionalSetContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'DirectionalSet AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xA4FAC4A0, Flags:0xA0000 + event 'DirectionalSet BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x40075C01, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + custom 'DirectionalSet:A' ; // Offset:0x10, Var, CRC32:0xE9D25B98, Flags:0x0 + custom 'DirectionalSet:B' ; // Offset:0x14, Var, CRC32:0x70DB0A22, Flags:0x0 +}; + +// nSoundTrigger::cEQContents vftable:0x1DACCA4, Size:0x28, CRC32:0x23EECFCE +class nSoundTrigger::cEQContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'EQ AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xA0A2BB1, Flags:0xA0000 + event 'EQ BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x161DBCEE, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'EQID:A' ; // Offset:0x10, Var, CRC32:0xA126BE2C, Flags:0x0 + u32 'EQID:B' ; // Offset:0x14, Var, CRC32:0x382FEF96, Flags:0x0 + u32 'FadeTime:A' ; // Offset:0x18, Var, CRC32:0xE9F96E3D, Flags:0x0 + u32 'FadeTime:B' ; // Offset:0x1C, Var, CRC32:0x70F03F87, Flags:0x0 + custom 'EQ:A' ; // Offset:0x20, Var, CRC32:0x3B7D6314, Flags:0x0 + custom 'EQ:B' ; // Offset:0x24, Var, CRC32:0xA27432AE, Flags:0x0 +}; + +// nSoundTrigger::cFreeWorkContents vftable:0x1DACD54, Size:0x30, CRC32:0x443609F1 +class nSoundTrigger::cFreeWorkContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'FreeWork AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xAF48F429, Flags:0xA0000 + event 'FreeWork BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFAEA03FC, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + s32 'FreeWorkA0' ; // Offset:0x10, Var, CRC32:0x50E71C4D, Flags:0x0 + s32 'FreeWorkA1' ; // Offset:0x14, Var, CRC32:0x27E02CDB, Flags:0x0 + s32 'FreeWorkA2' ; // Offset:0x18, Var, CRC32:0xBEE97D61, Flags:0x0 + s32 'FreeWorkA3' ; // Offset:0x1C, Var, CRC32:0xC9EE4DF7, Flags:0x0 + s32 'FreeWorkB0' ; // Offset:0x20, Var, CRC32:0x7BCA4F8E, Flags:0x0 + s32 'FreeWorkB1' ; // Offset:0x24, Var, CRC32:0xCCD7F18, Flags:0x0 + s32 'FreeWorkB2' ; // Offset:0x28, Var, CRC32:0x95C42EA2, Flags:0x0 + s32 'FreeWorkB3' ; // Offset:0x2C, Var, CRC32:0xE2C31E34, Flags:0x0 +}; + +// nSoundTrigger::cPlaySeqSeContents vftable:0x1DACC20, Size:0x18, CRC32:0x7438F376 +class nSoundTrigger::cPlaySeqSeContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'SequenceSe AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x66BF9946, Flags:0xA0000 + event 'SequenceSe BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x7A38D3C6, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + custom 'SequenceSe:A' ; // Offset:0x10, Var, CRC32:0x6215F97C, Flags:0x0 + custom 'SequenceSe:B' ; // Offset:0x14, Var, CRC32:0xFB1CA8C6, Flags:0x0 +}; + +// nSoundTrigger::cReverbContents vftable:0x1DACC78, Size:0x30, CRC32:0xE7CD687 +class nSoundTrigger::cReverbContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'Reverb AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x1EB63264, Flags:0xA0000 + event 'Reverb BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x706C2F73, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'ReverbID:A' ; // Offset:0x10, Var, CRC32:0x1434EB71, Flags:0x0 + u32 'ReverbID:B' ; // Offset:0x14, Var, CRC32:0x8D3DBACB, Flags:0x0 + u32 'EffectNo:A' ; // Offset:0x18, Var, CRC32:0x1A955EAA, Flags:0x0 + u32 'EffectNo:B' ; // Offset:0x1C, Var, CRC32:0x839C0F10, Flags:0x0 + u32 'FadeTime:A' ; // Offset:0x20, Var, CRC32:0xE9F96E3D, Flags:0x0 + u32 'FadeTime:B' ; // Offset:0x24, Var, CRC32:0x70F03F87, Flags:0x0 + custom 'Reverb:A' ; // Offset:0x28, Var, CRC32:0x76EE79A8, Flags:0x0 + custom 'Reverb:B' ; // Offset:0x2C, Var, CRC32:0xEFE72812, Flags:0x0 +}; + +// nSoundTrigger::cSeContents vftable:0x1DACBC8, Size:0x20, CRC32:0x7A83AFBF +class nSoundTrigger::cSeContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'Se AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD4574DCD, Flags:0xA0000 + event 'Se BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xC840DA92, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'SeRequestNo:A' ; // Offset:0x10, Var, CRC32:0xA4164C27, Flags:0x0 + u32 'SeRequestNo:B' ; // Offset:0x14, Var, CRC32:0x3D1F1D9D, Flags:0x0 + custom 'SeRequest:A' ; // Offset:0x18, Var, CRC32:0xC867227C, Flags:0x0 + custom 'SeRequest:B' ; // Offset:0x1C, Var, CRC32:0x516E73C6, Flags:0x0 +}; + +// nSoundTrigger::cStopSeqSeContents vftable:0x1DACC4C, Size:0x20, CRC32:0x71B3EE16 +class nSoundTrigger::cStopSeqSeContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'StopGroupID AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D1ACE9, Flags:0xA0000 + event 'StopGroupID BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x62E6D0D0, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + s16 'StopGroupID:A'[4] ; // Offset:0x10, Array, CRC32:0x685A9A69, Flags:0x200000 + s16 'StopGroupID:B'[4] ; // Offset:0x18, Array, CRC32:0xF153CBD3, Flags:0x200000 +}; + +// nSoundTrigger::cStreamContents vftable:0x1DACBF4, Size:0x20, CRC32:0x6AC486EB +class nSoundTrigger::cStreamContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'Stream AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xA82955E8, Flags:0xA0000 + event 'Stream BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xC6F348FF, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u32 'StreamRequestNo:A' ; // Offset:0x10, Var, CRC32:0xB7DA0768, Flags:0x0 + u32 'StreamRequestNo:B' ; // Offset:0x14, Var, CRC32:0x2ED356D2, Flags:0x0 + custom 'StreamRequest:A' ; // Offset:0x18, Var, CRC32:0x119C429C, Flags:0x0 + custom 'StreamRequest:B' ; // Offset:0x1C, Var, CRC32:0x88951326, Flags:0x0 +}; + +// nSoundTrigger::cSubMixerContents vftable:0x1DACD28, Size:0x1C, CRC32:0x703D8DD2 +class nSoundTrigger::cSubMixerContents /*: nSoundTrigger::cCategory, nSoundZoneBase::cSoundZoneContents, cZoneContents, MtObject*/ { + event 'SubMixer AtoB' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x69C2CDA9, Flags:0xA0000 + event 'SubMixer BtoA' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x347FA059, Flags:0xA0000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 + u16 'SubMixerID:A' ; // Offset:0x10, Var, CRC32:0xC480EA8E, Flags:0x0 + u16 'SubMixerID:B' ; // Offset:0x12, Var, CRC32:0x5D89BB34, Flags:0x0 + custom 'SubMixer:A' ; // Offset:0x14, Var, CRC32:0xDAD67ECB, Flags:0x0 + custom 'SubMixer:B' ; // Offset:0x18, Var, CRC32:0x43DF2F71, Flags:0x0 +}; + +// nSoundZoneBase::cSoundZoneContents vftable:0x1DAD484, Size:0x10, CRC32:0x2F1F412B +class nSoundZoneBase::cSoundZoneContents /*: cZoneContents, MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x20010000 + string 'mCategoryName' ; // Offset:0x8, Var, CRC32:0x4C087B52, Flags:0x20010000 + bool 'Use' ; // Offset:0xC, Var, CRC32:0x53037554, Flags:0x0 + bool 'Native' ; // Offset:0xD, Var, CRC32:0x38DBE77E, Flags:0x10000 +}; + +// nTalk::cSelectData vftable:0x1C47FA8, Size:0x10, CRC32:0x32BE4701 +class nTalk::cSelectData /*: MtObject*/ { +}; + +// nTalk::cSelectDataExFunc vftable:0x1C47FC4, Size:0x24, CRC32:0x4F4FAF6B +class nTalk::cSelectDataExFunc /*: nTalk::cSelectData, MtObject*/ { +}; + +// nTalk::cSelectMember vftable:0x1C47FE0, Size:0x24, CRC32:0x2AFA897A +class nTalk::cSelectMember /*: MtObject*/ { +}; + +// nZone::ShapeInfoAABB vftable:0x20C2538, Size:0x40, CRC32:0x1CADBC74 +class nZone::ShapeInfoAABB /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecayX' ; // Offset:0x4, Var, CRC32:0xB6225F60, Flags:0x20000 + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + aabb 'mAABB' ; // Offset:0x10, Var, CRC32:0x50126E8A, Flags:0x0 + f32 'mDecayY' ; // Offset:0x30, Var, CRC32:0xC1256FF6, Flags:0x0 + f32 'mDecayZ' ; // Offset:0x34, Var, CRC32:0x582C3E4C, Flags:0x0 + bool 'mIsEnableExtendedDecay' ; // Offset:0x38, Var, CRC32:0xCE0383A0, Flags:0x0 + vector3 'v111' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520820, Setter:0x152AC50, CRC32:0x22C5578C, Flags:0x820000 + vector3 'v011' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520660, Setter:0x152AC10, CRC32:0x23073DBB, Flags:0x820000 + vector3 'v101' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520740, Setter:0x152AC30, CRC32:0x3BDE66CD, Flags:0x820000 + vector3 'v001' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520580, Setter:0x152ABF0, CRC32:0x3A1C0CFA, Flags:0x820000 + vector3 'v110' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15207B0, Setter:0x152AC40, CRC32:0x55C2671A, Flags:0x820000 + vector3 'v010' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15205F0, Setter:0x152AC00, CRC32:0x54000D2D, Flags:0x820000 + vector3 'v100' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15206D0, Setter:0x152AC20, CRC32:0x4CD9565B, Flags:0x820000 + vector3 'v000' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520560, Setter:0x152ABE0, CRC32:0x4D1B3C6C, Flags:0x820000 + vector3 'std::maxpos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520820, Setter:0x152AC50, CRC32:0xD4A0CFB6, Flags:0x820000 + vector3 'std::minpos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1520560, Setter:0x152ABE0, CRC32:0x91A28C34, Flags:0x820000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoArea vftable:0x20C24A8, Size:0x70, CRC32:0x422224AA +class nZone::ShapeInfoArea /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + u32 'mConcaveStatus' ; // Offset:0x14, Var, CRC32:0x4257DA20, Flags:0x10000 + bool 'mFlgConvex' ; // Offset:0x18, Var, CRC32:0x3CECF3B, Flags:0x10000 + vector3 'mConcaveCrossPos' ; // Offset:0x60, Var, CRC32:0x50CA14C5, Flags:0x10000 + f32 'mHeight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424430, Setter:0x152A860, CRC32:0xCBD14C3E, Flags:0x800000 + f32 'mBottom' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x151BE20, Setter:0x1529F50, CRC32:0xB7C3DB95, Flags:0x800000 + vector3 'mVertex'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x425420, Setter:0x152ACF0, GetCount:0x1520840, Reallocate:0x152A7C0 CRC32:0xD76DD004, Flags:0xA00000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoBase vftable:0x20C2418, Size:0x10, CRC32:0x5502E7A3 +class nZone::ShapeInfoBase /*: MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoCapsule vftable:0x20C26E8, Size:0x40, CRC32:0x1600850B +class nZone::ShapeInfoCapsule /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + capsule 'mCapsule' ; // Offset:0x10, Var, CRC32:0x418AD29D, Flags:0x0 + vector3 'Position0' ; // Offset:0x10, Var, CRC32:0x4444880A, Flags:0x20000 + vector3 'Position1' ; // Offset:0x20, Var, CRC32:0x3343B89C, Flags:0x20000 + f32 'Radius' ; // Offset:0x30, Var, CRC32:0xC32F9493, Flags:0x20000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoCone vftable:0x20C2808, Size:0x40, CRC32:0x184CC1D0 +class nZone::ShapeInfoCone /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + f32 'mTopRadius' ; // Offset:0x10, Var, CRC32:0x7F63A0C0, Flags:0x0 + vector3 'mPos' ; // Offset:0x20, Var, CRC32:0x50227663, Flags:0x0 + f32 'mBottomRadius' ; // Offset:0x30, Var, CRC32:0x9A75AA0A, Flags:0x0 + f32 'mHeight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424440, Setter:0x425BC0, CRC32:0xCBD14C3E, Flags:0x800000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoCylinder vftable:0x20C2778, Size:0x40, CRC32:0x2AB1D751 +class nZone::ShapeInfoCylinder /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + cylinder 'mCylinder' ; // Offset:0x10, Var, CRC32:0xB38A6B77, Flags:0x0 + vector3 'Position0' ; // Offset:0x10, Var, CRC32:0x4444880A, Flags:0x20000 + vector3 'Position1' ; // Offset:0x20, Var, CRC32:0x3343B89C, Flags:0x20000 + f32 'Radius' ; // Offset:0x30, Var, CRC32:0xC32F9493, Flags:0x20000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoGlobal vftable:0x20C2A48, Size:0x10, CRC32:0x347B91C6 +class nZone::ShapeInfoGlobal /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoLine vftable:0x20C2928, Size:0x30, CRC32:0x44A2AD34 +class nZone::ShapeInfoLine /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + vector3 'Position0' ; // Offset:0x10, Var, CRC32:0x4444880A, Flags:0x0 + vector3 'Position1' ; // Offset:0x20, Var, CRC32:0x3343B89C, Flags:0x0 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoOBB vftable:0x20C25C8, Size:0x70, CRC32:0x509A34F +class nZone::ShapeInfoOBB /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecayX' ; // Offset:0x4, Var, CRC32:0xB6225F60, Flags:0x20000 + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + obb 'mOBB' ; // Offset:0x10, Var, CRC32:0x36ACC8FB, Flags:0x20000 + matrix44 'mOBB.coord' ; // Offset:0x10, Var, CRC32:0x1547C9F9, Flags:0x0 + vector3 'mOBB.extent' ; // Offset:0x50, Var, CRC32:0xF31B9D3A, Flags:0x0 + f32 'mDecayY' ; // Offset:0x60, Var, CRC32:0xC1256FF6, Flags:0x0 + f32 'mDecayZ' ; // Offset:0x64, Var, CRC32:0x582C3E4C, Flags:0x0 + bool 'mIsEnableExtendedDecay' ; // Offset:0x68, Var, CRC32:0xCE0383A0, Flags:0x0 + f32 'Height' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x151E5F0, Setter:0x152A8D0, CRC32:0xD1E1FC6, Flags:0x820000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoPanel vftable:0x20C29B8, Size:0x50, CRC32:0x5D02907 +class nZone::ShapeInfoPanel /*: nZone::ShapeInfoBase, MtObject*/ { + event 'Direction reversal' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB7253D37, Flags:0xA0000 + event 'Shift Diagonal' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x13BA0887, Flags:0xA0000 + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + vector3 'mVertex'[4] ; // Offset:0x10, Array, CRC32:0xD76DD004, Flags:0x200000 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoPoint vftable:0x20C2898, Size:0x20, CRC32:0x10D8092C +class nZone::ShapeInfoPoint /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::ShapeInfoSphere vftable:0x20C2658, Size:0x20, CRC32:0x9877CC2 +class nZone::ShapeInfoSphere /*: nZone::ShapeInfoBase, MtObject*/ { + f32 'mDecay' ; // Offset:0x4, Var, CRC32:0x44725D67, Flags:0x0 + bool 'mIsNativeData' ; // Offset:0x8, Var, CRC32:0x2E2D1BC6, Flags:0x10000 + sphere 'mSphere' ; // Offset:0x10, Var, CRC32:0x6B65CFB6, Flags:0x0 + vector3 'CenterPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1515BE0, Setter:0x1515BE5, CRC32:0xFAE9EB57, Flags:0x820000 +}; + +// nZone::cContentsPool vftable:0x20C2B08, Size:0x1C, CRC32:0x418040F8 +class nZone::cContentsPool /*: MtObject*/ { + class 'mContentsListArray' ; // Offset:0x4, Var, CRC32:0xF499B3F1, Flags:0x0 + bool 'mFlgNativeData' ; // Offset:0x18, Var, CRC32:0x1CF3406, Flags:0x0 +}; + +// nZone::cContentsPool::cContentsList vftable:0x20C2AE0, Size:0x84, CRC32:0x627A5EE0 +class nZone::cContentsPool::cContentsList /*: MtObject*/ { + class 'mZoneContentsArray' ; // Offset:0x4, Var, CRC32:0xA34D1FED, Flags:0x0 + s32 'mGroupID' ; // Offset:0x18, Var, CRC32:0x550DDB66, Flags:0x10000 + bool 'mFlgNativeData' ; // Offset:0x80, Var, CRC32:0x1CF3406, Flags:0x10000 + u32 'ZoneContentsNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA03840, Setter:0x0, CRC32:0x90D02D3, Flags:0x830000 +}; + +// nZone::cLayoutElement vftable:0x20C2B24, Size:0x3C, CRC32:0x33CB8B24 +class nZone::cLayoutElement /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x20000 + s32 'mPriority' ; // Offset:0x8, Var, CRC32:0x4A28ECBA, Flags:0x0 + bool 'mIsEnable' ; // Offset:0x18, Var, CRC32:0x1A46F275, Flags:0x0 + bool 'mIsDynamic' ; // Offset:0x19, Var, CRC32:0x71F8D730, Flags:0x30000 + u32 'mIndex' ; // Offset:0x1C, Var, CRC32:0x7DC7FDC0, Flags:0x30000 + u32 'mLayoutGroupIndex' ; // Offset:0x20, Var, CRC32:0x2360DD54, Flags:0x30000 + u32 'mIndexOfLayoutGroup' ; // Offset:0x24, Var, CRC32:0xE20EEE93, Flags:0x30000 + classref 'mpExtendObj' ; // Offset:0x28, Var, CRC32:0x41F354EE, Flags:0x0 + u32 'mUniqueID' ; // Offset:0x2C, Var, CRC32:0xDB2BF8F5, Flags:0x10000 + s32 'mGroupID' ; // Offset:0x30, Var, CRC32:0x550DDB66, Flags:0x0 + classref 'mpContentsPool' ; // Offset:0x38, Var, CRC32:0xA833121, Flags:0x0 + classref 'mpShapeInfo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA3FDA0, Setter:0x152AB20, CRC32:0x8C6E25D1, Flags:0x840000 + u32 'mShapeType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x151FE30, Setter:0x152ABD0, CRC32:0xA244B52, Flags:0x810000 + s32 'GNo(Direct)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x151E4F0, Setter:0x152A790, CRC32:0x1114A87B, Flags:0x820000 + s32 'GNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x151E4F0, Setter:0x152A790, CRC32:0xC69CA3EA, Flags:0x800000 + s32 'mContentsPoolID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA03DF0, Setter:0x152A7A0, CRC32:0x3E4404B0, Flags:0x800000 +}; + +// rAI vftable:0x20D4854, Size:0x78, CRC32:0x31A91DA3 +class rAI /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + f32 'mTaskPerformanceIndicator' ; // Offset:0x70, Var, CRC32:0xCF49C9F1, Flags:0x0 + classref 'mpTaskPerformanceInfoList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x180E340, Setter:0x180E4F0, GetCount:0x14F18E0, Reallocate:0x180E510 CRC32:0x74C76D27, Flags:0x4A00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAI::TaskPerformanceInfo vftable:0x20D4838, Size:0x1C, CRC32:0x56DBE48A +class rAI::TaskPerformanceInfo /*: MtObject*/ { + string 'mDTIName' ; // Offset:0x4, Var, CRC32:0x7CDEBA6B, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0x8, Var, CRC32:0x46C67205, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0xC, Var, CRC32:0x963229FA, Flags:0x0 + f32 'mAllowTime' ; // Offset:0x10, Var, CRC32:0x6665F55F, Flags:0x0 + classref 'mpLODList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x180E320, Setter:0x180E4C0, GetCount:0x14F16F0, Reallocate:0x180E4E0 CRC32:0xDE2CD35, Flags:0xA00000 +}; + +// rAI::TaskPerformanceInfo::LOD vftable:0x20D481C, Size:0x10, CRC32:0x7F22DC11 +class rAI::TaskPerformanceInfo::LOD /*: MtObject*/ { + bool 'mEnablePerformanceManage' ; // Offset:0x4, Var, CRC32:0x2EDB10D7, Flags:0x0 + f32 'mPerformanceIndicator' ; // Offset:0x8, Var, CRC32:0x963229FA, Flags:0x0 + u32 'mOverloadManageType' ; // Offset:0xC, Var, CRC32:0x46C67205, Flags:0x0 +}; + +// rAIConditionTree vftable:0x20D69E0, Size:0x70, CRC32:0x785E6622 +class rAIConditionTree /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTreeList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1848070, Setter:0x1848920, GetCount:0x1844930, Reallocate:0x1848940 CRC32:0xAE01094C, Flags:0xA00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIConditionTree::ConstEnumNode vftable:0x20D6968, Size:0x40, CRC32:0x3B9D960B +class rAIConditionTree::ConstEnumNode /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + class 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x0 + bool 'mIsBitNo' ; // Offset:0x38, Var, CRC32:0x904B757, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::ConstF32Node vftable:0x20D6860, Size:0x28, CRC32:0x76683F2 +class rAIConditionTree::ConstF32Node /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + f32 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::ConstF64Node vftable:0x20D68B8, Size:0x30, CRC32:0x58EBE7E1 +class rAIConditionTree::ConstF64Node /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + f64 'mValue' ; // Offset:0x28, Var, CRC32:0xE0C3C2F5, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::ConstS32Node vftable:0x20D67B0, Size:0x30, CRC32:0x3280309B +class rAIConditionTree::ConstS32Node /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + s32 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x0 + bool 'mIsBitNo' ; // Offset:0x28, Var, CRC32:0x904B757, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::ConstS64Node vftable:0x20D6808, Size:0x38, CRC32:0x6D0D5488 +class rAIConditionTree::ConstS64Node /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + s64 'mValue' ; // Offset:0x28, Var, CRC32:0xE0C3C2F5, Flags:0x0 + bool 'mIsBitNo' ; // Offset:0x30, Var, CRC32:0x904B757, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::ConstStringNode vftable:0x20D6910, Size:0x28, CRC32:0x5EC17F62 +class rAIConditionTree::ConstStringNode /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + string 'mValue' ; // Offset:0x24, Var, CRC32:0xE0C3C2F5, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::OperationNode vftable:0x20D6688, Size:0x28, CRC32:0x1C328079 +class rAIConditionTree::OperationNode /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + u32 'mOperator' ; // Offset:0x24, Var, CRC32:0xFF28971C, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::StateNode vftable:0x20D66E0, Size:0x28, CRC32:0x7954D98C +class rAIConditionTree::StateNode /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + s32 'mState' ; // Offset:0x24, Var, CRC32:0x5E27483A, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::TreeInfo vftable:0x20D69C0, Size:0x14, CRC32:0x56BB1759 +class rAIConditionTree::TreeInfo /*: MtObject*/ { + class 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + classref 'mpRootNode' ; // Offset:0x10, Var, CRC32:0x53CB70CC, Flags:0x0 +}; + +// rAIConditionTree::VariableNode vftable:0x20D6758, Size:0x6C, CRC32:0x3D9510A8 +class rAIConditionTree::VariableNode /*: rAIConditionTreeNode, cAIResource, MtObject*/ { + class 'mVariable' ; // Offset:0x24, Var, CRC32:0xE4C3B710, Flags:0x0 + bool 'mIsBitNo' ; // Offset:0x34, Var, CRC32:0x904B757, Flags:0x0 + bool 'mIsArray' ; // Offset:0x35, Var, CRC32:0x2BF9EC97, Flags:0x0 + bool 'mIsDynamicIndex' ; // Offset:0x36, Var, CRC32:0x10C1EC61, Flags:0x0 + u32 'mIndex' ; // Offset:0x38, Var, CRC32:0x7DC7FDC0, Flags:0x0 + class 'mIndexVariable' ; // Offset:0x3C, Var, CRC32:0x22B92CEE, Flags:0x0 + bool 'mUseEnumIndex' ; // Offset:0x4C, Var, CRC32:0x914C7D56, Flags:0x0 + class 'mIndexEnum' ; // Offset:0x50, Var, CRC32:0xEE969CFE, Flags:0x0 + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIConditionTree::VariableNode::VariableInfo vftable:0x20D6738, Size:0x10, CRC32:0x3E1F9629 +class rAIConditionTree::VariableNode::VariableInfo /*: MtObject*/ { + string 'mPropertyName' ; // Offset:0x4, Var, CRC32:0xABF682DB, Flags:0x0 + string 'mOwnerName' ; // Offset:0x8, Var, CRC32:0x402558CC, Flags:0x0 + bool 'mIsSingletonOwner' ; // Offset:0xC, Var, CRC32:0xAB5963CE, Flags:0x0 +}; + +// rAIConditionTreeNode vftable:0x20D6600, Size:0x24, CRC32:0x388EC194 +class rAIConditionTreeNode /*: cAIResource, MtObject*/ { + classref 'mpChildList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1847DE0, Setter:0x18488F0, GetCount:0x1844690, Reallocate:0x1848910 CRC32:0xD5740BD8, Flags:0xA00000 +}; + +// rAIDynamicLayout vftable:0x20DB100, Size:0x70, CRC32:0x7BBF5CB0 +class rAIDynamicLayout /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mNumberOfPath' ; // Offset:0x6C, Var, CRC32:0x385D1144, Flags:0x0 + class 'mpObjPath'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x19849E0, Setter:0x1984DB0, GetCount:0x19849D0, Reallocate:0x1984CD0 CRC32:0xB6552332, Flags:0xA00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIDynamicLayout::ObjPath vftable:0x20DB0EC, Size:0x60, CRC32:0x7CF8DEA6 +class rAIDynamicLayout::ObjPath /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + obb 'mOBB' ; // Offset:0x10, Var, CRC32:0x36ACC8FB, Flags:0x0 +}; + +// rAIFSM vftable:0x20C6108, Size:0x78, CRC32:0x66B45610 +class rAIFSM /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + string 'mOwnerObjectName' ; // Offset:0x68, Var, CRC32:0x8D2E334, Flags:0x0 + classref 'mpRootCluster' ; // Offset:0x6C, Var, CRC32:0x81F4E7D8, Flags:0x0 + classref 'mpConditionTree' ; // Offset:0x70, Var, CRC32:0xD3409464, Flags:0x0 + u32 'mFSMAttribute' ; // Offset:0x74, Var, CRC32:0x72905F8E, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIFSMList vftable:0x20C6170, Size:0x70, CRC32:0x59EE2276 +class rAIFSMList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpInfoList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15AA6C0, Setter:0x15AAAA0, GetCount:0x15AA6E0, Reallocate:0x15AAAC0 CRC32:0x25E5B103, Flags:0x4A00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIFSMList::Info vftable:0x20C6150, Size:0x10, CRC32:0x560D6F95 +class rAIFSMList::Info /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u32 'mAttribute' ; // Offset:0x8, Var, CRC32:0xA6EE61BF, Flags:0x0 + classref 'mpFSM' ; // Offset:0xC, Var, CRC32:0xDEACD94A, Flags:0x0 +}; + +// rAIPathBase vftable:0x20D4E50, Size:0x78, CRC32:0x31AB356C +class rAIPathBase /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u16 'mNumberOfArea' ; // Offset:0x6C, Var, CRC32:0xE49DA723, Flags:0x0 + classref 'mpHierarchyArea'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1823CD0, Setter:0x1824CB0, GetCount:0x1510200, Reallocate:0x1824D30 CRC32:0xA48D1483, Flags:0xA00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPathBase::HierarchyArea vftable:0x20D4E3C, Size:0x30, CRC32:0x5958432D +class rAIPathBase::HierarchyArea /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + u8 'mNumberOfGeometry' ; // Offset:0x8, Var, CRC32:0x6695E9F2, Flags:0x0 + u16 'mID' ; // Offset:0x10, Var, CRC32:0x10BB0F5B, Flags:0x0 + u16 'mFirstIndex' ; // Offset:0x12, Var, CRC32:0x488A79A0, Flags:0x0 + u16 'mLastIndex' ; // Offset:0x14, Var, CRC32:0xD6287206, Flags:0x0 + u32 'mAttribute' ; // Offset:0x18, Var, CRC32:0xA6EE61BF, Flags:0x0 + s16 'mParentID' ; // Offset:0x1C, Var, CRC32:0x30E5CBB, Flags:0x0 + u8 'mNumberOfChild' ; // Offset:0x24, Var, CRC32:0x118C2A26, Flags:0x0 + u8 'mNumberOfLink' ; // Offset:0x2C, Var, CRC32:0x5A503BA, Flags:0x0 + u8 'mpLink'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1823D80, Setter:0x1824D10, GetCount:0x1510260, Reallocate:0x1824E90 CRC32:0xB45F4BC4, Flags:0xA00000 + u8 'mpChild'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1823CF0, Setter:0x1824CD0, GetCount:0x1510240, Reallocate:0x1824D90 CRC32:0xA6808C55, Flags:0xA00000 + classref 'mpGeometryList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1823D60, Setter:0x1824CF0, GetCount:0x1823DA0, Reallocate:0x1824DF0 CRC32:0xB095A46C, Flags:0xA00000 +}; + +// rAIPathBaseXml vftable:0x20D4E98, Size:0x78, CRC32:0x5400CD32 +class rAIPathBaseXml /*: rAIPathBase, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u16 'mNumberOfArea' ; // Offset:0x6C, Var, CRC32:0xE49DA723, Flags:0x0 + classref 'mpHierarchyArea'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1823CD0, Setter:0x1824CB0, GetCount:0x1510200, Reallocate:0x1824D30 CRC32:0xA48D1483, Flags:0xA00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnActNoSwitch vftable:0x1C49F88, Size:0x70, CRC32:0x7C253E96 +class rAIPawnActNoSwitch /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnAutoMotionTbl vftable:0x1C4A4C8, Size:0x80, CRC32:0x31A95C86 +class rAIPawnAutoMotionTbl /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnAutoWordTbl vftable:0x1C4A590, Size:0x70, CRC32:0x17CC6507 +class rAIPawnAutoWordTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnCulPrioThinkCategory vftable:0x1C4AB80, Size:0x70, CRC32:0xE3C5CFA +class rAIPawnCulPrioThinkCategory /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnEmParam vftable:0x1C4ACA8, Size:0x80, CRC32:0x7EEC78AA +class rAIPawnEmParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnOrder vftable:0x1C4B240, Size:0x70, CRC32:0x3EDAE6E3 +class rAIPawnOrder /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnSkillParamTbl vftable:0x1C4B808, Size:0x70, CRC32:0x369BC4B5 +class rAIPawnSkillParamTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIPawnSpecialityInfo vftable:0x1C4B958, Size:0xE0, CRC32:0x15CEFEC6 +class rAIPawnSpecialityInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAISensor vftable:0x1C4BA5C, Size:0x88, CRC32:0x79EF41FE +class rAISensor /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIWayPoint vftable:0x20DB010, Size:0xB8, CRC32:0x5F36B659 +class rAIWayPoint /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mCoreHeader.magic' ; // Offset:0x68, Var, CRC32:0x67AE71B7, Flags:0x0 + u32 'mCoreHeader.version' ; // Offset:0x6C, Var, CRC32:0xA09285B1, Flags:0x0 + u32 'mCoreHeader.expansion' ; // Offset:0x70, Var, CRC32:0x2EB1B9B6, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIWayPoint::Group vftable:0x20DAFFC, Size:0x10, CRC32:0x6959FAEE +class rAIWayPoint::Group /*: MtObject*/ { + u32 'mNumberOfNode' ; // Offset:0x8, Var, CRC32:0xB676720E, Flags:0x0 + u32 'mpNodeIndex'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1982B70, Setter:0x19841C0, GetCount:0x1982BD0, Reallocate:0x19845D0 CRC32:0x46BA3331, Flags:0xA00000 +}; + +// rAIWayPoint::Link vftable:0x20DAFC4, Size:0x18, CRC32:0x1E391CC4 +class rAIWayPoint::Link /*: MtObject*/ { + u8 'mNumberOfAttribute' ; // Offset:0x5, Var, CRC32:0x3A3C2EC1, Flags:0x0 + u16 'mID' ; // Offset:0x6, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mCost' ; // Offset:0x8, Var, CRC32:0xC12F5FC0, Flags:0x0 + f32 'mSize' ; // Offset:0xC, Var, CRC32:0x2EC9EF56, Flags:0x0 + f32 'mHeight' ; // Offset:0x10, Var, CRC32:0xCBD14C3E, Flags:0x0 + u32 'mpAttribute'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x150DD60, Setter:0x1984140, GetCount:0x1510210, Reallocate:0x19842E0 CRC32:0x67F36942, Flags:0xA00000 +}; + +// rAIWayPoint::Node vftable:0x20DAFE0, Size:0x40, CRC32:0x2DEA6D70 +class rAIWayPoint::Node /*: MtObject*/ { + u16 'mID' ; // Offset:0x6, Var, CRC32:0x10BB0F5B, Flags:0x10000 + u16 'mNumberOfAttribute' ; // Offset:0x8, Var, CRC32:0x3A3C2EC1, Flags:0x10000 + u16 'mNumberOfLink' ; // Offset:0xA, Var, CRC32:0x5A503BA, Flags:0x10000 + u8 'mType' ; // Offset:0xC, Var, CRC32:0x55D79C15, Flags:0x0 + u8 'mNumberOfExpData' ; // Offset:0xD, Var, CRC32:0x738312A, Flags:0x10000 + vector3 'mPos' ; // Offset:0x20, Var, CRC32:0x50227663, Flags:0x10000 + classref 'mpGeometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1982B60, Setter:0x19841A0, CRC32:0xC1C96808, Flags:0x800000 + u32 'mpExpData'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x150DE20, Setter:0x1984180, GetCount:0x1510250, Reallocate:0x19843C0 CRC32:0x3C9FAACE, Flags:0xA00000 + classref 'mpLinkPtr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x150E020, Setter:0x19841E0, GetCount:0x1510270, Reallocate:0x1984430 CRC32:0xE71B66D1, Flags:0xA00000 + class 'mpLink'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1982B90, Setter:0x1984260, GetCount:0x1982BC0, Reallocate:0x1984500 CRC32:0xB45F4BC4, Flags:0xA20000 + u32 'mpAttribute'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x150DD80, Setter:0x1984160, GetCount:0x1510220, Reallocate:0x1984350 CRC32:0x67F36942, Flags:0xA00000 +}; + +// rAIWayPointGraph vftable:0x20BB0C4, Size:0x80, CRC32:0x25FA21CB +class rAIWayPointGraph /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + string 'mName' ; // Offset:0x74, Var, CRC32:0x872AB53A, Flags:0x0 + classref 'mpRootNode' ; // Offset:0x78, Var, CRC32:0x53CB70CC, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAIWayPointGraph::Link vftable:0x1AE2958, Size:0x1C, CRC32:0x2979F734 +class rAIWayPointGraph::Link /*: MtObject*/ { + u16 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 + u16 'mSubIndex' ; // Offset:0x6, Var, CRC32:0x138F9742, Flags:0x0 + u32 'mAttribute' ; // Offset:0x8, Var, CRC32:0xA6EE61BF, Flags:0x0 + u8 'mNumberOfAttribute' ; // Offset:0x10, Var, CRC32:0x3A3C2EC1, Flags:0x0 + f32 'mSize' ; // Offset:0x14, Var, CRC32:0x2EC9EF56, Flags:0x0 + f32 'mHeight' ; // Offset:0x18, Var, CRC32:0xCBD14C3E, Flags:0x0 + u32 'mpAttribute'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145AD60, Setter:0x145C150, GetCount:0x145AEB0, Reallocate:0x145C2D0 CRC32:0x67F36942, Flags:0xA00000 +}; + +// rAIWayPointGraph::Node vftable:0x20BB08C, Size:0x50, CRC32:0x1AAA8680 +class rAIWayPointGraph::Node /*: MtObject*/ { + u32 'mID' ; // Offset:0x4, Var, CRC32:0x10BB0F5B, Flags:0x0 + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + f32 'mCost' ; // Offset:0x20, Var, CRC32:0xC12F5FC0, Flags:0x0 + u32 'mNumberOfAttribute' ; // Offset:0x24, Var, CRC32:0x3A3C2EC1, Flags:0x0 + u32 'mNumberOfLink' ; // Offset:0x28, Var, CRC32:0x5A503BA, Flags:0x0 + u8 'mType' ; // Offset:0x34, Var, CRC32:0x55D79C15, Flags:0x0 + classref 'mpGeometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x145ADE0, Setter:0x145C190, CRC32:0xC1C96808, Flags:0x800000 + classref 'mpLinkPtr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145ADF0, Setter:0x145C1B0, GetCount:0x145AED0, Reallocate:0x145C3A0 CRC32:0xE71B66D1, Flags:0xA00000 + class 'mpLink'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145AE20, Setter:0x145C210, GetCount:0x145AEE0, Reallocate:0x145C470 CRC32:0xB45F4BC4, Flags:0xA20000 + u32 'mpAttribute'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145AD80, Setter:0x145C170, GetCount:0x145AEC0, Reallocate:0x145C340 CRC32:0x67F36942, Flags:0xA00000 +}; + +// rAIWayPointGraph::NodeGraph vftable:0x20BB0B0, Size:0x3C, CRC32:0x13B0A6DD +class rAIWayPointGraph::NodeGraph /*: MtObject*/ { + u32 'mNumberOfNode' ; // Offset:0x4, Var, CRC32:0xB676720E, Flags:0x0 + u32 'mNumberOfLowNode' ; // Offset:0x30, Var, CRC32:0x16DF81EC, Flags:0x0 + classref 'LowNode'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145AE50, Setter:0x145C270, GetCount:0x145AEF0, Reallocate:0x145C540 CRC32:0x576126BB, Flags:0xA00000 + classref 'NodePtr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145AE70, Setter:0x145C290, GetCount:0x145AF00, Reallocate:0x145C5D0 CRC32:0x76ABC7C4, Flags:0xA00000 + class 'Node'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x145AE90, Setter:0x145C2B0, GetCount:0x145AF10, Reallocate:0x145C710 CRC32:0xDAB2B884, Flags:0xA20000 +}; + +// rAbilityList vftable:0x1C485EC, Size:0x80, CRC32:0x46EAFAF7 +class rAbilityList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mDataList' ; // Offset:0x68, Var, CRC32:0xC5939FF4, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAchievement vftable:0x1C48750, Size:0x70, CRC32:0x37336731 +class rAchievement /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAchievementHeader vftable:0x1C48838, Size:0x70, CRC32:0x7F92D75B +class rAchievementHeader /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAcquirement::cAbilityAddData vftable:0x1C48C04, Size:0x1C, CRC32:0x472BC403 +class rAcquirement::cAbilityAddData /*: cUIResource, MtObject*/ { +}; + +// rAcquirement::cAbilityData vftable:0x1C48B0C, Size:0x14, CRC32:0x7075896D +class rAcquirement::cAbilityData /*: cUIResource, MtObject*/ { +}; + +// rAcquirement::cAbilityLevelData vftable:0x1C48AF0, Size:0xC, CRC32:0x4F2D7FD0 +class rAcquirement::cAbilityLevelData /*: cUIResource, MtObject*/ { +}; + +// rAcquirement::cCustomSkillData vftable:0x1C48924, Size:0x24, CRC32:0x6A81E5A +class rAcquirement::cCustomSkillData /*: cUIResource, MtObject*/ { +}; + +// rAcquirement::cNormalSkillData vftable:0x1C48A08, Size:0x14, CRC32:0x3FB0C471 +class rAcquirement::cNormalSkillData /*: cUIResource, MtObject*/ { +}; + +// rAcquirement::cSkillLevelData vftable:0x1C488F4, Size:0xC, CRC32:0x95EB878 +class rAcquirement::cSkillLevelData /*: cUIResource, MtObject*/ { +}; + +// rAcquirement::rAbilityAddData vftable:0x1C48C80, Size:0x70, CRC32:0x3AB280A4 +class rAcquirement::rAbilityAddData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAcquirement::rAbilityData vftable:0x1C48B88, Size:0x70, CRC32:0x67C828FE +class rAcquirement::rAbilityData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAcquirement::rCustomSkillData vftable:0x1C489A0, Size:0x70, CRC32:0x4EE7B155 +class rAcquirement::rCustomSkillData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAcquirement::rNormalSkillData vftable:0x1C48A88, Size:0x70, CRC32:0x77FF6B7E +class rAcquirement::rNormalSkillData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rActionParamList vftable:0x1C49350, Size:0x90, CRC32:0x79DAF969 +class rActionParamList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rActivateDragonSkill vftable:0x1C49450, Size:0x70, CRC32:0x7D0A5AAF +class rActivateDragonSkill /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rActorLight vftable:0x1C95F50, Size:0xA0, CRC32:0x5957FF9C +class rActorLight /*: rTable, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAdjLimitParam vftable:0x1C4F0C8, Size:0x70, CRC32:0x4E5DA7FF +class rAdjLimitParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAdjustParam vftable:0x1C499E0, Size:0x70, CRC32:0x4046F1E1 +class rAdjustParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAnimalData vftable:0x1C4BB48, Size:0x70, CRC32:0x41C5C0CE +class rAnimalData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rArchive vftable:0x20C7DB0, Size:0x80, CRC32:0x73850D05 +class rArchive /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + f32 'mElapsedTime' ; // Offset:0x78, Var, CRC32:0xBEB26CE7, Flags:0x30000 + classref 'Resources'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x67C690, Setter:0x15CF9D0, GetCount:0x67C6A0, Reallocate:0x15CF9E0 CRC32:0x926896F2, Flags:0xA30000 + u32 'TotalSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CEE00, Setter:0x15CF9F0, CRC32:0xCE78AFFF, Flags:0x830000 + u32 'ResourceNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67C6A0, Setter:0x15CF9E0, CRC32:0x721EC1B3, Flags:0x830000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rArchiveImport vftable:0x1C4BBF0, Size:0x80, CRC32:0x6E78B40A +class rArchiveImport /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mArchiveImport' ; // Offset:0x68, Var, CRC32:0xDE5E3C90, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rArchiveImport::cArchiveImport vftable:0x1C4BBC8, Size:0x1C, CRC32:0x64241C8F +class rArchiveImport::cArchiveImport /*: MtObject*/ { + string 'mALTFileName' ; // Offset:0x4, Var, CRC32:0x8E449E69, Flags:0x0 + bool 'mbFilter' ; // Offset:0x8, Var, CRC32:0x4B033B8, Flags:0x0 + u32 'mALTVersion' ; // Offset:0xC, Var, CRC32:0x7A47C1BC, Flags:0x0 + bool 'm02_00' ; // Offset:0x10, Var, CRC32:0x9F2BA5A6, Flags:0x0 + bool 'm02_01' ; // Offset:0x11, Var, CRC32:0xE82C9530, Flags:0x0 + bool 'm02_02' ; // Offset:0x12, Var, CRC32:0x7125C48A, Flags:0x0 + bool 'm02_03' ; // Offset:0x13, Var, CRC32:0x622F41C, Flags:0x0 + bool 'mALA02_00' ; // Offset:0x14, Var, CRC32:0x733E6E6B, Flags:0x0 + bool 'mALA02_01' ; // Offset:0x15, Var, CRC32:0x4395EFD, Flags:0x0 + bool 'mALA02_02' ; // Offset:0x16, Var, CRC32:0x9D300F47, Flags:0x0 + bool 'mALA02_03' ; // Offset:0x17, Var, CRC32:0xEA373FD1, Flags:0x0 + bool 'mALA' ; // Offset:0x18, Var, CRC32:0x3BB899C5, Flags:0x0 +}; + +// rArchiveListArray vftable:0x1C4BD48, Size:0x70, CRC32:0x4640630 +class rArchiveListArray /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAreaHitShape vftable:0x1C4BDC0, Size:0x80, CRC32:0x754B82B4 +class rAreaHitShape /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAreaInfo vftable:0x1C4BE34, Size:0x80, CRC32:0x6FF78212 +class rAreaInfo /*: cResource, MtObject*/ { + class 'mAreaInfo' ; // Offset:0x68, Var, CRC32:0x9C8E0FB2, Flags:0x0 +}; + +// rAreaInfo::cAreaInfo vftable:0x1C4BE7C, Size:0x10, CRC32:0x44A303B0 +class rAreaInfo::cAreaInfo /*: MtObject*/ { + u32 'mAreaId' ; // Offset:0x4, Var, CRC32:0xE16D90E9, Flags:0x0 + s32 'mPosX' ; // Offset:0x8, Var, CRC32:0xB15BCB52, Flags:0x0 + s32 'mPosY' ; // Offset:0xC, Var, CRC32:0xC65CFBC4, Flags:0x0 +}; + +// rAreaInfoJointArea vftable:0x1C4BEF8, Size:0x80, CRC32:0x61F41287 +class rAreaInfoJointArea /*: cResource, MtObject*/ { + class 'mAreaInfoJointArea' ; // Offset:0x68, Var, CRC32:0x3928EAF7, Flags:0x0 +}; + +// rAreaInfoJointArea::cAreaInfoJointArea vftable:0x1C4BF40, Size:0xC, CRC32:0x123AEC98 +class rAreaInfoJointArea::cAreaInfoJointArea /*: MtObject*/ { + u32 'mMAJAId' ; // Offset:0x4, Var, CRC32:0xB0326B4C, Flags:0x0 + u32 'mAreaId' ; // Offset:0x8, Var, CRC32:0xE16D90E9, Flags:0x0 +}; + +// rAreaInfoStage vftable:0x1C4BFCC, Size:0x80, CRC32:0x71827B54 +class rAreaInfoStage /*: cResource, MtObject*/ { + class 'mAreaInfoStage' ; // Offset:0x68, Var, CRC32:0xC1A4F3CE, Flags:0x0 +}; + +// rAreaInfoStage::cAreaInfoStage vftable:0x1C4C014, Size:0xC, CRC32:0x6BAD5096 +class rAreaInfoStage::cAreaInfoStage /*: MtObject*/ { + u32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + u32 'mAreaId' ; // Offset:0x8, Var, CRC32:0xE16D90E9, Flags:0x0 +}; + +// rAreaMasterRankData vftable:0x1C4C1D8, Size:0x70, CRC32:0x6FCE0D46 +class rAreaMasterRankData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAreaMasterSpotData vftable:0x1C4C0F0, Size:0x70, CRC32:0x4B214954 +class rAreaMasterSpotData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAreaMasterSpotDetailData vftable:0x1C4C320, Size:0x70, CRC32:0x24EDCC30 +class rAreaMasterSpotDetailData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rArmedEnemyInfo vftable:0x1C4C980, Size:0x140, CRC32:0x4D27F337 +class rArmedEnemyInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAtDfRateRaid vftable:0x1C4CA80, Size:0x70, CRC32:0x5A64E239 +class rAtDfRateRaid /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rAttackParam vftable:0x1C4D040, Size:0x78, CRC32:0x6E45FABB +class rAttackParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBakeJoint vftable:0x1C4E3D8, Size:0x70, CRC32:0x49726B60 +class rBakeJoint /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBitTable vftable:0x1C4E4D0, Size:0x70, CRC32:0x534CD42C +class rBitTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBlazeEnemyInfo vftable:0x1C4EA78, Size:0x88, CRC32:0x28616A34 +class rBlazeEnemyInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBlowSaveEmLvParam vftable:0x1C4F480, Size:0x70, CRC32:0x5E9971C1 +class rBlowSaveEmLvParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBowActParamList vftable:0x1C4EAF8, Size:0x80, CRC32:0x5B334013 +class rBowActParamList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mParamList' ; // Offset:0x68, Var, CRC32:0x4A3CDF21, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBrowserFont vftable:0x1C4EB60, Size:0x70, CRC32:0x42C59A8C +class rBrowserFont /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rBrowserUITableData vftable:0x1AE7F9C, Size:0x70, CRC32:0x7F80F71 +class rBrowserUITableData /*: cResource, MtObject*/ { +}; + +// rCalcDamageAtdmAdj vftable:0x1C4ED28, Size:0x70, CRC32:0x7BEA8828 +class rCalcDamageAtdmAdj /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCalcDamageAtdmAdjRate vftable:0x1C4EE10, Size:0x70, CRC32:0x5AC4B200 +class rCalcDamageAtdmAdjRate /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCalcDamageLvAdj vftable:0x1C4EC40, Size:0x70, CRC32:0x3B5B24BB +class rCalcDamageLvAdj /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCameraList vftable:0x20CAD40, Size:0x70, CRC32:0x39C52040 +class rCameraList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCameraParamList vftable:0x1C50078, Size:0x88, CRC32:0x12C3BFA7 +class rCameraParamList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mParamList' ; // Offset:0x68, Var, CRC32:0x4A3CDF21, Flags:0x0 + string 'mCameraListPath' ; // Offset:0x7C, Var, CRC32:0x3DA19101, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCameraQuakeList vftable:0x1C505B8, Size:0x80, CRC32:0x3A947AC1 +class rCameraQuakeList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mQuakeList' ; // Offset:0x68, Var, CRC32:0x626B1A47, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCatchInfoParam vftable:0x1C506B0, Size:0x70, CRC32:0x418C2FF7 +class rCatchInfoParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCaughtDamageRateRefTbl vftable:0x1C50888, Size:0x70, CRC32:0x2EC2E88A +class rCaughtDamageRateRefTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCaughtDamageRateTbl vftable:0x1C509A0, Size:0x70, CRC32:0x7DAA553D +class rCaughtDamageRateTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCaughtInfoParam vftable:0x1C50AB0, Size:0x70, CRC32:0x6AFF2211 +class rCaughtInfoParam /*: cResource, MtObject*/ { + class 'mpData'[0] ; // Offset:0x7FFFFFFFFFFFFFFF, Array, CRC32:0x2F002156, Flags:0x200000 +}; + +// rCharParamEnemy vftable:0x1C528C0, Size:0x70, CRC32:0x3C9DB4E +class rCharParamEnemy /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + bool 'mFlgEnemyFly' ; // Offset:0x68, Var, CRC32:0xFE2DAA3A, Flags:0x10000 + classref 'mpCharParamEnemy' ; // Offset:0x6C, Var, CRC32:0x202CEDB3, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEdit vftable:0x1C50FFC, Size:0x70, CRC32:0x3E894FE7 +class rCharacterEdit /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpEditParam' ; // Offset:0x68, Var, CRC32:0x14511ACC, Flags:0x40000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditCameraParam vftable:0x1C515F8, Size:0x70, CRC32:0x37DBF969 +class rCharacterEditCameraParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditColorDef vftable:0x1C51BD8, Size:0x70, CRC32:0x19581AB6 +class rCharacterEditColorDef /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditModelPalette vftable:0x1C51CF0, Size:0x70, CRC32:0x52637EE3 +class rCharacterEditModelPalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditMuscle vftable:0x1C51E00, Size:0x70, CRC32:0x4B0C7373 +class rCharacterEditMuscle /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditPersonalityPalette vftable:0x1C51F20, Size:0x70, CRC32:0x60EED619 +class rCharacterEditPersonalityPalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditPresetPalette vftable:0x1C52048, Size:0x70, CRC32:0x5B5257E6 +class rCharacterEditPresetPalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditTalkLvPalette vftable:0x1C52158, Size:0x70, CRC32:0x432ECE60 +class rCharacterEditTalkLvPalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditTexturePalette vftable:0x1C52270, Size:0x70, CRC32:0x2C13F1D +class rCharacterEditTexturePalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCharacterEditVoicePalette vftable:0x1C52380, Size:0x70, CRC32:0x3642DE00 +class rCharacterEditVoicePalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rChildRegionStatusParam vftable:0x1C74360, Size:0x70, CRC32:0x4083FA81 +class rChildRegionStatusParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rChildRegionStatusParamList vftable:0x1C74448, Size:0x70, CRC32:0x4E7A257A +class rChildRegionStatusParamList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCnsIK vftable:0x20CF1E8, Size:0x330, CRC32:0x5A7FEA62 +class rCnsIK /*: rConstraint, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mID' ; // Offset:0x68, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mPri' ; // Offset:0x6C, Var, CRC32:0x522CE305, Flags:0x0 + class 'mJoint'[16] ; // Offset:0x70, Array, CRC32:0x6041E6C6, Flags:0x200000 + s32 'mJointNum' ; // Offset:0x230, Var, CRC32:0x8792FF62, Flags:0x0 + s32 'mDir' ; // Offset:0x234, Var, CRC32:0x6A50EADF, Flags:0x0 + s32 'mUp' ; // Offset:0x238, Var, CRC32:0xD778A6B3, Flags:0x0 + s32 'mFitDir' ; // Offset:0x23C, Var, CRC32:0x5C2B23C0, Flags:0x0 + s32 'mFitUp' ; // Offset:0x240, Var, CRC32:0xAFFB4F19, Flags:0x0 + bool 'mEffectorLimitEnable' ; // Offset:0x244, Var, CRC32:0xEB30D5B8, Flags:0x0 + f32 'mEffPitchMin' ; // Offset:0x248, Var, CRC32:0xFB8488B6, Flags:0x0 + f32 'mEffPitchMax' ; // Offset:0x24C, Var, CRC32:0xC789B7EF, Flags:0x0 + f32 'mEffRotMin' ; // Offset:0x250, Var, CRC32:0x8A85726B, Flags:0x0 + f32 'mEffRotMax' ; // Offset:0x254, Var, CRC32:0xB6884D32, Flags:0x0 + f32 'mEffDistMin' ; // Offset:0x258, Var, CRC32:0xEDB128D4, Flags:0x0 + f32 'mEffDistMax' ; // Offset:0x25C, Var, CRC32:0xD1BC178D, Flags:0x0 + bool 'mJointLimitEnable' ; // Offset:0x260, Var, CRC32:0xA423CD94, Flags:0x0 + bool 'mCollisionEnable' ; // Offset:0x261, Var, CRC32:0xCA3A5B52, Flags:0x0 + f32 'mHeelOffset' ; // Offset:0x264, Var, CRC32:0xAFD8F098, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x268, Var, CRC32:0x39FDF47, Flags:0x0 + bool 'mFit' ; // Offset:0x26C, Var, CRC32:0x80B79B84, Flags:0x0 + f32 'mCheckGroundLengthUpper' ; // Offset:0x270, Var, CRC32:0xC045320B, Flags:0x0 + f32 'mCheckGroundLengthLower' ; // Offset:0x274, Var, CRC32:0xA08096B4, Flags:0x0 + f32 'mGroundLevel' ; // Offset:0x278, Var, CRC32:0x8D97B2C0, Flags:0x0 + s32 'mCollisionMode' ; // Offset:0x27C, Var, CRC32:0xDBDA7CC7, Flags:0x0 + bool 'mGroundDistAdapt' ; // Offset:0x280, Var, CRC32:0xD70C88D3, Flags:0x0 + s32 'mEffLimitMode' ; // Offset:0x284, Var, CRC32:0x5D7AA243, Flags:0x0 + s32 'mJointLimitMode' ; // Offset:0x288, Var, CRC32:0x4C9C6E01, Flags:0x0 + s32 'mEffectorBehavior' ; // Offset:0x28C, Var, CRC32:0x4C1ADBD9, Flags:0x0 + s32 'mLimitCoord' ; // Offset:0x298, Var, CRC32:0xD6464192, Flags:0x0 + vector3 'mLimitCoordOffset' ; // Offset:0x2A0, Var, CRC32:0xED22E697, Flags:0x0 + bool 'mEffectorTargetModel' ; // Offset:0x2B0, Var, CRC32:0x4E83319A, Flags:0x0 + u32 'mEffectorTargetJointNo' ; // Offset:0x2B4, Var, CRC32:0x9184BD9D, Flags:0x0 + bool 'mEffectorTargetModelEnable' ; // Offset:0x2B8, Var, CRC32:0xE09A71AB, Flags:0x0 + bool 'mUpVectorTargetModel' ; // Offset:0x2B9, Var, CRC32:0x44EC418A, Flags:0x0 + u32 'mUpVectorTargetJointNo' ; // Offset:0x2BC, Var, CRC32:0x8B43D49F, Flags:0x0 + bool 'mUpVectorTargetModelEnable' ; // Offset:0x2C0, Var, CRC32:0x744CF17C, Flags:0x0 + u32 'mEffectorControl' ; // Offset:0x2C4, Var, CRC32:0x54FAA36C, Flags:0x0 + matrix44 'mOffsetMat' ; // Offset:0x2D0, Var, CRC32:0xAC5045B5, Flags:0x0 + float3 'mTransScale' ; // Offset:0x310, Var, CRC32:0xC0494D22, Flags:0x0 + float3 'mCenterPosOffset' ; // Offset:0x31C, Var, CRC32:0xB9ACDF1C, Flags:0x0 + s32 'mCenterRefJntNo' ; // Offset:0x328, Var, CRC32:0xE78EAF38, Flags:0x0 + bool 'mUseScale' ; // Offset:0x32C, Var, CRC32:0xC700D9C2, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCnsIK::JointInfo vftable:0x20CF1D0, Size:0x1C, CRC32:0x5E9A0BCA +class rCnsIK::JointInfo /*: MtObject*/ { + s32 'mJntNo' ; // Offset:0x4, Var, CRC32:0xD3E25CCE, Flags:0x0 + f32 'mRotMin' ; // Offset:0x8, Var, CRC32:0x50FCF12D, Flags:0x0 + f32 'mRotMax' ; // Offset:0xC, Var, CRC32:0x6CF1CE74, Flags:0x0 + f32 'mOffset' ; // Offset:0x10, Var, CRC32:0x679663E1, Flags:0x0 + f32 'mScaleOffset' ; // Offset:0x14, Var, CRC32:0x13ED7D34, Flags:0x0 + bool 'mReverse' ; // Offset:0x18, Var, CRC32:0x2995E209, Flags:0x0 +}; + +// rCnsJointOffset vftable:0x20D8C78, Size:0xC0, CRC32:0x4A06C178 +class rCnsJointOffset /*: rConstraint, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mID' ; // Offset:0x68, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mPri' ; // Offset:0x6C, Var, CRC32:0x522CE305, Flags:0x0 + u32 'mOrder' ; // Offset:0x70, Var, CRC32:0x89D0959, Flags:0x0 + vector3 'mRot' ; // Offset:0x80, Var, CRC32:0xCDC237AE, Flags:0x0 + vector3 'mScl' ; // Offset:0x90, Var, CRC32:0x73D98AC3, Flags:0x0 + vector3 'mTrans' ; // Offset:0xA0, Var, CRC32:0x8D95847C, Flags:0x0 + u32 'mJoint' ; // Offset:0xB0, Var, CRC32:0x6041E6C6, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCnsLookAt vftable:0x20D9AA0, Size:0x80, CRC32:0x6B02A7AF +class rCnsLookAt /*: rConstraint, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mID' ; // Offset:0x68, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mPri' ; // Offset:0x6C, Var, CRC32:0x522CE305, Flags:0x0 + u8 'mData.dir' ; // Offset:0x70, Var, CRC32:0x52A6CC1, Flags:0x0 + u8 'mData.up' ; // Offset:0x71, Var, CRC32:0x1D895965, Flags:0x0 + u8 'mData.jointNo' ; // Offset:0x72, Var, CRC32:0x3A9DE3AD, Flags:0x0 + u8 'mData.targetJointNo' ; // Offset:0x73, Var, CRC32:0x1E770EC0, Flags:0x0 + float3 'mData.targetPos' ; // Offset:0x74, Var, CRC32:0xD7BC0A62, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCnsMatrix vftable:0x20D9B48, Size:0xC0, CRC32:0x5F6A608B +class rCnsMatrix /*: rConstraint, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mID' ; // Offset:0x68, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mPri' ; // Offset:0x6C, Var, CRC32:0x522CE305, Flags:0x0 + u32 'mJoint' ; // Offset:0x70, Var, CRC32:0x6041E6C6, Flags:0x0 + matrix44 'mMat' ; // Offset:0x80, Var, CRC32:0x443BFE6D, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCnsTinyChain vftable:0x20C83B0, Size:0xB0, CRC32:0x535D969F +class rCnsTinyChain /*: rConstraint, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mID' ; // Offset:0x68, Var, CRC32:0x10BB0F5B, Flags:0x0 + u32 'mPri' ; // Offset:0x6C, Var, CRC32:0x522CE305, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCnsTinyIK vftable:0x20D9A48, Size:0x190, CRC32:0x526665B7 +class rCnsTinyIK /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mAttr' ; // Offset:0x70, Var, CRC32:0xDD77E828, Flags:0x0 + u32 'mJointNo'[4] ; // Offset:0x74, Array, CRC32:0x673E4986, Flags:0x200000 + u8 'mIKDir' ; // Offset:0x84, Var, CRC32:0x9E06423E, Flags:0x0 + u8 'mIKUp' ; // Offset:0x85, Var, CRC32:0x556516A5, Flags:0x0 + u8 'mFitDir' ; // Offset:0x86, Var, CRC32:0x5C2B23C0, Flags:0x0 + u8 'mFitUp' ; // Offset:0x87, Var, CRC32:0xAFFB4F19, Flags:0x0 + u8 'mBlendMode' ; // Offset:0x88, Var, CRC32:0xDE326D50, Flags:0x0 + u8 'mJntRotMode' ; // Offset:0x89, Var, CRC32:0x6D1DF38E, Flags:0x0 + u8 'mEffRotMode' ; // Offset:0x8A, Var, CRC32:0x19503C4D, Flags:0x0 + u8 'mFitMode' ; // Offset:0x8B, Var, CRC32:0xC3FDFAAB, Flags:0x0 + u8 'mFitBlendMode' ; // Offset:0x8C, Var, CRC32:0x546FE90B, Flags:0x0 + f32 'm3BonePushResist' ; // Offset:0x90, Var, CRC32:0x73E5ACA8, Flags:0x0 + f32 'm3BonePullResist' ; // Offset:0x94, Var, CRC32:0x2231AB3C, Flags:0x0 + u32 'mCollisionMode' ; // Offset:0x98, Var, CRC32:0xDBDA7CC7, Flags:0x0 + f32 'mGroundOffset' ; // Offset:0x9C, Var, CRC32:0x94C5DB4D, Flags:0x0 + f32 'mGroundBlendDist' ; // Offset:0xA0, Var, CRC32:0xC6987A05, Flags:0x0 + f32 'mCheckGroundLengthUpper' ; // Offset:0xA4, Var, CRC32:0xC045320B, Flags:0x0 + f32 'mCheckGroundLengthLower' ; // Offset:0xA8, Var, CRC32:0xA08096B4, Flags:0x0 + u32 'col_type' ; // Offset:0xB4, Var, CRC32:0xD1A8A4CC, Flags:0x8000000 + u32 'col_group' ; // Offset:0xB8, Var, CRC32:0x6FFFCB4C, Flags:0x8000000 + u32 'col_filter' ; // Offset:0xBC, Var, CRC32:0x39A0B49B, Flags:0x8000000 + s32 'mCashTargetJntNo' ; // Offset:0x180, Var, CRC32:0x52CABF09, Flags:0x0 + f32 'mCashRange' ; // Offset:0x184, Var, CRC32:0x6E71427F, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollGeom vftable:0x1C529C0, Size:0x70, CRC32:0x2702AFAF +class rCollGeom /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollIndex vftable:0x1C52B58, Size:0x70, CRC32:0x34AD1951 +class rCollIndex /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollNode vftable:0x1C53148, Size:0x78, CRC32:0x3AB2340A +class rCollNode /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollision vftable:0x20CAF48, Size:0xF0, CRC32:0x51FC779F +class rCollision /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollisionHeightField vftable:0x20C66F8, Size:0x90, CRC32:0x6158A4A8 +class rCollisionHeightField /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollisionObj vftable:0x20D3EF8, Size:0x80, CRC32:0x2350E584 +class rCollisionObj /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mMagic' ; // Offset:0x68, Var, CRC32:0xF4B273EF, Flags:0x0 + u32 'mVersion' ; // Offset:0x6C, Var, CRC32:0x3CFEA0DD, Flags:0x0 + u32 'mPartsNum' ; // Offset:0x74, Var, CRC32:0xE440EC1E, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCollisionObj::cPartsData vftable:0x20D3EE4, Size:0x50, CRC32:0x4835674D +class rCollisionObj::cPartsData /*: MtObject*/ { +}; + +// rConstModelParam vftable:0x1C53268, Size:0x70, CRC32:0x1AE9C847 +class rConstModelParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rConvexHull vftable:0x20D8CDC, Size:0xC0, CRC32:0x1EF5E639 +class rConvexHull /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftCapPass vftable:0x1C53368, Size:0x70, CRC32:0x72490158 +class rCraftCapPass /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftElementExp vftable:0x1C53490, Size:0x70, CRC32:0x2A8E3F37 +class rCraftElementExp /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftQuality vftable:0x1C53A30, Size:0x70, CRC32:0x5CB51B78 +class rCraftQuality /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftRecipe vftable:0x1C5587C, Size:0x70, CRC32:0x5810D1F1 +class rCraftRecipe /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftRecipe::cCraftRecipe vftable:0x1C55860, Size:0x84, CRC32:0x36A1CEE4 +class rCraftRecipe::cCraftRecipe /*: MtObject*/ { +}; + +// rCraftRecipe::cMaterialData vftable:0x1C55830, Size:0x10, CRC32:0x52E46180 +class rCraftRecipe::cMaterialData /*: MtObject*/ { +}; + +// rCraftSkillCost vftable:0x1C55988, Size:0x70, CRC32:0x7766ACE5 +class rCraftSkillCost /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftSkillSpd vftable:0x1C55AD0, Size:0x70, CRC32:0x565490C9 +class rCraftSkillSpd /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCraftUpGradeExp vftable:0x1C53B60, Size:0x70, CRC32:0x5495ECFB +class rCraftUpGradeExp /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCustimShlLimit vftable:0x1C6DA70, Size:0x70, CRC32:0x65B7B85B +class rCustimShlLimit /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCycleContentsSortieInfo vftable:0x1C53CC0, Size:0x70, CRC32:0x7A1069C8 +class rCycleContentsSortieInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rCycleQuestInfo vftable:0x1C53DA8, Size:0x80, CRC32:0x278F97C6 +class rCycleQuestInfo /*: cResource, MtObject*/ { + class 'mCycleQuestInfo' ; // Offset:0x68, Var, CRC32:0x3765CB14, Flags:0x0 +}; + +// rCycleQuestInfo::cCycleQuestInfo vftable:0x1C53D80, Size:0x38, CRC32:0x4934775D +class rCycleQuestInfo::cCycleQuestInfo /*: MtObject*/ { + u32 'mCycleNo' ; // Offset:0x4, Var, CRC32:0xDA74F4BE, Flags:0x0 + u32 'mCycleSubNo' ; // Offset:0x8, Var, CRC32:0xB708A798, Flags:0x0 + u32 'mContentNameIdx' ; // Offset:0xC, Var, CRC32:0x1C68054D, Flags:0x0 + u32 'mContentInfoIdx' ; // Offset:0x10, Var, CRC32:0x30F45863, Flags:0x0 + u32 'mGatherInfoIdx' ; // Offset:0x14, Var, CRC32:0xA47E23F7, Flags:0x0 + class 'mSituationInfo' ; // Offset:0x18, Var, CRC32:0xA2302DAC, Flags:0x0 + u32 'mGatherNpcId' ; // Offset:0x2C, Var, CRC32:0x6FADB3CB, Flags:0x0 + u32 'mGatherStageNo' ; // Offset:0x30, Var, CRC32:0x6FE6C31E, Flags:0x0 + u32 'mGatherStartPos' ; // Offset:0x34, Var, CRC32:0x65715D54, Flags:0x0 +}; + +// rCycleQuestInfo::cCycleQuestSituationInfo vftable:0x1C53D50, Size:0x14, CRC32:0x5569778 +class rCycleQuestInfo::cCycleQuestSituationInfo /*: MtObject*/ { + u32 'mSituationNo' ; // Offset:0x4, Var, CRC32:0xC2DCF43, Flags:0x0 + u32 'mSituationNameIdx' ; // Offset:0x8, Var, CRC32:0xDA097229, Flags:0x0 + u32 'mSituationStateIdx' ; // Offset:0xC, Var, CRC32:0xD8AA19A2, Flags:0x0 + u32 'mSituationDetailIdx' ; // Offset:0x10, Var, CRC32:0xFC6D957C, Flags:0x0 +}; + +// rDDOBenchmark vftable:0x1C54228, Size:0x78, CRC32:0x4392148E +class rDDOBenchmark /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + custom 'x`}[NXPW[' ; // Offset:0x68, Var, CRC32:0x7D756E3D, Flags:0x0 + range ']͈͈ꗗ'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xA654D0, Setter:0xA65800, GetCount:0xA65580, Reallocate:0xA65810 CRC32:0x77245E3F, Flags:0xA30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDDOModelMontage vftable:0x1C56018, Size:0x70, CRC32:0x2DE19F3E +class rDDOModelMontage /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDDOModelMontageEm vftable:0x1C56540, Size:0x70, CRC32:0x1F789EEC +class rDDOModelMontageEm /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDamageCounterInfo vftable:0x1C4F750, Size:0x70, CRC32:0x184C83F1 +class rDamageCounterInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDamageSaveEmLvParam vftable:0x1C4F390, Size:0x70, CRC32:0x7A201F35 +class rDamageSaveEmLvParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDamageSpecialAdj vftable:0x1C4F570, Size:0x70, CRC32:0x353BB82B +class rDamageSpecialAdj /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDarkSkyParam vftable:0x1C53F54, Size:0x180, CRC32:0x79BAEBBA +class rDarkSkyParam /*: cResource, MtObject*/ { + hermitecurve 'mSSD.mCCFD.mToneCurve' ; // Offset:0x10, Var, CRC32:0xD13ECDFC, Flags:0x0 + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + vector3 'mSSD.mHSPED.mNightColor' ; // Offset:0x50, Var, CRC32:0xB7428461, Flags:0x0 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + vector3 'mSSD.mHSPED.mNightRevColor' ; // Offset:0x60, Var, CRC32:0x83E58B2E, Flags:0x0 + vector3 'mSSD.mSSLD.mColor' ; // Offset:0x70, Var, CRC32:0xE21D2E15, Flags:0x0 + vector3 'mWTBD.mWP.mMieScattering' ; // Offset:0x80, Var, CRC32:0xF06C2EC6, Flags:0x0 + f32 'mWTBD.mWP.mMieDensity' ; // Offset:0x90, Var, CRC32:0x5E3B5452, Flags:0x0 + f32 'mWTBD.mWP.mCloudHeight' ; // Offset:0x94, Var, CRC32:0x6FDE3612, Flags:0x0 + f32 'mWTBD.mWP.mCloudiness' ; // Offset:0x98, Var, CRC32:0xE83095CA, Flags:0x0 + f32 'mWTBD.mWP.mCloudThickness' ; // Offset:0x9C, Var, CRC32:0x46B33126, Flags:0x0 + f32 'mWTBD.mWP.mCloudScattering' ; // Offset:0xA0, Var, CRC32:0xB6CB5AA5, Flags:0x0 + f32 'mWTBD.mWP.mCloudEccentricity' ; // Offset:0xA4, Var, CRC32:0xB209B2BA, Flags:0x0 + f32 'mWTBD.mWP.mSunIntensityRate' ; // Offset:0xA8, Var, CRC32:0x2611AA62, Flags:0x0 + f32 'mWTBD.mWP.mEnvMapBaseScale' ; // Offset:0xAC, Var, CRC32:0xD9DE439, Flags:0x0 + f32 'mWTBD.mWP.mFogDensity' ; // Offset:0xB0, Var, CRC32:0x97E4D152, Flags:0x0 + f32 '̋Px{' ; // Offset:0xB4, Var, CRC32:0x6C947892, Flags:0x0 + f32 'mWTBD.mWP.mWeatherStarIntensity' ; // Offset:0xB8, Var, CRC32:0x40062C5F, Flags:0x0 + f32 'mWTBD.mWP.mWaterLRate' ; // Offset:0xBC, Var, CRC32:0xABFA6F1D, Flags:0x0 + f32 'mWTBD.mWP.mLightMainIntensityScale' ; // Offset:0xC0, Var, CRC32:0x90271D04, Flags:0x0 + f32 'mWTBD.mWP.mLightMainSatuationScale' ; // Offset:0xC4, Var, CRC32:0x4344265E, Flags:0x0 + vector3 'mWTBD.mWP.mLightSubDayColor' ; // Offset:0xD0, Var, CRC32:0xCC731FE0, Flags:0x0 + vector3 'mWTBD.mWP.mLightHemiDayColor' ; // Offset:0xE0, Var, CRC32:0xE4EC17C9, Flags:0x0 + vector3 'mWTBD.mWP.mLightHemiDayRevColor' ; // Offset:0xF0, Var, CRC32:0x3F8CD093, Flags:0x0 + custom 'mpFogInfo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA650D0, Setter:0xA652A0, CRC32:0xA71E0BD6, Flags:0x800000 + custom 'mpCloudModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA65090, Setter:0xA65260, CRC32:0xF7A76281, Flags:0x800000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDeformWeightMap vftable:0x20C4660, Size:0x110, CRC32:0x69A5C538 +class rDeformWeightMap /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDmJobAdjParam vftable:0x1C4EEF8, Size:0x70, CRC32:0x18AAF296 +class rDmJobAdjParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDmJobPawnAdjParam vftable:0x1C4F1B0, Size:0x70, CRC32:0x6EA2E537 +class rDmJobPawnAdjParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDmLvPawnAdjParam vftable:0x1C4F2A0, Size:0x70, CRC32:0xE17EDEB +class rDmLvPawnAdjParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDmVecWeightParam vftable:0x1C56628, Size:0x70, CRC32:0x1668FAF1 +class rDmVecWeightParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDragonSkillColorParam vftable:0x1C54330, Size:0x70, CRC32:0x2C7463B8 +class rDragonSkillColorParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDragonSkillEnhanceParam vftable:0x1C54438, Size:0x70, CRC32:0x5DAD3F79 +class rDragonSkillEnhanceParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDragonSkillLevelParam vftable:0x1C54540, Size:0x70, CRC32:0x3886A3ED +class rDragonSkillLevelParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDragonSkillParam vftable:0x1C54640, Size:0x70, CRC32:0x3BB3A92A +class rDragonSkillParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rDungeonMarker vftable:0x1C546E8, Size:0x98, CRC32:0x25169B11 +class rDungeonMarker /*: cResource, MtObject*/ { + class 'mWarpInfoList' ; // Offset:0x68, Var, CRC32:0x8FD805C9, Flags:0x0 + class 'mPositionList' ; // Offset:0x7C, Var, CRC32:0x8797580E, Flags:0x0 + u16 'mWarpStageNo' ; // Offset:0x90, Var, CRC32:0x52B4B36F, Flags:0x0 +}; + +// rDungeonMarker::cPosition vftable:0x1C5477C, Size:0x20, CRC32:0x32FDDA1E +class rDungeonMarker::cPosition /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 +}; + +// rDungeonMarker::cWarpInfo vftable:0x1C54760, Size:0x20, CRC32:0x6F60332A +class rDungeonMarker::cWarpInfo /*: MtObject*/ { + class 'mPosIndex' ; // Offset:0x4, Var, CRC32:0x9624821F, Flags:0x0 + s16 'mGroupNo' ; // Offset:0x18, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u16 'mTargetStageNo' ; // Offset:0x1A, Var, CRC32:0xB9FA9143, Flags:0x0 + s16 'mTargetGroupNo' ; // Offset:0x1C, Var, CRC32:0xA3FF8A6D, Flags:0x0 +}; + +// rDungeonMarker::cWarpInfo::cIndex vftable:0x1C54738, Size:0x8, CRC32:0x734559D2 +class rDungeonMarker::cWarpInfo::cIndex /*: MtObject*/ { + u8 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 +}; + +// rDynamicSbc vftable:0x20DAF68, Size:0x198, CRC32:0x75967AD6 +class rDynamicSbc /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEditConvert vftable:0x1C566F4, Size:0x80, CRC32:0xBF8DC54 +class rEditConvert /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mJoint' ; // Offset:0x68, Var, CRC32:0x6041E6C6, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEditConvert::Joint vftable:0x1C566D8, Size:0x80, CRC32:0x2EC7F7A4 +class rEditConvert::Joint /*: MtObject*/ { + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x0 + vector3 'mScale' ; // Offset:0x50, Var, CRC32:0x11F2BF45, Flags:0x0 + vector3 'mRotate' ; // Offset:0x60, Var, CRC32:0x915FB3D, Flags:0x0 + vector3 'mTrans' ; // Offset:0x70, Var, CRC32:0x8D95847C, Flags:0x0 +}; + +// rEditStageParam vftable:0x1C56C68, Size:0x78, CRC32:0x20BA8E3C +class rEditStageParam /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEditStageParam::Info vftable:0x1C56C2C, Size:0x210, CRC32:0x3363E4A2 +class rEditStageParam::Info /*: MtObject*/ { + u32 'mReverb' ; // Offset:0x104, Var, CRC32:0x269BB1EE, Flags:0x0 + vector3 'mPlPos' ; // Offset:0x110, Var, CRC32:0xF461BCF6, Flags:0x0 + f32 'mPlRotY' ; // Offset:0x120, Var, CRC32:0xA3D58189, Flags:0x0 + class 'mWeatherData'[2] ; // Offset:0x1A4, Array, CRC32:0x7869F5ED, Flags:0x200000 + u32 'mFlag' ; // Offset:0x204, Var, CRC32:0x8FD20A6, Flags:0x0 + string 'mWeatherParamInfo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA6C670, Setter:0xA6CE30, CRC32:0x78BD3264, Flags:0x800000 + string 'mWeatherStageInfo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA6C680, Setter:0xA6CE60, CRC32:0xC5741F61, Flags:0x800000 + string 'mOmListSdl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA6C4F0, Setter:0xA6CE00, CRC32:0xAFB99E87, Flags:0x800000 + string 'mLightSdl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA6C460, Setter:0xA6CD80, CRC32:0xA74774AA, Flags:0x800000 + string 'mFilterSdl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA6C420, Setter:0xA6CD50, CRC32:0x3D6E3301, Flags:0x800000 + string 'mModelSdl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA6C4D0, Setter:0xA6CDD0, CRC32:0xE3948861, Flags:0x800000 +}; + +// rEditStageParam::Info::WeatherData vftable:0x1C56C10, Size:0x10, CRC32:0x7BAFDECB +class rEditStageParam::Info::WeatherData /*: MtObject*/ { + u32 'mWeatherID' ; // Offset:0x4, Var, CRC32:0xA9E364E9, Flags:0x0 + u32 'mHour' ; // Offset:0x8, Var, CRC32:0xA917DA72, Flags:0x0 + u32 'mMinite' ; // Offset:0xC, Var, CRC32:0x45625890, Flags:0x0 +}; + +// rEditStageParam::List vftable:0x1C56C48, Size:0xC, CRC32:0x3C222DED +class rEditStageParam::List /*: MtObject*/ { + s8 'mListTbl'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xA6C4A0, Setter:0xA6CDB0, GetCount:0xA6C4B0, Reallocate:0xA6CDC0 CRC32:0x5F36DB8D, Flags:0xA00000 +}; + +// rEffect2D vftable:0x20CAE20, Size:0xA0, CRC32:0x276DE8B7 +class rEffect2D /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mListNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1675290, Setter:0x16754B0, CRC32:0x3C03492B, Flags:0x810000 + u32 'mResourceSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16752B0, Setter:0x16754B0, CRC32:0xE070022D, Flags:0x810000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEffectAnim vftable:0x20D1C10, Size:0x78, CRC32:0x4E397417 +class rEffectAnim /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEffectList vftable:0x20CAD98, Size:0x98, CRC32:0x6D5AE854 +class rEffectList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mUnitMoveType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B50, Setter:0x1674B00, CRC32:0xD1F4F4C6, Flags:0x810000 + u32 'mUnitGeneratorType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B40, Setter:0x1674B00, CRC32:0x4395A76, Flags:0x810000 + bool 'mJointShare' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1674730, Setter:0x1674AE0, CRC32:0x6901CA8C, Flags:0x810000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5740, Setter:0x1674B00, CRC32:0x8792FF62, Flags:0x810000 + u32 'mListNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB90, Setter:0x1674B00, CRC32:0x3C03492B, Flags:0x810000 + f32 'mBaseFps' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1674610, Setter:0x1674AF0, CRC32:0xE1A1187F, Flags:0x810000 + u32 'mResourceSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1674660, Setter:0x1674B00, CRC32:0xE070022D, Flags:0x810000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEffectProvider vftable:0x1C573A0, Size:0x88, CRC32:0x12191BA1 +class rEffectProvider /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEffectProvider::EffectElement vftable:0x1C57328, Size:0x120, CRC32:0x10B02DA +class rEffectProvider::EffectElement /*: MtObject*/ { +}; + +// rEffectProvider::EffectEventParam vftable:0x1C572D4, Size:0x10, CRC32:0x4305256 +class rEffectProvider::EffectEventParam /*: MtObject*/ { +}; + +// rEffectProvider::EffectIndex vftable:0x1C57344, Size:0xC, CRC32:0x13C38BF +class rEffectProvider::EffectIndex /*: MtObject*/ { +}; + +// rEffectProvider::EffectMotSyncParam vftable:0x1C572F0, Size:0x24, CRC32:0x602EBA26 +class rEffectProvider::EffectMotSyncParam /*: MtObject*/ { +}; + +// rEffectProvider::EffectParam vftable:0x1C5730C, Size:0xE0, CRC32:0x25B52337 +class rEffectProvider::EffectParam /*: MtObject*/ { +}; + +// rEffectProvider::INFO_BASE vftable:0x1C572B0, Size:0x4, CRC32:0x4DBA50F2 +class rEffectProvider::INFO_BASE /*: MtObject*/ { +}; + +// rEffectProvider::INFO_EFFECT vftable:0x1C57360, Size:0x1C, CRC32:0x3251DD5F +class rEffectProvider::INFO_EFFECT /*: rEffectProvider::INFO_BASE, MtObject*/ { +}; + +// rEffectProvider::INFO_PROV vftable:0x1C5738C, Size:0x20, CRC32:0x4B03CE4C +class rEffectProvider::INFO_PROV /*: MtObject*/ { +}; + +// rEffectStrip vftable:0x20D1C68, Size:0x80, CRC32:0x2833703 +class rEffectStrip /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mParamBuffSize' ; // Offset:0x6C, Var, CRC32:0xF1D88C2D, Flags:0x30000 + u32 'mPartsNum' ; // Offset:0x70, Var, CRC32:0xE440EC1E, Flags:0x30000 + u32 'mJointNum' ; // Offset:0x74, Var, CRC32:0x8792FF62, Flags:0x30000 + u32 'mTotalVertexNum' ; // Offset:0x78, Var, CRC32:0x6AE4CFB3, Flags:0x30000 + u32 'mTotalIndexNum' ; // Offset:0x7C, Var, CRC32:0xD63708BB, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmBaseInfoSv vftable:0x1C55220, Size:0x70, CRC32:0x48C6B0F2 +class rEmBaseInfoSv /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmCategory vftable:0x1C57A28, Size:0x70, CRC32:0x7D91ABC8 +class rEmCategory /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmDamageDirInfo vftable:0x1C57FD0, Size:0x70, CRC32:0x1424C8EF +class rEmDamageDirInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmDmgTimerTbl vftable:0x1C58620, Size:0x70, CRC32:0x5A266DD0 +class rEmDmgTimerTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmEffectTable vftable:0x1C58B68, Size:0xA0, CRC32:0x24A96715 +class rEmEffectTable /*: rTable, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmLvUpParam vftable:0x1C59180, Size:0x70, CRC32:0x44121BD3 +class rEmLvUpParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmMsgTable vftable:0x1C59218, Size:0xA0, CRC32:0x6CAA7A01 +class rEmMsgTable /*: rTable, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmScaleTable vftable:0x1C5A068, Size:0x70, CRC32:0x57CAA445 +class rEmScaleTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmScrAdjust vftable:0x1C5A160, Size:0x70, CRC32:0x5C7C2DF7 +class rEmScrAdjust /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmSoundTable vftable:0x1C5A260, Size:0x70, CRC32:0x15CCAA0C +class rEmSoundTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmStatusAdj vftable:0x1C5A3A0, Size:0x70, CRC32:0x4FC5716 +class rEmStatusAdj /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmWarpParam vftable:0x1C5A498, Size:0x70, CRC32:0x16E3F85F +class rEmWarpParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmWeakSafe vftable:0x1C5A590, Size:0x70, CRC32:0x527C54A5 +class rEmWeakSafe /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmWorkRateTable vftable:0x1C5A690, Size:0x70, CRC32:0x599E3AEA +class rEmWorkRateTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmblemColorTable vftable:0x1C557B0, Size:0x70, CRC32:0x5092448 +class rEmblemColorTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmoteGroup vftable:0x1C592D0, Size:0x70, CRC32:0x447F4B2C +class rEmoteGroup /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEmoteGroup::InfoBinary vftable:0x1C592B4, Size:0xC, CRC32:0x531AE782 +class rEmoteGroup::InfoBinary /*: MtObject*/ { +}; + +// rEmoteGroup::InfoBinary::MotDataBinary vftable:0x1C59298, Size:0x8, CRC32:0x3CD16A62 +class rEmoteGroup::InfoBinary::MotDataBinary /*: MtObject*/ { +}; + +// rEmparam vftable:0x1C59AC0, Size:0x70, CRC32:0x34297BB5 +class rEmparam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEndContentsSortieInfo vftable:0x1C5A7A8, Size:0x70, CRC32:0x6FD872 +class rEndContentsSortieInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyBloodStain vftable:0x1C5AD58, Size:0x70, CRC32:0x5E708C5E +class rEnemyBloodStain /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyGroup vftable:0x1C5AE88, Size:0x70, CRC32:0x6A6070DC +class rEnemyGroup /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyLocalEst vftable:0x1C5B460, Size:0x70, CRC32:0x603BFC6D +class rEnemyLocalEst /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyLocalShelTable vftable:0x1C5BA68, Size:0x70, CRC32:0x670D0CDA +class rEnemyLocalShelTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyMaterialTable vftable:0x1C5C038, Size:0x70, CRC32:0x7E85B428 +class rEnemyMaterialTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyReactResEx vftable:0x1C5C630, Size:0x140, CRC32:0x303719B +class rEnemyReactResEx /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnemyStatusChange vftable:0x1C5C730, Size:0x70, CRC32:0x4AF114B6 +class rEnemyStatusChange /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnhancedParamList vftable:0x1C5CB38, Size:0x70, CRC32:0x5810EB18 +class rEnhancedParamList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEnumDef vftable:0x1B0ECD0, Size:0x70, CRC32:0x63D3BC7D +class rEnumDef /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEquipCaptureList vftable:0x1C5CBF8, Size:0x80, CRC32:0x6B18996A +class rEquipCaptureList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEquipCaptureList::cData vftable:0x1C5CBC0, Size:0xC0, CRC32:0x72FDA86A +class rEquipCaptureList::cData /*: MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x10000 + string 'mName' ; // Offset:0x8, Var, CRC32:0x872AB53A, Flags:0x10000 + u32 'mModelNo' ; // Offset:0xC, Var, CRC32:0x9F3DC670, Flags:0x10000 + u8 'mPartsNo' ; // Offset:0x10, Var, CRC32:0xB341EC9B, Flags:0x10000 + s8 'mColorNo' ; // Offset:0x11, Var, CRC32:0x867798F2, Flags:0x10000 + u32 'mEqpCtgr' ; // Offset:0x14, Var, CRC32:0xB0422BA6, Flags:0x10000 + vector3 'mCameraPos' ; // Offset:0x20, Var, CRC32:0x36376EF5, Flags:0x10000 + vector3 'mCameraTarget' ; // Offset:0x30, Var, CRC32:0x6EAB3E5B, Flags:0x10000 + vector3 'mCameraUp' ; // Offset:0x40, Var, CRC32:0xC45BFA69, Flags:0x10000 + f32 'mCameraFov' ; // Offset:0x50, Var, CRC32:0x5EF645B8, Flags:0x10000 + vector3 'mInfiniteLightDir' ; // Offset:0x60, Var, CRC32:0xB083B2B4, Flags:0x10000 + vector3 'mInfiniteLightColor' ; // Offset:0x70, Var, CRC32:0x785B6351, Flags:0x10000 + vector3 'mPointLightPos' ; // Offset:0x80, Var, CRC32:0x70F0208A, Flags:0x10000 + vector3 'mPointLightColor' ; // Offset:0x90, Var, CRC32:0x96564E9E, Flags:0x10000 + vector3 'mHemiSphereLightColor' ; // Offset:0xA0, Var, CRC32:0xCB45B6EB, Flags:0x10000 + bool 'mIsDrawBlackModel' ; // Offset:0xB0, Var, CRC32:0x617E62B4, Flags:0x10000 + u8 'mSex' ; // Offset:0xB1, Var, CRC32:0x3F59F938, Flags:0x10000 +}; + +// rEquipPartsInfo vftable:0x1C5D200, Size:0x70, CRC32:0x346DC495 +class rEquipPartsInfo /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEquipPreset vftable:0x1C5D788, Size:0x70, CRC32:0x7106D076 +class rEquipPreset /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEquipPresetPalette vftable:0x1C5DD08, Size:0x70, CRC32:0x39283CC0 +class rEquipPresetPalette /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rErosionInfoRes vftable:0x1C5DE08, Size:0x70, CRC32:0x67EFAD39 +class rErosionInfoRes /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rErosionRegion vftable:0x1C5DEF8, Size:0x70, CRC32:0x84A77D5 +class rErosionRegion /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rErosionRegionScaleChange vftable:0x1C5E220, Size:0x70, CRC32:0x4AA35586 +class rErosionRegionScaleChange /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rErosionShakeConvert vftable:0x1C4F660, Size:0x70, CRC32:0x2A4169E6 +class rErosionShakeConvert /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rErosionSmallInfoRes vftable:0x1C5DFE8, Size:0x70, CRC32:0x68B68E59 +class rErosionSmallInfoRes /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rErosionSuperInfoRes vftable:0x1C5E0D8, Size:0x70, CRC32:0x717DD443 +class rErosionSuperInfoRes /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEvaluationTable vftable:0x1C5E330, Size:0x70, CRC32:0x331F8048 +class rEvaluationTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEventParam vftable:0x1C5E4E0, Size:0x70, CRC32:0x3934A1BA +class rEventParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEventResTable vftable:0x1C5E680, Size:0x70, CRC32:0x3F83D4D5 +class rEventResTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEventViewerList vftable:0x1C5EBF0, Size:0x70, CRC32:0x578CCC09 +class rEventViewerList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rEventViewerList::InfoBinary vftable:0x1C5EBD4, Size:0x18, CRC32:0x63642258 +class rEventViewerList::InfoBinary /*: MtObject*/ { +}; + +// rEventViewerList::InfoBinary::EvtVwrLstBinary vftable:0x1C5EBB8, Size:0x50, CRC32:0x1FBCF58C +class rEventViewerList::InfoBinary::EvtVwrLstBinary /*: MtObject*/ { +}; + +// rEventViewerSetInfo vftable:0x1C5ECC0, Size:0x90, CRC32:0x7646EAE3 +class rEventViewerSetInfo /*: cResource, MtObject*/ { + class 'mFlagArray' ; // Offset:0x68, Var, CRC32:0x8C7F992D, Flags:0x0 + class 'mLayoutFlagArray' ; // Offset:0x7C, Var, CRC32:0x1EF01890, Flags:0x0 +}; + +// rEventViewerSetInfo::cFlagData vftable:0x1C5ED0C, Size:0xC, CRC32:0x6E811F94 +class rEventViewerSetInfo::cFlagData /*: MtObject*/ { + u32 'mQuestId' ; // Offset:0x4, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mFlagNo' ; // Offset:0x8, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// rEvidenceList vftable:0x1C5F288, Size:0x70, CRC32:0x61874364 +class rEvidenceList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFacialEditJointPreset vftable:0x1C5F380, Size:0x70, CRC32:0x6B6711A +class rFacialEditJointPreset /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFatAdjust vftable:0x1C5F4A0, Size:0x70, CRC32:0x3A4AC634 +class rFatAdjust /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFieldAreaAdjoinList vftable:0x1C5F520, Size:0x78, CRC32:0x4C801568 +class rFieldAreaAdjoinList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFieldAreaAdjoinList::cAdjoinInfo vftable:0x1C5F598, Size:0x20, CRC32:0x36060EB9 +class rFieldAreaAdjoinList::cAdjoinInfo /*: MtObject*/ { + class 'mPositions' ; // Offset:0x4, Var, CRC32:0x8A0B6B38, Flags:0x0 + s16 'mDestinationStageNo' ; // Offset:0x18, Var, CRC32:0x8ADD6B7, Flags:0x0 + s16 'mNextStageNo' ; // Offset:0x1A, Var, CRC32:0x9F806D3F, Flags:0x0 + u8 'mPriority' ; // Offset:0x1C, Var, CRC32:0x4A28ECBA, Flags:0x0 +}; + +// rFieldAreaAdjoinList::cAdjoinInfo::cVector3 vftable:0x1C5F570, Size:0x30, CRC32:0x6EF69326 +class rFieldAreaAdjoinList::cAdjoinInfo::cVector3 /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + u32 'mQuestId' ; // Offset:0x20, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mFlagId' ; // Offset:0x24, Var, CRC32:0xA8576257, Flags:0x0 +}; + +// rFieldAreaList vftable:0x1C5F658, Size:0x70, CRC32:0x4114AC4C +class rFieldAreaList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFieldAreaList::cFieldAreaInfo vftable:0x1C5F6D0, Size:0x3C, CRC32:0x2B8194 +class rFieldAreaList::cFieldAreaInfo /*: MtObject*/ { + class 'mStageNoList' ; // Offset:0x4, Var, CRC32:0x8F1F960C, Flags:0x0 + class 'mBelongStageNoList' ; // Offset:0x18, Var, CRC32:0x8E73D460, Flags:0x0 + u32 'mFieldAreaId' ; // Offset:0x2C, Var, CRC32:0xA60E2CC4, Flags:0x0 + u32 'mGmdIdx' ; // Offset:0x30, Var, CRC32:0x6F4D053A, Flags:0x0 + u32 'mVersionId' ; // Offset:0x34, Var, CRC32:0x89247549, Flags:0x0 + u16 'mLandId' ; // Offset:0x38, Var, CRC32:0xAB792B8F, Flags:0x0 + u16 'mAreaId' ; // Offset:0x3A, Var, CRC32:0xE16D90E9, Flags:0x0 +}; + +// rFieldAreaList::cFieldAreaInfo::cStageNo vftable:0x1C5F6A8, Size:0x8, CRC32:0x72086DBB +class rFieldAreaList::cFieldAreaInfo::cStageNo /*: MtObject*/ { + s32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 +}; + +// rFieldAreaMarkerInfo vftable:0x1C5F7A0, Size:0x80, CRC32:0x1AA9CD93 +class rFieldAreaMarkerInfo /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFieldAreaMarkerInfo::cMarkerInfo vftable:0x1C5F7E8, Size:0x30, CRC32:0x152FD72 +class rFieldAreaMarkerInfo::cMarkerInfo /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + s32 'mStageNo' ; // Offset:0x20, Var, CRC32:0xACF5AFCF, Flags:0x0 + u32 'mGroupNo' ; // Offset:0x24, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u32 'mUniqueId' ; // Offset:0x28, Var, CRC32:0xE045D83D, Flags:0x0 +}; + +// rFieldMapData vftable:0x1C5FD18, Size:0x70, CRC32:0x34FF7212 +class rFieldMapData /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFieldMapData::Data vftable:0x1C5FD00, Size:0x40, CRC32:0x529E5C2F +class rFieldMapData::Data /*: MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + s32 'mMessId' ; // Offset:0x8, Var, CRC32:0x2EBF645D, Flags:0x0 + u32 'mSpotMessId' ; // Offset:0xC, Var, CRC32:0x1A194464, Flags:0x20000 + u32 'mID' ; // Offset:0x10, Var, CRC32:0x10BB0F5B, Flags:0x0 + s32 'mStageNo' ; // Offset:0x14, Var, CRC32:0xACF5AFCF, Flags:0x0 + float2 'mPoint' ; // Offset:0x18, Var, CRC32:0x4A1169E5, Flags:0x0 + vector3 'mWorldPos' ; // Offset:0x20, Var, CRC32:0x7F7E64FD, Flags:0x0 + bool 'mDispWideMap' ; // Offset:0x30, Var, CRC32:0xE1A8157F, Flags:0x0 + u32 'mVersion' ; // Offset:0x34, Var, CRC32:0x3CFEA0DD, Flags:0x0 + u32 'mQuestId' ; // Offset:0x38, Var, CRC32:0x1FBA8D43, Flags:0x0 +}; + +// rFreeF32Tbl vftable:0x1C5FDC0, Size:0x70, CRC32:0x239A4D3F +class rFreeF32Tbl /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFullbodyIKHuman2 vftable:0x20D0A9C, Size:0x5F0, CRC32:0x6E931118 +class rFullbodyIKHuman2 /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mPri' ; // Offset:0x68, Var, CRC32:0x522CE305, Flags:0x0 + u32 'mIteration' ; // Offset:0x6C, Var, CRC32:0xB2455F59, Flags:0x0 + f32 'mUpperBodyRotRate' ; // Offset:0x70, Var, CRC32:0xD1AD1926, Flags:0x0 + f32 'mUpperBodyTransRate' ; // Offset:0x74, Var, CRC32:0x9BB4667F, Flags:0x0 + f32 'mUpperBodySyncRate' ; // Offset:0x78, Var, CRC32:0xB206B156, Flags:0x0 + f32 'mLowerBodyRotRate' ; // Offset:0x7C, Var, CRC32:0x9FD6DF74, Flags:0x0 + f32 'mLowerBodyTransRate' ; // Offset:0x80, Var, CRC32:0x613E7057, Flags:0x0 + f32 'mLowerBodySyncRate' ; // Offset:0x84, Var, CRC32:0x372DFA48, Flags:0x0 + f32 'mHeadLookAtRate' ; // Offset:0x88, Var, CRC32:0xB5305D2E, Flags:0x0 + f32 'mUpperBodyLookAtRate' ; // Offset:0x8C, Var, CRC32:0x7F247D75, Flags:0x0 + f32 'mLowerBodyLookAtRate' ; // Offset:0x90, Var, CRC32:0x4A6B5F99, Flags:0x0 + f32 'mWaistHeightLimit' ; // Offset:0x94, Var, CRC32:0xBAE35A03, Flags:0x0 + f32 'mRCollarRotBlend' ; // Offset:0x5B0, Var, CRC32:0xD0DD7CAC, Flags:0x0 + f32 'mLCollarRotBlend' ; // Offset:0x5B4, Var, CRC32:0x79CCFB96, Flags:0x0 + f32 'mRCollarUpBlend' ; // Offset:0x5B8, Var, CRC32:0xE8314B30, Flags:0x0 + f32 'mRCollarDownBlend' ; // Offset:0x5BC, Var, CRC32:0xFE70AA51, Flags:0x0 + f32 'mRCollarFrontBlend' ; // Offset:0x5C0, Var, CRC32:0x8709D638, Flags:0x0 + f32 'mRCollarBackBlend' ; // Offset:0x5C4, Var, CRC32:0x5BBCE887, Flags:0x0 + f32 'mLCollarUpBlend' ; // Offset:0x5C8, Var, CRC32:0x451822DC, Flags:0x0 + f32 'mLCollarDownBlend' ; // Offset:0x5CC, Var, CRC32:0x38D56264, Flags:0x0 + f32 'mLCollarFrontBlend' ; // Offset:0x5D0, Var, CRC32:0xD17CB7D3, Flags:0x0 + f32 'mLCollarBackBlend' ; // Offset:0x5D4, Var, CRC32:0x9D1920B2, Flags:0x0 + f32 'mSpineUpperRotRate' ; // Offset:0x5D8, Var, CRC32:0x61AB2601, Flags:0x0 + f32 'mSpine0RotRate' ; // Offset:0x5DC, Var, CRC32:0xEDC7E4EC, Flags:0x0 + f32 'mSpine1RotRate' ; // Offset:0x5E0, Var, CRC32:0x216DE472, Flags:0x0 + f32 'mSpine2RotRate' ; // Offset:0x5E4, Var, CRC32:0xAFE2E391, Flags:0x0 + f32 'mSpine3RotRate' ; // Offset:0x5E8, Var, CRC32:0x6348E30F, Flags:0x0 + f32 'mSpine4RotRate' ; // Offset:0x5EC, Var, CRC32:0x698DEA16, Flags:0x0 + class 'JointAssign'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1770A80, Setter:0x1770C20, GetCount:0xD20720, Reallocate:0x1770C50 CRC32:0x69B92CFF, Flags:0xA00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFullbodyIKHuman2::JointAssign vftable:0x20D0A88, Size:0x30, CRC32:0x489B4032 +class rFullbodyIKHuman2::JointAssign /*: MtObject*/ { + u32 'mFBIKJntNo' ; // Offset:0x4, Var, CRC32:0x63E57347, Flags:0x10000 + u32 'mTargetJntNo' ; // Offset:0x8, Var, CRC32:0xA066E5EC, Flags:0x0 + vector3 'mEffOffset' ; // Offset:0x10, Var, CRC32:0xBDEFE0A7, Flags:0x0 + bool 'mRotate' ; // Offset:0x20, Var, CRC32:0x915FB3D, Flags:0x0 +}; + +// rFunctionList vftable:0x1C5FEA8, Size:0x70, CRC32:0x7CE27F74 +class rFunctionList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFurnitureAccessories vftable:0x1C5FF88, Size:0x70, CRC32:0x5B8E2BC2 +class rFurnitureAccessories /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFurnitureAccessories::InfoBinary vftable:0x1C5FF6C, Size:0x10, CRC32:0x2E9DCB4B +class rFurnitureAccessories::InfoBinary /*: MtObject*/ { +}; + +// rFurnitureAccessories::InfoBinary::AcceDataBinary vftable:0x1C5FF50, Size:0x30, CRC32:0x33B91F3 +class rFurnitureAccessories::InfoBinary::AcceDataBinary /*: MtObject*/ { +}; + +// rFurnitureData vftable:0x1C60578, Size:0x70, CRC32:0x3093161C +class rFurnitureData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFurnitureGroup vftable:0x1C60698, Size:0x70, CRC32:0x7F65A700 +class rFurnitureGroup /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFurnitureItem vftable:0x1C60868, Size:0x70, CRC32:0x27BC061 +class rFurnitureItem /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rFurnitureLayout vftable:0x1C60780, Size:0x70, CRC32:0x32417B3 +class rFurnitureLayout /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUI vftable:0x20C7948, Size:0xE0, CRC32:0x22948394 +class rGUI /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mInstanceNullNeedNum' ; // Offset:0x90, Var, CRC32:0x9C7939E4, Flags:0x30000 + u32 'mInstanceScissorMaskNeedNum' ; // Offset:0x94, Var, CRC32:0xCAC5C301, Flags:0x30000 + u32 'mInstanceAnimationNeedNum' ; // Offset:0x98, Var, CRC32:0x47C63129, Flags:0x30000 + u32 'mInstanceAnimVariableNeedNum' ; // Offset:0x9C, Var, CRC32:0xE0B9873C, Flags:0x30000 + u32 'mInstanceAnimControlNeedNum' ; // Offset:0xA0, Var, CRC32:0x2756C375, Flags:0x30000 + u32 'mGUIObjTextNeedNum' ; // Offset:0xA4, Var, CRC32:0x6A2258A0, Flags:0x30000 + u32 'mGUIObjMessageNeedNum' ; // Offset:0xA8, Var, CRC32:0x7E96B27B, Flags:0x30000 + u32 'mGUIObjChildAnimationRootNeedNum' ; // Offset:0xAC, Var, CRC32:0x88FEA70E, Flags:0x30000 + u32 'mGUIObjNullNeedNum' ; // Offset:0xB0, Var, CRC32:0x5FA77CE4, Flags:0x30000 + u32 'mGUIObjTextureSetNeedNum' ; // Offset:0xB4, Var, CRC32:0xD8A07AE4, Flags:0x30000 + u32 'mGUIObjTextureNeedNum' ; // Offset:0xB8, Var, CRC32:0x26C9E676, Flags:0x30000 + u32 'mGUIObjPolygonNeedNum' ; // Offset:0xBC, Var, CRC32:0xE20E7C6A, Flags:0x30000 + u32 'mGUIObjScissorMaskNeedNum' ; // Offset:0xC0, Var, CRC32:0xC76DD80E, Flags:0x30000 + u32 'mGUIObjColorAdjustNeedNum' ; // Offset:0xC4, Var, CRC32:0x14D37194, Flags:0x30000 + u32 'mGUIObjRootNeedNum' ; // Offset:0xC8, Var, CRC32:0x5D142D92, Flags:0x30000 + u32 'mGUIVarIntNeedNum' ; // Offset:0xCC, Var, CRC32:0x62B542E, Flags:0x30000 + u32 'mGUIVarFloatNeedNum' ; // Offset:0xD0, Var, CRC32:0x7CFC4241, Flags:0x30000 + u32 'mCreateAnimationBufferSize' ; // Offset:0xD4, Var, CRC32:0x6831AA40, Flags:0x30000 + u32 'mObjRootNeedSetObjectBufferSize' ; // Offset:0xD8, Var, CRC32:0x58450074, Flags:0x30000 + bool '3D' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595B10, Setter:0x15CC0B0, CRC32:0x3BFC0DB9, Flags:0x810000 + u32 'LanguageSettingNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C130, Setter:0x15CD290, CRC32:0x9FC3FA99, Flags:0x800000 + u32 'FrameRateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C060, Setter:0x15CD270, CRC32:0x6B3AD93A, Flags:0x800000 + u32 'BaseZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159BFB0, Setter:0x15CC0D0, CRC32:0x5DF762AC, Flags:0x800000 + bool 'UseAlphaMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C610, Setter:0x15CD2B0, CRC32:0x6CD5FD09, Flags:0x800000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUIDogmaOrb vftable:0x1C60CC8, Size:0x70, CRC32:0x7CB7EF59 +class rGUIDogmaOrb /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUIFont vftable:0x20C7BE0, Size:0xD0, CRC32:0x2D462600 +class rGUIFont /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'DynamicTextureSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDE30, Setter:0x15CE800, CRC32:0x605EC967, Flags:0x800000 + u32 'DynamicTextureNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDE20, Setter:0x15CE7E0, CRC32:0x9F1D5A43, Flags:0x800000 + f32 'MaxDescent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDE70, Setter:0x15CE890, CRC32:0xDE0AF3ED, Flags:0x800000 + f32 'MaxAscent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDE60, Setter:0x15CE870, CRC32:0x4402D094, Flags:0x800000 + u32 'TextureNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDF10, Setter:0x15CE8C0, CRC32:0x12A6133D, Flags:0x800000 + u32 'FontSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67A600, Setter:0x15CE820, CRC32:0x40CBAB9D, Flags:0x800000 + u32 'FontType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDE50, Setter:0x15CE840, CRC32:0x3BD5D8DE, Flags:0x800000 + u32 'Suffix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDE80, Setter:0x15CE8B0, CRC32:0x4DE37D17, Flags:0x800000 + bool 'LayoutEvenIntervals' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15CDF20, Setter:0x15CE850, CRC32:0x23FC0C0, Flags:0x800000 + bool 'isDynamic' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x67CC90, Setter:0x15CE7C0, CRC32:0xD293A68B, Flags:0x800000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUIIconInfo vftable:0x20CBDD0, Size:0x78, CRC32:0x7F768AF +class rGUIIconInfo /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUIMapSetting vftable:0x1C60D80, Size:0xB8, CRC32:0x2DCFBA48 +class rGUIMapSetting /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 + float2 'mCenter' ; // Offset:0x7C, Var, CRC32:0x7E6C4215, Flags:0x0 + rect 'mRect' ; // Offset:0x84, Var, CRC32:0x6EDFF8BD, Flags:0x0 + s32 'mFloorBaseId' ; // Offset:0x94, Var, CRC32:0x8C27FC6A, Flags:0x0 + u32 'mFloorBaseSizeId' ; // Offset:0x98, Var, CRC32:0xADA91DCF, Flags:0x0 + u32 'mTextureNumX' ; // Offset:0x9C, Var, CRC32:0x9B6529A1, Flags:0x0 + u32 'mTextureNumY' ; // Offset:0xA0, Var, CRC32:0xEC621937, Flags:0x0 + f32 'mFoundationScale' ; // Offset:0xA4, Var, CRC32:0x6FD993A3, Flags:0x0 + f32 'mOffsetPosX' ; // Offset:0xA8, Var, CRC32:0x39BBFA0F, Flags:0x0 + f32 'mOffsetPosY' ; // Offset:0xAC, Var, CRC32:0x4EBCCA99, Flags:0x0 + bool 'mUseIdTex' ; // Offset:0xB0, Var, CRC32:0xE0E39EB3, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUIMapSetting::cData vftable:0x1C60D4C, Size:0x14, CRC32:0x4314E5D4 +class rGUIMapSetting::cData /*: MtObject*/ { + classref 'mpShape' ; // Offset:0x4, Var, CRC32:0x590327A4, Flags:0x0 + s32 'mShapeType' ; // Offset:0x8, Var, CRC32:0xA244B52, Flags:0x0 + u32 'mFloorId' ; // Offset:0xC, Var, CRC32:0xCDE8F064, Flags:0x0 + bool 'mVisible' ; // Offset:0x10, Var, CRC32:0xF9529B47, Flags:0x20000 + u32 'type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xA89E00, Setter:0xA8A260, CRC32:0x7321A8D6, Flags:0x820000 +}; + +// rGUIMessage vftable:0x20C1CB8, Size:0x4A0, CRC32:0x242BB29A +class rGUIMessage /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGUIPhotoFrame vftable:0x1C60F20, Size:0x70, CRC32:0x689CD6D5 +class rGUIPhotoFrame /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGatheringItem vftable:0x1C60BC8, Size:0x70, CRC32:0x3BA9E8CA +class rGatheringItem /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGeometry2 vftable:0x20D9E84, Size:0x78, CRC32:0x5175C242 +class rGeometry2 /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mMagic' ; // Offset:0x68, Var, CRC32:0xF4B273EF, Flags:0x10000 + u32 'mVersion' ; // Offset:0x6C, Var, CRC32:0x3CFEA0DD, Flags:0x10000 + classref 'mpGeometry' ; // Offset:0x70, Var, CRC32:0xC1C96808, Flags:0x10000 + custom 'mpParentResource' ; // Offset:0x74, Var, CRC32:0x7A2BA3BC, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGeometry2::cGeometry vftable:0x20D9DE0, Size:0x50, CRC32:0x5B118136 +class rGeometry2::cGeometry /*: nCollision::cGeometry, nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + bool 'LocalAllocate' ; // Offset:0xC, Var, CRC32:0x1B469413, Flags:0x10000 + aabb 'GeometryAABB' ; // Offset:0x10, Var, CRC32:0x56FBC59C, Flags:0x20000000 + classref 'mpAttachGeometry' ; // Offset:0x30, Var, CRC32:0xE1937D65, Flags:0x20000 + u8 'Attach' ; // Offset:0x34, Var, CRC32:0x269A8648, Flags:0x20000 + u8 'mAttachMode' ; // Offset:0x34, Var, CRC32:0xE74AC5A1, Flags:0x0 + u8 'Jnt0' ; // Offset:0x35, Var, CRC32:0x5D1F2CE, Flags:0x20000 + u8 'mJointNo0' ; // Offset:0x35, Var, CRC32:0x226528F0, Flags:0x0 + u8 'Jnt1' ; // Offset:0x36, Var, CRC32:0x72D6C258, Flags:0x20000 + u8 'mJointNo1' ; // Offset:0x36, Var, CRC32:0x55621866, Flags:0x0 + bool 'Scale' ; // Offset:0x37, Var, CRC32:0xD278F57F, Flags:0x0 + classref 'mpAddonObject' ; // Offset:0x38, Var, CRC32:0x9FDABAF2, Flags:0x40000 + classref 'mpAttachModel' ; // Offset:0x3C, Var, CRC32:0x4AFB2217, Flags:0x120000 + vector3 'mBeforeAttachPos0' ; // Offset:0x40, Var, CRC32:0x6FC1C268, Flags:0x20000000 + classref 'Geometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E8D0, Setter:0x1620150, CRC32:0x93DB9302, Flags:0x800000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E7F0, Setter:0x1619B33, CRC32:0xD31307E8, Flags:0x820000 +}; + +// rGeometry2::cGeometryArray vftable:0x20D9E20, Size:0x80, CRC32:0x19C0E70E +class rGeometry2::cGeometryArray /*: nCollision::cCollisionNode, nCollision::cObjectBase, MtObject*/ { + bool 'Active' ; // Offset:0x4, Var, CRC32:0xB34D06CB, Flags:0x0 + class 'GeometryArray' ; // Offset:0xC, Var, CRC32:0xA86A288C, Flags:0x0 + aabb 'BoundingAABB' ; // Offset:0x30, Var, CRC32:0x4491D17F, Flags:0x20000000 + classref 'mpAddonObject' ; // Offset:0x60, Var, CRC32:0x9FDABAF2, Flags:0x40000 + bool 'UseSequence' ; // Offset:0x68, Var, CRC32:0x58C9AF11, Flags:0x20000 + bool 'mFlgEnableSequence' ; // Offset:0x68, Var, CRC32:0xA817FBAE, Flags:0x0 + u8 'Index(Motion)' ; // Offset:0x69, Var, CRC32:0xD19EAA60, Flags:0x20000 + u8 'mMotionListIndex' ; // Offset:0x69, Var, CRC32:0x31E62E96, Flags:0x0 + u8 'Index(Sequence)' ; // Offset:0x6A, Var, CRC32:0xED958F9A, Flags:0x20000 + u8 'mSequenceIndex' ; // Offset:0x6A, Var, CRC32:0x887CFBE9, Flags:0x0 + u8 'Bit(Sequence)' ; // Offset:0x6B, Var, CRC32:0xD276372A, Flags:0x20000 + u8 'mTargetSequenceBitIndex' ; // Offset:0x6B, Var, CRC32:0x5E6F5006, Flags:0x0 + string 'EditDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x161E700, Setter:0x1625BD0, CRC32:0x31FE519C, Flags:0x830000 +}; + +// rGeometry2Group vftable:0x20DBA04, Size:0x88, CRC32:0x5E4DEF9D +class rGeometry2Group /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mMagic' ; // Offset:0x68, Var, CRC32:0xF4B273EF, Flags:0x10000 + u32 'mVersion' ; // Offset:0x6C, Var, CRC32:0x3CFEA0DD, Flags:0x10000 + class 'mGeometryResourceArray' ; // Offset:0x70, Var, CRC32:0xAA0BB178, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGeometry3 vftable:0x20D9FF4, Size:0x88, CRC32:0x2672F2D4 +class rGeometry3 /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mGroupArray' ; // Offset:0x68, Var, CRC32:0xB75D1452, Flags:0x0 + bool 'mFlgEnableMotionSequence' ; // Offset:0x84, Var, CRC32:0xF374623D, Flags:0x10000 + u32 'UniqueIDTable'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x196D040, Setter:0x196D1A0, GetCount:0x196D050, Reallocate:0x196D1C0 CRC32:0x81F0C3D8, Flags:0xA10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGraphPatch vftable:0x20D9D00, Size:0x78, CRC32:0x6143E1BD +class rGraphPatch /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGrass vftable:0x20D4490, Size:0x28E0, CRC32:0x2739B57C +class rGrass /*: cResource, MtObject*/ { + class 'mClusters' ; // Offset:0xA4, Var, CRC32:0xC4076DA2, Flags:0x10000 + bool 'mUseComp' ; // Offset:0xBC, Var, CRC32:0x36C6CBA6, Flags:0x10000 + f32 'mMaxLength' ; // Offset:0xCC, Var, CRC32:0x6364F857, Flags:0x10000 + class 'mSettingList'[8] ; // Offset:0xE0, Array, CRC32:0xA36C69AF, Flags:0x210000 +}; + +// rGrass2 vftable:0x20DB540, Size:0xD0, CRC32:0x11C35522 +class rGrass2 /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + bool 'mOnlineMode' ; // Offset:0x71, Var, CRC32:0x18D28E6B, Flags:0x10000 + u32 'mChannelMask' ; // Offset:0x74, Var, CRC32:0x105FC87D, Flags:0x10000 + f32 'mAxisBlend' ; // Offset:0x78, Var, CRC32:0xB1D65A40, Flags:0x10000 + f32 'mAxisOffset' ; // Offset:0x7C, Var, CRC32:0xC87B871C, Flags:0x10000 + f32 'mMinThreshold' ; // Offset:0x80, Var, CRC32:0x7CAD95A6, Flags:0x10000 + f32 'mMaxThreshold' ; // Offset:0x84, Var, CRC32:0xECDE854C, Flags:0x10000 + f32 'mMinScale' ; // Offset:0x88, Var, CRC32:0xC137C01F, Flags:0x10000 + f32 'mMaxScale' ; // Offset:0x8C, Var, CRC32:0x27576FFE, Flags:0x10000 + f32 'mClusterSize' ; // Offset:0x98, Var, CRC32:0x9BF752B9, Flags:0x10000 + f32 'mDensity' ; // Offset:0x9C, Var, CRC32:0x434A19E4, Flags:0x10000 + aabb 'mAABB' ; // Offset:0xA0, Var, CRC32:0x50126E8A, Flags:0x10000 + custom 'mpSetting'[3] ; // Offset:0xC0, Array, CRC32:0xD52F4248, Flags:0x210000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGrass2Setting vftable:0x20DB4EC, Size:0x2870, CRC32:0x628DFB41 +class rGrass2Setting /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mSettingList'[8] ; // Offset:0x70, Array, CRC32:0xA36C69AF, Flags:0x210000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGrass::cChainGrass vftable:0x20D4448, Size:0x20, CRC32:0x53E73523 +class rGrass::cChainGrass /*: MtObject*/ { + f32 'mPower' ; // Offset:0x4, Var, CRC32:0x563E9B61, Flags:0x0 + f32 'mTheta' ; // Offset:0x8, Var, CRC32:0xF6AC10C8, Flags:0x0 + vector3 'mDirection' ; // Offset:0x10, Var, CRC32:0x62DE5FF7, Flags:0x0 +}; + +// rGrass::cCluster vftable:0x20D4424, Size:0x140, CRC32:0x5BB635E1 +class rGrass::cCluster /*: MtObject*/ { + u32 'mIndexCount' ; // Offset:0x4, Var, CRC32:0x11523DA4, Flags:0x10000 + u32 'mVertexCount' ; // Offset:0x8, Var, CRC32:0xDF988889, Flags:0x10000 + vector4 'mDequantizationCoordScale' ; // Offset:0x10, Var, CRC32:0x8E4FE698, Flags:0x10000 + vector4 'mDequantizationCoordOffset' ; // Offset:0x20, Var, CRC32:0x9F6B70D1, Flags:0x10000 + s32 'mVertexBase' ; // Offset:0x134, Var, CRC32:0x8BCD7EB9, Flags:0x10000 +}; + +// rGrass::cSetting vftable:0x20D4464, Size:0x500, CRC32:0x2107E4ED +class rGrass::cSetting /*: MtObject*/ { + f32 'mRatio' ; // Offset:0x4, Var, CRC32:0x1D422BE, Flags:0x0 + class 'mChainGrassParams[0]' ; // Offset:0x10, Var, CRC32:0x9B0BF8A6, Flags:0x0 + class 'mChainGrassParams[1]' ; // Offset:0x30, Var, CRC32:0x8210C9E7, Flags:0x0 + f32 'mAmplification' ; // Offset:0x50, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x54, Var, CRC32:0x7AEB3657, Flags:0x0 + hermitecurve 'mWeightCurve' ; // Offset:0x48C, Var, CRC32:0x6E20543, Flags:0x0 + f32 'mSpecularPower' ; // Offset:0x4D8, Var, CRC32:0x64082744, Flags:0x0 + f32 'mTranslucent' ; // Offset:0x4DC, Var, CRC32:0xDE684019, Flags:0x0 + f32 'mBegin' ; // Offset:0x4E8, Var, CRC32:0x87310FD4, Flags:0x10000 + f32 'mWidth' ; // Offset:0x4EC, Var, CRC32:0x71AEDFEE, Flags:0x10000 + color 'mColorOne' ; // Offset:0x4F0, Var, CRC32:0x76342A09, Flags:0x0 + color 'mColorTwo' ; // Offset:0x4F4, Var, CRC32:0x1D92269E, Flags:0x0 + f32 'mAspect' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B6FF0, Setter:0x180B880, CRC32:0xCE1F6A64, Flags:0x800000 + f32 'mScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7090, Setter:0x180B980, CRC32:0x11F2BF45, Flags:0x800000 + custom 'mpNormalMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7070, Setter:0x180B910, CRC32:0xA87484BF, Flags:0x800000 + custom 'mpMaskMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7040, Setter:0x180B8A0, CRC32:0xF80A0B20, Flags:0x800000 + custom 'mpAlbedoMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x180A970, Setter:0x180B810, CRC32:0xA89A72B0, Flags:0x800000 +}; + +// rGrassWind vftable:0x20D97F4, Size:0x90, CRC32:0x437BCF2 +class rGrassWind /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mParamSetArray' ; // Offset:0x68, Var, CRC32:0xAE2262CD, Flags:0x0 + u32 'mMaxFrame' ; // Offset:0x7C, Var, CRC32:0x7EE976B7, Flags:0x0 + u32 'mDTI' ; // Offset:0x80, Var, CRC32:0xB1B34B45, Flags:0x0 + bool 'mLoop' ; // Offset:0x84, Var, CRC32:0x7856D6D2, Flags:0x0 + bool 'mAutoDeath' ; // Offset:0x85, Var, CRC32:0x1414D479, Flags:0x0 + u32 'mPriority' ; // Offset:0x88, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rGrassWind::cParamSet vftable:0x20D97D4, Size:0x18, CRC32:0x298E79A3 +class rGrassWind::cParamSet /*: MtObject*/ { + u32 'reinterpret_cast(mpParams)'[0] ; // Offset:0x7FFFFFFFFFFFFFFF, Array, CRC32:0x6DE47B15, Flags:0x200000 + string 'mName' ; // Offset:0x4, Var, CRC32:0x872AB53A, Flags:0x10000 + f32 'mMax' ; // Offset:0x8, Var, CRC32:0x4D8DB246, Flags:0x0 + f32 'mMin' ; // Offset:0xC, Var, CRC32:0x71808D1F, Flags:0x0 + u32 'mParamNum' ; // Offset:0x10, Var, CRC32:0xFC86D440, Flags:0x10000 +}; + +// rHeadCtrl vftable:0x1C61018, Size:0xA8, CRC32:0x481BB632 +class rHeadCtrl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rHideNpcNameInfo vftable:0x1C61118, Size:0x70, CRC32:0x3BC876C1 +class rHideNpcNameInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rHumanEnemyCustomSkill vftable:0x1C61218, Size:0x70, CRC32:0x6C98B385 +class rHumanEnemyCustomSkill /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rHumanEnemyEquip vftable:0x1C61320, Size:0x70, CRC32:0x1F533DF3 +class rHumanEnemyEquip /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rHumanEnemyParam vftable:0x1C61420, Size:0x70, CRC32:0x49DA82CA +class rHumanEnemyParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rHumanEnemyPreset vftable:0x1C61538, Size:0x70, CRC32:0x11E53B6B +class rHumanEnemyPreset /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rIKCtrl vftable:0x1C61648, Size:0xD0, CRC32:0x1D44D227 +class rIKCtrl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rISC vftable:0x20D04D4, Size:0x150, CRC32:0x1E85E006 +class rISC /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rImplicitSurface vftable:0x20CCC78, Size:0x78, CRC32:0x7C832B6A +class rImplicitSurface /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mPrimitiveInfoNum' ; // Offset:0x70, Var, CRC32:0x1AC9D438, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rIniLocal vftable:0x20BE814, Size:0xA0, CRC32:0x936E01F +class rIniLocal /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rIsEquipOneOfSeveral vftable:0x1C616D4, Size:0x90, CRC32:0xF0C3974 +class rIsEquipOneOfSeveral /*: cResource, MtObject*/ { + class 'EquipGroupArray' ; // Offset:0x68, Var, CRC32:0xF257215E, Flags:0x0 +}; + +// rIsEquipOneOfSeveral::cEquipGroup vftable:0x1C61730, Size:0x20, CRC32:0x6066A35 +class rIsEquipOneOfSeveral::cEquipGroup /*: MtObject*/ { + class 'EquipIds' ; // Offset:0x4, Var, CRC32:0xA29B2638, Flags:0x0 + u32 'GroupId' ; // Offset:0x18, Var, CRC32:0xDDC34ED3, Flags:0x0 + string 'Description' ; // Offset:0x1C, Var, CRC32:0x1487300E, Flags:0x0 +}; + +// rIsEquipOneOfSeveral::cEquipId vftable:0x1C6174C, Size:0xC, CRC32:0x58B9A3F9 +class rIsEquipOneOfSeveral::cEquipId /*: MtObject*/ { + u32 'EquipId' ; // Offset:0x4, Var, CRC32:0xFC574A50, Flags:0x0 + string 'ItemName' ; // Offset:0x8, Var, CRC32:0x52E62E59, Flags:0x0 +}; + +// rItemEquipJobInfoList vftable:0x1C618B0, Size:0x70, CRC32:0x6FAE86B8 +class rItemEquipJobInfoList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rItemList vftable:0x1C61E50, Size:0xD8, CRC32:0x157388D3 +class rItemList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rItemList::rEquipParamS8 vftable:0x1C61E30, Size:0x8, CRC32:0x38DFD33E +class rItemList::rEquipParamS8 /*: MtObject*/ { + u8 'mKindType' ; // Offset:0x4, Var, CRC32:0x8DE7C283, Flags:0x0 + u8 'mForm' ; // Offset:0x5, Var, CRC32:0x8B813673, Flags:0x0 + u16 'mValueU16' ; // Offset:0x6, Var, CRC32:0x2B3EE96D, Flags:0x0 + s16 'mValueS16' ; // Offset:0x6, Var, CRC32:0x2FB395DF, Flags:0x0 + u8 'mValueU8' ; // Offset:0x6, Var, CRC32:0xF36F4728, Flags:0x0 + s8 'mValueS8' ; // Offset:0x6, Var, CRC32:0xA535E0AE, Flags:0x0 +}; + +// rItemList::rItemParamXml vftable:0x1C61E14, Size:0x128, CRC32:0x2615A59D +class rItemList::rItemParamXml /*: MtObject*/ { + u32 'mItemId' ; // Offset:0x4, Var, CRC32:0x8B641E40, Flags:0x0 + u32 'mNameId' ; // Offset:0x8, Var, CRC32:0xF5C64F5D, Flags:0x0 + s32 'mCategory' ; // Offset:0xC, Var, CRC32:0x2EC2295C, Flags:0x0 + s32 'mMaterialCategory' ; // Offset:0x10, Var, CRC32:0x96278B33, Flags:0x0 + u32 'mPrice' ; // Offset:0x14, Var, CRC32:0x377CB818, Flags:0x0 + bool 'mIsSell' ; // Offset:0x18, Var, CRC32:0x43F6C40, Flags:0x0 + bool 'mIsBazaar' ; // Offset:0x19, Var, CRC32:0x3630C051, Flags:0x0 + u8 'mStackMax' ; // Offset:0x1A, Var, CRC32:0xDC3391A4, Flags:0x0 + u8 'mRank' ; // Offset:0x1B, Var, CRC32:0x517023D9, Flags:0x0 + u8 'mGrade' ; // Offset:0x1C, Var, CRC32:0xA4EE34F5, Flags:0x0 + u8 'mIconColNo' ; // Offset:0x1D, Var, CRC32:0xD515B1A1, Flags:0x0 + u16 'mIconNo' ; // Offset:0x1E, Var, CRC32:0xECCC44A0, Flags:0x0 + u8 'mArrowNum' ; // Offset:0x20, Var, CRC32:0x9A356A3C, Flags:0x0 + u8 'mTShieldStorage' ; // Offset:0x21, Var, CRC32:0xC6AF8896, Flags:0x0 + u32 'mSortNo' ; // Offset:0x24, Var, CRC32:0x38B321B8, Flags:0x0 + u32 'mNameSortNo' ; // Offset:0x28, Var, CRC32:0xE672CDEC, Flags:0x0 + s32 'mUseType' ; // Offset:0x2C, Var, CRC32:0x7112F3B5, Flags:0x0 + u32 'mAttackStatus' ; // Offset:0x30, Var, CRC32:0xF2681778, Flags:0x0 + bool 'mIsUnUseLobby' ; // Offset:0x34, Var, CRC32:0xEBBA89E7, Flags:0x0 + bool 'mIsNotFitStorage' ; // Offset:0x35, Var, CRC32:0x174BEC4F, Flags:0x0 + s32 'mWepCategory' ; // Offset:0x38, Var, CRC32:0x3E2734CE, Flags:0x0 + u8 'mEquip' ; // Offset:0x3C, Var, CRC32:0xFC75971, Flags:0x0 + u8 'mPhysicalType' ; // Offset:0x3D, Var, CRC32:0x4B72F33E, Flags:0x0 + u8 'mElementType' ; // Offset:0x3E, Var, CRC32:0xE98318C8, Flags:0x0 + u8 'mEleSlot' ; // Offset:0x3F, Var, CRC32:0xC49CA87B, Flags:0x0 + u32 'mVersion' ; // Offset:0x40, Var, CRC32:0x3CFEA0DD, Flags:0x0 + u32 'mEquipGroupId' ; // Offset:0x44, Var, CRC32:0xDD98C86F, Flags:0x0 + u32 'mEquipGroupIndex' ; // Offset:0x48, Var, CRC32:0xD84B2F84, Flags:0x0 + u8 'mJobPattern' ; // Offset:0x4C, Var, CRC32:0x66D9F19A, Flags:0x0 + bool 'mIsJob01' ; // Offset:0x4D, Var, CRC32:0x39DB5403, Flags:0x0 + bool 'mIsJob02' ; // Offset:0x4E, Var, CRC32:0xA0D205B9, Flags:0x0 + bool 'mIsJob03' ; // Offset:0x4F, Var, CRC32:0xD7D5352F, Flags:0x0 + bool 'mIsJob04' ; // Offset:0x50, Var, CRC32:0x49B1A08C, Flags:0x0 + bool 'mIsJob05' ; // Offset:0x51, Var, CRC32:0x3EB6901A, Flags:0x0 + bool 'mIsJob06' ; // Offset:0x52, Var, CRC32:0xA7BFC1A0, Flags:0x0 + bool 'mIsJob07' ; // Offset:0x53, Var, CRC32:0xD0B8F136, Flags:0x0 + bool 'mIsJob08' ; // Offset:0x54, Var, CRC32:0x4007ECA7, Flags:0x0 + bool 'mIsJob09' ; // Offset:0x55, Var, CRC32:0x3700DC31, Flags:0x0 + bool 'mIsJob10' ; // Offset:0x56, Var, CRC32:0x57C755D4, Flags:0x0 + bool 'mIsJob11' ; // Offset:0x57, Var, CRC32:0x20C06542, Flags:0x0 + u16 'mIsUseLv' ; // Offset:0x58, Var, CRC32:0xAFD9483B, Flags:0x0 + u16 'mWeight' ; // Offset:0x5A, Var, CRC32:0x3951FC70, Flags:0x0 + bool 'mIsUseNpc' ; // Offset:0x5C, Var, CRC32:0x30C17366, Flags:0x0 + bool 'mIsCharging' ; // Offset:0x5D, Var, CRC32:0x3217634D, Flags:0x0 + u8 'mColorNo' ; // Offset:0x5E, Var, CRC32:0x867798F2, Flags:0x0 + u8 'mSex' ; // Offset:0x5F, Var, CRC32:0x3F59F938, Flags:0x0 + u8 'mModelParts' ; // Offset:0x60, Var, CRC32:0x7B1C2A8C, Flags:0x0 + u8 'mShieldStamina' ; // Offset:0x61, Var, CRC32:0x1481A9ED, Flags:0x0 + u32 'mModelTagId' ; // Offset:0x64, Var, CRC32:0x7D4A20AE, Flags:0x0 + u8 'mPhotoModeStatus' ; // Offset:0x68, Var, CRC32:0x776E17A8, Flags:0x0 + u32 'mAttack' ; // Offset:0x6C, Var, CRC32:0x795C840A, Flags:0x0 + u32 'mMagicAttack' ; // Offset:0x70, Var, CRC32:0xAD78E7FB, Flags:0x0 + u32 'mPowerRev' ; // Offset:0x74, Var, CRC32:0xD4155E0E, Flags:0x0 + u32 'mShieldStagger' ; // Offset:0x78, Var, CRC32:0x16E8FC96, Flags:0x0 + u16 'mVsEm00' ; // Offset:0x7C, Var, CRC32:0xF90D8A72, Flags:0x0 + u16 'mVsEm01' ; // Offset:0x7E, Var, CRC32:0x8E0ABAE4, Flags:0x0 + u16 'mVsEm02' ; // Offset:0x80, Var, CRC32:0x1703EB5E, Flags:0x0 + u16 'mVsEm03' ; // Offset:0x82, Var, CRC32:0x6004DBC8, Flags:0x0 + u16 'mVsEm04' ; // Offset:0x84, Var, CRC32:0xFE604E6B, Flags:0x0 + u16 'mVsEm05' ; // Offset:0x86, Var, CRC32:0x89677EFD, Flags:0x0 + u16 'mVsEm06' ; // Offset:0x88, Var, CRC32:0x106E2F47, Flags:0x0 + u16 'mVsEm07' ; // Offset:0x8A, Var, CRC32:0x67691FD1, Flags:0x0 + u16 'mVsEm08' ; // Offset:0x8C, Var, CRC32:0xF7D60240, Flags:0x0 + u16 'mVsEm09' ; // Offset:0x8E, Var, CRC32:0x80D132D6, Flags:0x0 + u16 'mVsEm0a' ; // Offset:0x90, Var, CRC32:0xE561EB10, Flags:0x0 + u16 'mVsEm0b' ; // Offset:0x92, Var, CRC32:0x7C68BAAA, Flags:0x0 + u16 'mVsEm0c' ; // Offset:0x94, Var, CRC32:0xB6F8A3C, Flags:0x0 + u16 'mVsEm0d' ; // Offset:0x96, Var, CRC32:0x950B1F9F, Flags:0x0 + u16 'mVsEm0e' ; // Offset:0x98, Var, CRC32:0xE20C2F09, Flags:0x0 + u16 'mVsEm0f' ; // Offset:0x9A, Var, CRC32:0x7B057EB3, Flags:0x0 + u16 'mVsEm10' ; // Offset:0x9C, Var, CRC32:0xE016BB33, Flags:0x0 + u8 'mSpirit' ; // Offset:0x9E, Var, CRC32:0x936F64E, Flags:0x0 + u16 'mPoisonSav' ; // Offset:0xA0, Var, CRC32:0xBB8CE3DB, Flags:0x0 + u16 'mSlowSav' ; // Offset:0xA2, Var, CRC32:0xFAC8CF48, Flags:0x0 + u16 'mOilSav' ; // Offset:0xA4, Var, CRC32:0x3854F69C, Flags:0x0 + u16 'mBlindSav' ; // Offset:0xA6, Var, CRC32:0x85B3874F, Flags:0x0 + u16 'mSleepSav' ; // Offset:0xA8, Var, CRC32:0xEACB8758, Flags:0x0 + u16 'mWaterSav' ; // Offset:0xAA, Var, CRC32:0x6DD5F1D7, Flags:0x0 + u16 'mSealSav' ; // Offset:0xAC, Var, CRC32:0xE5EFF07F, Flags:0x0 + u16 'mSoftBodySav' ; // Offset:0xAE, Var, CRC32:0xFCD2EA8, Flags:0x0 + u16 'mStoneSav' ; // Offset:0xB0, Var, CRC32:0xF76E02B, Flags:0x0 + u16 'mGoldSav' ; // Offset:0xB2, Var, CRC32:0xEAC1879A, Flags:0x0 + u16 'mSpredSav' ; // Offset:0xB4, Var, CRC32:0x8B1D8309, Flags:0x0 + u16 'mFreezeSav' ; // Offset:0xB6, Var, CRC32:0xEEC6E8DB, Flags:0x0 + u16 'mShockSav' ; // Offset:0xB8, Var, CRC32:0xB747A513, Flags:0x0 + u16 'mCrossSav' ; // Offset:0xBA, Var, CRC32:0xFD1FBF4A, Flags:0x0 + u16 'mStanSav' ; // Offset:0xBC, Var, CRC32:0x876CE9CA, Flags:0x0 + u16 'mFallFireSav' ; // Offset:0xBE, Var, CRC32:0x23AC9B99, Flags:0x0 + u16 'mFallIceSav' ; // Offset:0xC0, Var, CRC32:0x4D91AB47, Flags:0x0 + u16 'mFallThunderSav' ; // Offset:0xC2, Var, CRC32:0x4B123FBF, Flags:0x0 + u16 'mFallSaintSav' ; // Offset:0xC4, Var, CRC32:0x366AC3FC, Flags:0x0 + u16 'mFallBlindSav' ; // Offset:0xC6, Var, CRC32:0xB7B5C416, Flags:0x0 + u16 'mFallAttackSav' ; // Offset:0xC8, Var, CRC32:0x895A342A, Flags:0x0 + u16 'mFallDefSav' ; // Offset:0xCA, Var, CRC32:0x6CFAE2D7, Flags:0x0 + u16 'mFallMagicSav' ; // Offset:0xCC, Var, CRC32:0x1ABF32A3, Flags:0x0 + u16 'mFallMagicDefSav' ; // Offset:0xCE, Var, CRC32:0x7DA0C435, Flags:0x0 + u32 'mChance' ; // Offset:0xD0, Var, CRC32:0x1AA79215, Flags:0x0 + u32 'mDefense' ; // Offset:0xD4, Var, CRC32:0x5847866B, Flags:0x0 + u32 'mMagicDefense' ; // Offset:0xD8, Var, CRC32:0x92296082, Flags:0x0 + u32 'mDurability' ; // Offset:0xDC, Var, CRC32:0x648B13C3, Flags:0x0 + u16 'mMaxHpRev' ; // Offset:0xE0, Var, CRC32:0x19A9042, Flags:0x0 + u16 'mMaxStRev' ; // Offset:0xE2, Var, CRC32:0x99C8A186, Flags:0x0 + s16 'mFireEleDef' ; // Offset:0xE4, Var, CRC32:0x9FC058AA, Flags:0x0 + s16 'mIceEleDef' ; // Offset:0xE6, Var, CRC32:0x9D0113E, Flags:0x0 + s16 'mThunderEleDef' ; // Offset:0xE8, Var, CRC32:0x9441336D, Flags:0x0 + s16 'mSaintEleDef' ; // Offset:0xEA, Var, CRC32:0x44F8962, Flags:0x0 + s16 'mDarkEleDef' ; // Offset:0xEC, Var, CRC32:0x70D251D2, Flags:0x0 + s8 'mPoisonDef' ; // Offset:0xEE, Var, CRC32:0xDB3E834E, Flags:0x0 + s8 'mSlowDef' ; // Offset:0xEF, Var, CRC32:0x9A7AAFDD, Flags:0x0 + s8 'mOilDef' ; // Offset:0xF0, Var, CRC32:0x58E69609, Flags:0x0 + s8 'mBlindDef' ; // Offset:0xF1, Var, CRC32:0xE501E7DA, Flags:0x0 + s8 'mSleepDef' ; // Offset:0xF2, Var, CRC32:0x8A79E7CD, Flags:0x0 + s8 'mWaterDef' ; // Offset:0xF3, Var, CRC32:0xD679142, Flags:0x0 + s8 'mSealDef' ; // Offset:0xF4, Var, CRC32:0x855D90EA, Flags:0x0 + s8 'mSoftBodyDef' ; // Offset:0xF5, Var, CRC32:0x6F7F4E3D, Flags:0x0 + s8 'mStoneDef' ; // Offset:0xF6, Var, CRC32:0x6FC480BE, Flags:0x0 + s8 'mGoldDef' ; // Offset:0xF7, Var, CRC32:0x8A73E70F, Flags:0x0 + s8 'mSpredDef' ; // Offset:0xF8, Var, CRC32:0xEBAFE39C, Flags:0x0 + s8 'mFreezeDef' ; // Offset:0xF9, Var, CRC32:0x8E74884E, Flags:0x0 + s8 'mShockDef' ; // Offset:0xFA, Var, CRC32:0xD7F5C586, Flags:0x0 + s8 'mCrossDef' ; // Offset:0xFB, Var, CRC32:0x9DADDFDF, Flags:0x0 + s8 'mStanDef' ; // Offset:0xFC, Var, CRC32:0xE7DE895F, Flags:0x0 + s8 'mCurseDef' ; // Offset:0xFD, Var, CRC32:0x9230F857, Flags:0x0 + s8 'mFallFireDef' ; // Offset:0xFE, Var, CRC32:0x431EFB0C, Flags:0x0 + s8 'mFallIceDef' ; // Offset:0xFF, Var, CRC32:0x2D23CBD2, Flags:0x0 + s8 'mFallThunderDef' ; // Offset:0x100, Var, CRC32:0x2BA05F2A, Flags:0x0 + s8 'mFallSaintDef' ; // Offset:0x101, Var, CRC32:0x56D8A369, Flags:0x0 + s8 'mFallBlindDef' ; // Offset:0x102, Var, CRC32:0xD707A483, Flags:0x0 + s8 'mFallAttackDef' ; // Offset:0x103, Var, CRC32:0xE9E854BF, Flags:0x0 + s8 'mFallDefenceDef' ; // Offset:0x104, Var, CRC32:0xEE67E247, Flags:0x0 + s8 'mFallMagicAttackDef' ; // Offset:0x105, Var, CRC32:0xBEE6BAE, Flags:0x0 + s8 'mFallMagicDefenceDef' ; // Offset:0x106, Var, CRC32:0x8435C48A, Flags:0x0 + s8 'mErosionDef' ; // Offset:0x107, Var, CRC32:0x591D8A97, Flags:0x0 + s8 'mItemSealDef' ; // Offset:0x108, Var, CRC32:0x69042269, Flags:0x0 + s8 'mMagmaDef' ; // Offset:0x109, Var, CRC32:0x17827F24, Flags:0x0 + u8 'mEquipSubCategory' ; // Offset:0x10A, Var, CRC32:0x669AA4B9, Flags:0x0 + u32 'mParamNum' ; // Offset:0x110, Var, CRC32:0xFC86D440, Flags:0x0 + class 'mItemParamList' ; // Offset:0x114, Var, CRC32:0x7FFD2A50, Flags:0x0 +}; + +// rItemList::rParam vftable:0x1B17478, Size:0xC, CRC32:0x6B300F04 +class rItemList::rParam /*: MtObject*/ { + s16 'mKindType' ; // Offset:0x4, Var, CRC32:0x8DE7C283, Flags:0x0 + u16 'mParam1' ; // Offset:0x6, Var, CRC32:0x2980877E, Flags:0x0 + u16 'mParam2' ; // Offset:0x8, Var, CRC32:0xB089D6C4, Flags:0x0 + u16 'mParam3' ; // Offset:0xA, Var, CRC32:0xC78EE652, Flags:0x0 +}; + +// rJobBaseParam vftable:0x1AF8958, Size:0x70, CRC32:0x2CCCE2FB +class rJobBaseParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJobCustomParam vftable:0x1C62FE8, Size:0x70, CRC32:0x2CE192E3 +class rJobCustomParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJobLevelUpTbl2 vftable:0x1C630E0, Size:0x70, CRC32:0x6F98BAA5 +class rJobLevelUpTbl2 /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJobMasterCtrl vftable:0x1C63200, Size:0x70, CRC32:0x32328D7F +class rJobMasterCtrl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJobTutorialQuestList vftable:0x1C63330, Size:0x80, CRC32:0x39C5F515 +class rJobTutorialQuestList /*: cResource, MtObject*/ { + class 'mJobTutorialList' ; // Offset:0x68, Var, CRC32:0x5CA28CD2, Flags:0x0 +}; + +// rJobTutorialQuestList::cQuestId vftable:0x1C63378, Size:0x8, CRC32:0x467882F1 +class rJobTutorialQuestList::cQuestId /*: MtObject*/ { + u32 'mQuestId' ; // Offset:0x4, Var, CRC32:0x1FBA8D43, Flags:0x0 +}; + +// rJointEx2 vftable:0x1C63460, Size:0x70, CRC32:0x36C4AF0B +class rJointEx2 /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJointInfo vftable:0x1C63558, Size:0x70, CRC32:0x46C399C4 +class rJointInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJointOrder vftable:0x1C63658, Size:0x70, CRC32:0x4E20F443 +class rJointOrder /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJukeBoxItem vftable:0x1C60950, Size:0x70, CRC32:0x5318BF07 +class rJukeBoxItem /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rJumpParamTbl vftable:0x1C63740, Size:0x70, CRC32:0xD156C3 +class rJumpParamTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rKeyCommand vftable:0x1C638A0, Size:0x70, CRC32:0x2D9C1B10 +class rKeyCommand /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rKeyConfigTextTable vftable:0x1C63E38, Size:0x88, CRC32:0x48DD2E14 +class rKeyConfigTextTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rKeyCustomParam vftable:0x1C643D8, Size:0x70, CRC32:0x763B5C41 +class rKeyCustomParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLandInfo vftable:0x1C6497C, Size:0x80, CRC32:0xE36E23 +class rLandInfo /*: cResource, MtObject*/ { + class 'mLandInfo' ; // Offset:0x68, Var, CRC32:0xF39AE383, Flags:0x0 +}; + +// rLandInfo::cLandInfo vftable:0x1C649D8, Size:0x20, CRC32:0x176A37C8 +class rLandInfo::cLandInfo /*: MtObject*/ { + u32 'mLandId' ; // Offset:0x4, Var, CRC32:0xAB792B8F, Flags:0x0 + bool 'mIsDispNews' ; // Offset:0x8, Var, CRC32:0xFF81F5A5, Flags:0x0 + u8 'mGameMode' ; // Offset:0x9, Var, CRC32:0x4947D237, Flags:0x0 + class 'mAreaArray' ; // Offset:0xC, Var, CRC32:0xA33910F3, Flags:0x0 +}; + +// rLandInfo::cLandInfo::cLandAreaInfo vftable:0x1C649F4, Size:0x8, CRC32:0x6A7430B4 +class rLandInfo::cLandInfo::cLandAreaInfo /*: MtObject*/ { + u32 'mAreaId' ; // Offset:0x4, Var, CRC32:0xE16D90E9, Flags:0x0 +}; + +// rLanguageResIDConverter vftable:0x1C4BD00, Size:0x70, CRC32:0x7FD7959F +class rLanguageResIDConverter /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLargeCameraParam vftable:0x1C64B00, Size:0x70, CRC32:0x639F3AD8 +class rLargeCameraParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLayout vftable:0x1C64C28, Size:0x1F0, CRC32:0x15302EF4 +class rLayout /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLayout::SetInfo vftable:0x1C64C10, Size:0x14, CRC32:0x6195AF10 +class rLayout::SetInfo /*: MtObject*/ { + classref 'mpInfo' ; // Offset:0x8, Var, CRC32:0x497AE362, Flags:0x40000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA0E90, Setter:0xAA1A50, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mSplitZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA1090, Setter:0xAA1A90, CRC32:0xD212B3E, Flags:0x830000 + u32 'mSplitX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA1080, Setter:0xAA1A80, CRC32:0xE32F4A12, Flags:0x830000 + s32 'mID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA0E60, Setter:0xAA1A70, CRC32:0x10BB0F5B, Flags:0x800000 + u32 'mGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA0E50, Setter:0xAA1A60, CRC32:0x9074DE04, Flags:0x830000 + u32 'mArea' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA0E10, Setter:0xAA1A40, CRC32:0xE9DF654, Flags:0x830000 +}; + +// rLayoutGroupParam vftable:0x1C652E4, Size:0x2F0, CRC32:0x563A6C74 +class rLayoutGroupParam /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mGroupParam' ; // Offset:0x70, Var, CRC32:0xB2AB866C, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLayoutGroupParamList vftable:0x1C6532C, Size:0x8E0, CRC32:0x2A37242D +class rLayoutGroupParamList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mGroupList'[512] ; // Offset:0x68, Array, CRC32:0x769728E1, Flags:0x200000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLayoutPreset vftable:0x1C65BB0, Size:0x70, CRC32:0x61300877 +class rLayoutPreset /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLegCtrl vftable:0x1C65CB8, Size:0xC8, CRC32:0x77C9D9A +class rLegCtrl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLineBuilder vftable:0x1C66228, Size:0x80, CRC32:0x35A73F2B +class rLineBuilder /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mMergedMoveLine' ; // Offset:0x68, Var, CRC32:0xE7F19F59, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLineBuilder::MergedMoveLine vftable:0x1C66200, Size:0x1C, CRC32:0x3BA926EC +class rLineBuilder::MergedMoveLine /*: MtObject*/ { + u32 'mBasis' ; // Offset:0x4, Var, CRC32:0x707AFFF6, Flags:0x10000 + class 'mChain' ; // Offset:0x8, Var, CRC32:0x4CB6820B, Flags:0x0 + u32 'mEntries' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA8FE0, Setter:0xAA91C0, CRC32:0xAE1AC0DB, Flags:0x830000 +}; + +// rLineBuilder::MergedMoveLine::ChainLine vftable:0x1C661D8, Size:0xC, CRC32:0x5A93A8F5 +class rLineBuilder::MergedMoveLine::ChainLine /*: MtObject*/ { + u32 'mLine' ; // Offset:0x4, Var, CRC32:0x81D7FCA, Flags:0x0 + u32 'mDTI' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAA8F80, Setter:0xAA91A0, CRC32:0xB1B34B45, Flags:0x800000 +}; + +// rLinkageEnemy vftable:0x1C66398, Size:0x90, CRC32:0x53DEC7D3 +class rLinkageEnemy /*: cResource, MtObject*/ { +}; + +// rLinkageEnemy::cEmInfo vftable:0x1C66340, Size:0x24, CRC32:0x533B1F9C +class rLinkageEnemy::cEmInfo /*: MtObject*/ { +}; + +// rLinkageEnemy::cEmInfo::cEmOperateParam vftable:0x1C66318, Size:0xC, CRC32:0x62CA3D4F +class rLinkageEnemy::cEmInfo::cEmOperateParam /*: MtObject*/ { +}; + +// rLinkageEnemy::cEmParamInfo vftable:0x1C6635C, Size:0xC, CRC32:0x7EA1449C +class rLinkageEnemy::cEmParamInfo /*: MtObject*/ { + u8 'mParamID' ; // Offset:0x4, Var, CRC32:0x21C3AACB, Flags:0x10000 + s32 'mParam' ; // Offset:0x8, Var, CRC32:0x594EE648, Flags:0x10000 +}; + +// rLinkageEnemyXml vftable:0x1C663DC, Size:0x98, CRC32:0x1CE77271 +class rLinkageEnemyXml /*: rLinkageEnemy, cResource, MtObject*/ { + class 'mLinkageEnemyInfoList' ; // Offset:0x68, Var, CRC32:0x8D925F71, Flags:0x0 + class 'mEmParamInfoList' ; // Offset:0x7C, Var, CRC32:0x8304DEF6, Flags:0x0 + u32 'mEnemyId' ; // Offset:0x90, Var, CRC32:0x5D247439, Flags:0x0 +}; + +// rLoadingParam vftable:0x1C66500, Size:0x80, CRC32:0x41094081 +class rLoadingParam /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLoadingParam::cData vftable:0x1C66494, Size:0xC, CRC32:0x5464E608 +class rLoadingParam::cData /*: MtObject*/ { + u32 'mMsgIdx' ; // Offset:0x4, Var, CRC32:0x3B3A051, Flags:0x0 + u32 'mImgId' ; // Offset:0x8, Var, CRC32:0x4004DB96, Flags:0x0 +}; + +// rLoadingParam::cDataList vftable:0x1C664D0, Size:0x1C, CRC32:0x40F23789 +class rLoadingParam::cDataList /*: MtObject*/ { + u32 'mAreaNo' ; // Offset:0x4, Var, CRC32:0x39FEDFA6, Flags:0x0 + class 'mList' ; // Offset:0x8, Var, CRC32:0x9DC13324, Flags:0x0 +}; + +// rLocationData vftable:0x1C665C8, Size:0x70, CRC32:0x68BFA317 +class rLocationData /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rLocationData::Data vftable:0x1C665AC, Size:0x40, CRC32:0x4874149C +class rLocationData::Data /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + f32 'mRadius' ; // Offset:0x20, Var, CRC32:0x5E0C76B, Flags:0x0 + f32 'mAngle' ; // Offset:0x24, Var, CRC32:0xFD35DFC8, Flags:0x0 + f32 'mRange' ; // Offset:0x28, Var, CRC32:0x6E33C088, Flags:0x0 + u16 'mMessageNo' ; // Offset:0x2C, Var, CRC32:0x20C461D1, Flags:0x0 + u16 'mType' ; // Offset:0x2E, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mWarpPointId' ; // Offset:0x30, Var, CRC32:0x8242D9E9, Flags:0x0 + bool 'mSafeZone' ; // Offset:0x34, Var, CRC32:0xEC509A89, Flags:0x0 + u32 'mVersion' ; // Offset:0x38, Var, CRC32:0x3CFEA0DD, Flags:0x0 +}; + +// rMagicChantParam vftable:0x1C666D8, Size:0x70, CRC32:0x5BCDC9D +class rMagicChantParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMagicCommandList vftable:0x1C66C68, Size:0x80, CRC32:0x5A64B2BF +class rMagicCommandList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mMagicCommandList' ; // Offset:0x68, Var, CRC32:0x8BB71817, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMagicCommandWord vftable:0x1C66D68, Size:0x70, CRC32:0x5D5D3FB6 +class rMagicCommandWord /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMandraActionParam vftable:0x1C66FE8, Size:0x70, CRC32:0x7C0E0726 +class rMandraActionParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMandraCharaMake vftable:0x1C675E0, Size:0x70, CRC32:0x1B5D77FD +class rMandraCharaMake /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMandraCharaMake::InfoBinary vftable:0x1C675C4, Size:0x10, CRC32:0x50301A90 +class rMandraCharaMake::InfoBinary /*: MtObject*/ { +}; + +// rMandraCharaMake::InfoBinary::CharDataBinary vftable:0x1C675A8, Size:0x34, CRC32:0x600FF333 +class rMandraCharaMake::InfoBinary::CharDataBinary /*: MtObject*/ { +}; + +// rMandraMotCombine vftable:0x1C676D8, Size:0x70, CRC32:0x37A666ED +class rMandraMotCombine /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMandraMotCombine::InfoBinary vftable:0x1C676B8, Size:0x10, CRC32:0x3F39EABE +class rMandraMotCombine::InfoBinary /*: MtObject*/ { +}; + +// rMandraMotCombine::InfoBinary::MotDataBinary vftable:0x1C6769C, Size:0x24, CRC32:0x41527B5E +class rMandraMotCombine::InfoBinary::MotDataBinary /*: MtObject*/ { +}; + +// rMandraReaction vftable:0x1C677D0, Size:0x70, CRC32:0x3993372 +class rMandraReaction /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMandraReaction::InfoBinary vftable:0x1C677B0, Size:0xC, CRC32:0x24EBCE91 +class rMandraReaction::InfoBinary /*: MtObject*/ { +}; + +// rMandraReaction::InfoBinary::MotDataBinary vftable:0x1C67794, Size:0x8, CRC32:0x1D26F0A1 +class rMandraReaction::InfoBinary::MotDataBinary /*: MtObject*/ { +}; + +// rMapSpotData vftable:0x1C67D48, Size:0x70, CRC32:0x71B58247 +class rMapSpotData /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMapSpotData::Data vftable:0x1C67D28, Size:0x30, CRC32:0x44116244 +class rMapSpotData::Data /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + u32 'mMessId' ; // Offset:0x20, Var, CRC32:0x2EBF645D, Flags:0x0 + s32 'mFloorNo' ; // Offset:0x24, Var, CRC32:0x157BBF2B, Flags:0x0 + s32 'mGroupNo' ; // Offset:0x28, Var, CRC32:0xB6F0B4E1, Flags:0x0 + bool 'mFloorCheck' ; // Offset:0x2C, Var, CRC32:0x2F79C6A0, Flags:0x0 +}; + +// rMapSpotStageList vftable:0x1C67DF8, Size:0x70, CRC32:0x531BBE21 +class rMapSpotStageList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMapSpotStageList::Data vftable:0x1C67DDC, Size:0x8, CRC32:0x9253CBC +class rMapSpotStageList::Data /*: MtObject*/ { + s32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 +}; + +// rMaterial vftable:0x20C9958, Size:0x70, CRC32:0x2749C8A8 +class rMaterial /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rModel vftable:0x20C82D0, Size:0x230, CRC32:0x58A15856 +class rModel /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mJointNum' ; // Offset:0x6C, Var, CRC32:0x8792FF62, Flags:0x10000 + u32 'mPrimitiveNum' ; // Offset:0x7C, Var, CRC32:0x3AE2C8D2, Flags:0x10000 + u32 'mMaterialNum' ; // Offset:0x88, Var, CRC32:0xBE8BEA9C, Flags:0x10000 + u32 'mPolygonNum' ; // Offset:0x8C, Var, CRC32:0x56712CF, Flags:0x10000 + u32 'mVertexNum' ; // Offset:0x90, Var, CRC32:0xAE7D406D, Flags:0x10000 + u32 'mIndexNum' ; // Offset:0x94, Var, CRC32:0x2EF26E42, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMotionFilter vftable:0x1C67F00, Size:0x70, CRC32:0x5349C868 +class rMotionFilter /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMotionList vftable:0x20C5B9C, Size:0x70, CRC32:0x76820D81 +class rMotionList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMotionParam vftable:0x1C68000, Size:0x70, CRC32:0x7F99F211 +class rMotionParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMovieOnDisk vftable:0x20CE5B0, Size:0x70, CRC32:0x31F693D6 +class rMovieOnDisk /*: rMovie, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMovieOnDiskInterMediate vftable:0x20CE660, Size:0x70, CRC32:0x71950384 +class rMovieOnDiskInterMediate /*: rMovieOnDisk, rMovie, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMovieOnMemory vftable:0x20CE550, Size:0x70, CRC32:0x5F84F7C4 +class rMovieOnMemory /*: rMovie, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMovieOnMemoryInterMediate vftable:0x20CE608, Size:0x70, CRC32:0x17A69ACE +class rMovieOnMemoryInterMediate /*: rMovieOnMemory, rMovie, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rMsgSet vftable:0x1C68098, Size:0x90, CRC32:0x133917BA +class rMsgSet /*: cResource, MtObject*/ { + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 +}; + +// rMsgSet::cMsgData vftable:0x1C680E0, Size:0x28, CRC32:0x2080AC90 +class rMsgSet::cMsgData /*: MtObject*/ { + u32 'mMsgSerial' ; // Offset:0x4, Var, CRC32:0x1E657548, Flags:0x0 + u32 'mGmdIndex' ; // Offset:0x8, Var, CRC32:0x69169927, Flags:0x0 + u32 'mMsgType' ; // Offset:0xC, Var, CRC32:0x5FE3727C, Flags:0x0 + u32 'mJumpGroupSerial' ; // Offset:0x10, Var, CRC32:0x6E35AEC9, Flags:0x0 + u32 'mDispType' ; // Offset:0x14, Var, CRC32:0x7EEFF028, Flags:0x0 + u32 'mDispTime' ; // Offset:0x18, Var, CRC32:0x9DA53F44, Flags:0x0 + u32 'mSetMotion' ; // Offset:0x1C, Var, CRC32:0xB00F3A60, Flags:0x0 + s32 'mVoiceReqNo' ; // Offset:0x20, Var, CRC32:0xBDC4D9E8, Flags:0x0 + u8 'mTalkFaceType' ; // Offset:0x24, Var, CRC32:0x12B7FEA8, Flags:0x0 +}; + +// rMsgSet::cMsgGroup vftable:0x1C68110, Size:0x2C, CRC32:0x1BFB7BB1 +class rMsgSet::cMsgGroup /*: MtObject*/ { + u32 'mGroupSerial' ; // Offset:0x4, Var, CRC32:0xD100615C, Flags:0x0 + u32 'mGroupType' ; // Offset:0x8, Var, CRC32:0xBE8187D0, Flags:0x0 + u32 'mNpcId' ; // Offset:0xC, Var, CRC32:0x575E2018, Flags:0x0 + u32 'mGroupNameSerial' ; // Offset:0x10, Var, CRC32:0x2EEDCA12, Flags:0x0 + bool 'mNameDispOff' ; // Offset:0x14, Var, CRC32:0x1BA93637, Flags:0x0 + class 'mMsgData' ; // Offset:0x18, Var, CRC32:0x7ECED636, Flags:0x0 +}; + +// rMyRoomActParam vftable:0x1C68298, Size:0x70, CRC32:0x3FBB86CC +class rMyRoomActParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNPCEmoMyRoom vftable:0x1C68960, Size:0x70, CRC32:0x68BA0040 +class rNPCEmoMyRoom /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNPCEmoMyRoom::InfoBinary vftable:0x1C68944, Size:0x14, CRC32:0x7178ECF2 +class rNPCEmoMyRoom::InfoBinary /*: MtObject*/ { +}; + +// rNPCEmoMyRoom::InfoBinary::MotDataBinary vftable:0x1C68928, Size:0xC, CRC32:0x6F10A151 +class rNPCEmoMyRoom::InfoBinary::MotDataBinary /*: MtObject*/ { +}; + +// rNPCMotMyRoom vftable:0x1C69010, Size:0x70, CRC32:0x749E6D11 +class rNPCMotMyRoom /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNPCMotMyRoom::InfoBinary vftable:0x1C68FF4, Size:0x10, CRC32:0x27F1332E +class rNPCMotMyRoom::InfoBinary /*: MtObject*/ { +}; + +// rNPCMotMyRoom::InfoBinary::MotDataBinary vftable:0x1C68FD8, Size:0x18, CRC32:0x6CAE5CA6 +class rNPCMotMyRoom::InfoBinary::MotDataBinary /*: MtObject*/ { +}; + +// rNPCMotionSet vftable:0x1C68F28, Size:0xA8, CRC32:0xE0B53B4 +class rNPCMotionSet /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNPCMotionSet::InfoBinary vftable:0x1C68F08, Size:0x14, CRC32:0x7FB79ADA +class rNPCMotionSet::InfoBinary /*: MtObject*/ { +}; + +// rNPCMotionSet::InfoBinary::MotDataBinary vftable:0x1C68EEC, Size:0x14, CRC32:0x99076CC +class rNPCMotionSet::InfoBinary::MotDataBinary /*: MtObject*/ { +}; + +// rNamedParam vftable:0x1C683A8, Size:0x70, CRC32:0x5B413821 +class rNamedParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNavConnect vftable:0x1C685C4, Size:0x80, CRC32:0x357C803F +class rNavConnect /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mShape' ; // Offset:0x68, Var, CRC32:0x20846519, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNavConnect::Shape vftable:0x1C6859C, Size:0x14, CRC32:0x25348B13 +class rNavConnect::Shape /*: MtObject*/ { + bool 'mbEnable' ; // Offset:0x4, Var, CRC32:0x88D4A497, Flags:0x0 + u32 'mConnectType' ; // Offset:0x8, Var, CRC32:0x5A45E368, Flags:0x0 + classref 'mpZShape' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAB4630, Setter:0xAB4910, CRC32:0x4A9D4987, Flags:0x840000 + s32 'mType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAB4620, Setter:0xAB47D0, CRC32:0x55D79C15, Flags:0x800000 +}; + +// rNavigationMesh vftable:0x20D17F0, Size:0xC0, CRC32:0x4EF19843 +class rNavigationMesh /*: rAIPathBase, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u16 'mNumberOfArea' ; // Offset:0x6C, Var, CRC32:0xE49DA723, Flags:0x0 + u32 'mCoreHeader.magic' ; // Offset:0x78, Var, CRC32:0x67AE71B7, Flags:0x0 + u32 'mCoreHeader.version' ; // Offset:0x7C, Var, CRC32:0xA09285B1, Flags:0x0 + u32 'mCoreHeader.type' ; // Offset:0x80, Var, CRC32:0x402A5998, Flags:0x0 + classref 'mpNodeInfo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x17BBFE0, Setter:0x17BD620, GetCount:0x17BC0F0, Reallocate:0x17BD900 CRC32:0x16EC34B, Flags:0xA00000 + classref 'mpNode'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x150E460, Setter:0x17BD5D0, GetCount:0x1510280, Reallocate:0x17BD7A0 CRC32:0x78C3A70, Flags:0xA00000 + classref 'mpHierarchyArea'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1823CD0, Setter:0x1824CB0, GetCount:0x1510200, Reallocate:0x1824D30 CRC32:0xA48D1483, Flags:0xA00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNavigationMesh::nodeData vftable:0x20D17C0, Size:0x40, CRC32:0x39404C8F +class rNavigationMesh::nodeData /*: MtObject*/ { + s32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 + u32 'mNumberOfAttribute' ; // Offset:0xC, Var, CRC32:0x3A3C2EC1, Flags:0x0 + u32 'mpAttribute'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x150E470, Setter:0x17BD600, GetCount:0x1510230, Reallocate:0x17BD680 CRC32:0x67F36942, Flags:0xA00000 +}; + +// rNavigationMesh::nodeInfo vftable:0x20D17DC, Size:0x30, CRC32:0x5F3A8EBB +class rNavigationMesh::nodeInfo /*: MtObject*/ { + u32 'mNodeOffset' ; // Offset:0x4, Var, CRC32:0x6EDA4F0C, Flags:0x0 + aabb 'mAABB' ; // Offset:0x10, Var, CRC32:0x50126E8A, Flags:0x0 +}; + +// rNpcConstItem vftable:0x1C686D8, Size:0x70, CRC32:0x1D572FED +class rNpcConstItem /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNpcCustomSkill vftable:0x1C687E0, Size:0x70, CRC32:0x4758BA86 +class rNpcCustomSkill /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNpcEditData vftable:0x1C688C0, Size:0xB0, CRC32:0x4A6A1348 +class rNpcEditData /*: cResource, MtObject*/ { + u32 'mEquip'[16] ; // Offset:0x68, Array, CRC32:0xFC75971, Flags:0x200000 + u32 'mItem' ; // Offset:0xA8, Var, CRC32:0xC612EE22, Flags:0x0 +}; + +// rNpcIsNoSetPS3 vftable:0x1C68A88, Size:0x70, CRC32:0x1855D631 +class rNpcIsNoSetPS3 /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNpcIsUseJobParamEx vftable:0x1C68B88, Size:0x70, CRC32:0x59C3614E +class rNpcIsUseJobParamEx /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNpcLedgerList vftable:0x1C68C1C, Size:0x80, CRC32:0x19054795 +class rNpcLedgerList /*: cResource, MtObject*/ { + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 +}; + +// rNpcLedgerList::cItem vftable:0x1C68C78, Size:0x30, CRC32:0x2351725C +class rNpcLedgerList::cItem /*: MtObject*/ { + class 'mInstitutionList' ; // Offset:0x4, Var, CRC32:0xBAD7060E, Flags:0x0 + u32 'mNpcId' ; // Offset:0x18, Var, CRC32:0x575E2018, Flags:0x0 + u32 'mClassNameId' ; // Offset:0x1C, Var, CRC32:0x7FD544BD, Flags:0x0 + u32 'mNameId' ; // Offset:0x20, Var, CRC32:0xF5C64F5D, Flags:0x0 + u32 'mUnitTypeParam' ; // Offset:0x24, Var, CRC32:0x9F77BFF2, Flags:0x0 + u8 'mSex' ; // Offset:0x28, Var, CRC32:0x3F59F938, Flags:0x0 + u8 'mJobId' ; // Offset:0x29, Var, CRC32:0xAB66AB26, Flags:0x0 + u8 'mFinger' ; // Offset:0x2A, Var, CRC32:0xF531238E, Flags:0x0 + u8 'mVoiceType' ; // Offset:0x2B, Var, CRC32:0xFCDB3956, Flags:0x0 + u8 'mUnitType' ; // Offset:0x2C, Var, CRC32:0x5C94782E, Flags:0x0 +}; + +// rNpcLedgerList::cItem::cInstitution vftable:0x1C68CC4, Size:0x20, CRC32:0x54985455 +class rNpcLedgerList::cItem::cInstitution /*: MtObject*/ { + class 'mInstitutionOpenList' ; // Offset:0x4, Var, CRC32:0x47373AAA, Flags:0x0 + u32 'mInstitutionId' ; // Offset:0x18, Var, CRC32:0x5E09118F, Flags:0x0 + u32 'mInstitutionParam' ; // Offset:0x1C, Var, CRC32:0x82D239AB, Flags:0x0 +}; + +// rNpcLedgerList::cItem::cInstitutionOpenData vftable:0x1C68C94, Size:0xC, CRC32:0x977A95F +class rNpcLedgerList::cItem::cInstitutionOpenData /*: MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mFlagNo' ; // Offset:0x8, Var, CRC32:0x70C42D18, Flags:0x0 +}; + +// rNpcMeetingPlace vftable:0x1C68E68, Size:0x70, CRC32:0x52B0AD9A +class rNpcMeetingPlace /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rNulls vftable:0x20D1D3C, Size:0x78, CRC32:0x727C7279 +class rNulls /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'NullsCount' ; // Offset:0x6C, Var, CRC32:0xE2EC5671, Flags:0x10000 + u32 'mType' ; // Offset:0x70, Var, CRC32:0x55D79C15, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rObjCollision vftable:0x1C690BC, Size:0x78, CRC32:0x199C56C0 +class rObjCollision /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpCollIndex' ; // Offset:0x68, Var, CRC32:0xA315CBC9, Flags:0x0 + classref 'mpCollNode' ; // Offset:0x6C, Var, CRC32:0x35DEEF94, Flags:0x0 + classref 'mpAttackParam' ; // Offset:0x70, Var, CRC32:0xBF005EE9, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOccluder vftable:0x20CD970, Size:0x70, CRC32:0x6A5CDD23 +class rOccluder /*: cResource, MtObject*/ { + class 'mpOccluder'[0] ; // Offset:0x7FFFFFFFFFFFFFFF, Array, CRC32:0xE53006BD, Flags:0x210000 + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mOccluderCount' ; // Offset:0x68, Var, CRC32:0x2174ECC3, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOccluder::cQuad vftable:0x20CD94C, Size:0x60, CRC32:0x740641F7 +class rOccluder::cQuad /*: MtObject*/ { + event 'fitting' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x22AF3475, Flags:0xA0000 + vector3 'mQuad[0]' ; // Offset:0x10, Var, CRC32:0xB51D0FCF, Flags:0x0 + vector3 'mQuad[1]' ; // Offset:0x20, Var, CRC32:0xAC063E8E, Flags:0x0 + vector3 'mQuad[2]' ; // Offset:0x30, Var, CRC32:0x872B6D4D, Flags:0x0 + vector3 'mQuad[3]' ; // Offset:0x40, Var, CRC32:0x9E305C0C, Flags:0x0 + bool 'mActive' ; // Offset:0x50, Var, CRC32:0x75825533, Flags:0x0 +}; + +// rOccluderEx vftable:0x1C69114, Size:0x80, CRC32:0x151B711A +class rOccluderEx /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mAreaList' ; // Offset:0x68, Var, CRC32:0x13CFC6FD, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOcdElectricParam vftable:0x1C691F8, Size:0x70, CRC32:0x6FABCC0 +class rOcdElectricParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOcdImmuneParamRes vftable:0x1C6FA70, Size:0x70, CRC32:0x3C987D87 +class rOcdImmuneParamRes /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOcdIrAdj vftable:0x1C697A8, Size:0x70, CRC32:0x575E584A +class rOcdIrAdj /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOcdIrAdjPL vftable:0x1C69890, Size:0x70, CRC32:0x2AF779F8 +class rOcdIrAdjPL /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOcdPriorityParam vftable:0x1C6FB68, Size:0x70, CRC32:0x2C526DA6 +class rOcdPriorityParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOcdStatusParamRes vftable:0x1C6F9A8, Size:0x70, CRC32:0x7F9FE4E7 +class rOcdStatusParamRes /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOmKey vftable:0x1C699B0, Size:0x90, CRC32:0x56A4268B +class rOmKey /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mOmKey' ; // Offset:0x68, Var, CRC32:0xA42496C5, Flags:0x0 + class 'mItem' ; // Offset:0x7C, Var, CRC32:0xC612EE22, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOmKey::cItem vftable:0x1C69974, Size:0xC, CRC32:0x5928B77D +class rOmKey::cItem /*: MtObject*/ { + s32 'mItemIndex' ; // Offset:0x4, Var, CRC32:0x8833F2A1, Flags:0x0 + u32 'mColor' ; // Offset:0x8, Var, CRC32:0x9BE2D228, Flags:0x0 +}; + +// rOmKey::cOmKey vftable:0x1C69958, Size:0x30, CRC32:0x5FEFE0F9 +class rOmKey::cOmKey /*: MtObject*/ { + s32 'mOmID' ; // Offset:0x4, Var, CRC32:0x8B0DDAC3, Flags:0x0 + u32 'mKeyType' ; // Offset:0x8, Var, CRC32:0x366C8F23, Flags:0x0 + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + bool 'mbHorizontal' ; // Offset:0x20, Var, CRC32:0xC5BB1467, Flags:0x0 +}; + +// rOmLoadList vftable:0x1C69B08, Size:0x70, CRC32:0x19C3F119 +class rOmLoadList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOmParam vftable:0x1C700F8, Size:0xA0, CRC32:0x51980BFF +class rOmParam /*: rTable, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOmParamEx vftable:0x1C6A064, Size:0x80, CRC32:0x5726B72C +class rOmParamEx /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mParam' ; // Offset:0x68, Var, CRC32:0x594EE648, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOmParamPart vftable:0x1C6A570, Size:0x70, CRC32:0x52650BA4 +class rOmParamPart /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpParam' ; // Offset:0x68, Var, CRC32:0x20C9A4F5, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOutfitInfo vftable:0x1C6A690, Size:0x70, CRC32:0x4E99C0CB +class rOutfitInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rOutlineParamList vftable:0x1C7067C, Size:0x80, CRC32:0x69A1911 +class rOutlineParamList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mParamList' ; // Offset:0x68, Var, CRC32:0x4A3CDF21, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPCSimpleDebuggerTarget vftable:0x1C6C25C, Size:0xA8, CRC32:0x42951A84 +class rPCSimpleDebuggerTarget /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPackageQuestInfo vftable:0x1C6A768, Size:0x80, CRC32:0x425874E8 +class rPackageQuestInfo /*: cResource, MtObject*/ { + class 'mPackageQuestInfo' ; // Offset:0x68, Var, CRC32:0x138BDE40, Flags:0x0 +}; + +// rPackageQuestInfo::cPackageQuestClientInfo vftable:0x1C6A710, Size:0xC, CRC32:0x7836D9AD +class rPackageQuestInfo::cPackageQuestClientInfo /*: MtObject*/ { + u32 'mNpcId' ; // Offset:0x4, Var, CRC32:0x575E2018, Flags:0x0 + u32 'mClientMessageIdx' ; // Offset:0x8, Var, CRC32:0xAF50565D, Flags:0x0 +}; + +// rPackageQuestInfo::cPackageQuestInfo vftable:0x1C6A740, Size:0x20, CRC32:0x2ED4CE84 +class rPackageQuestInfo::cPackageQuestInfo /*: MtObject*/ { + u32 'mPackageId' ; // Offset:0x4, Var, CRC32:0xA9C9997A, Flags:0x0 + class 'mClientInfo' ; // Offset:0x8, Var, CRC32:0xA29BEABD, Flags:0x0 + u32 'mHisotryMessageIdx' ; // Offset:0x1C, Var, CRC32:0x6F7AF570, Flags:0x0 +}; + +// rParentRegionStatusParam vftable:0x1C74278, Size:0x70, CRC32:0x25F75ACF +class rParentRegionStatusParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPartnerPawnTalk vftable:0x1C6A8B0, Size:0x70, CRC32:0x1484A7FB +class rPartnerPawnTalk /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPartnerPawnTalk::InfoBinary vftable:0x1C6A890, Size:0xC, CRC32:0x4CEF3C99 +class rPartnerPawnTalk::InfoBinary /*: MtObject*/ { +}; + +// rPartnerPawnTalk::InfoBinary::TalkDataBinary vftable:0x1C6A874, Size:0x8, CRC32:0x248EDADA +class rPartnerPawnTalk::InfoBinary::TalkDataBinary /*: MtObject*/ { +}; + +// rPartnerReactParam vftable:0x1C6A9E8, Size:0x70, CRC32:0x875D1C5 +class rPartnerReactParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPartsCtrlTable vftable:0x1C70838, Size:0x70, CRC32:0x5362A636 +class rPartsCtrlTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPawnAIAction vftable:0x1C70E28, Size:0x70, CRC32:0x42307D4F +class rPawnAIAction /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPawnQuestTalk vftable:0x1C6AAB4, Size:0x80, CRC32:0x40AEA00F +class rPawnQuestTalk /*: cResource, MtObject*/ { + class 'mTalkDataList' ; // Offset:0x68, Var, CRC32:0x73D7C207, Flags:0x0 +}; + +// rPawnQuestTalk::cTalkData vftable:0x1C6AAFC, Size:0xC, CRC32:0x2E5D69DD +class rPawnQuestTalk::cTalkData /*: MtObject*/ { + u32 'mGroupSerial' ; // Offset:0x4, Var, CRC32:0xD100615C, Flags:0x0 + u8 'mResType' ; // Offset:0x9, Var, CRC32:0x8E9A4E9F, Flags:0x0 + u8 'mParsonality' ; // Offset:0xA, Var, CRC32:0x37E85A99, Flags:0x0 + u8 'mMsgType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xABF8A0, Setter:0xABFBD0, CRC32:0x5FE3727C, Flags:0x800000 +}; + +// rPawnSpSkillCategoryUI vftable:0x1C6B0F0, Size:0x70, CRC32:0x5C82A29C +class rPawnSpSkillCategoryUI /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPawnSpSkillLevelUI vftable:0x1C6B680, Size:0x70, CRC32:0x25A425FF +class rPawnSpSkillLevelUI /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPawnThinkControl vftable:0x1C6BBF0, Size:0x70, CRC32:0x1001DC34 +class rPawnThinkControl /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPawnThinkControl::InfoBinary vftable:0x1C6BBD4, Size:0x14, CRC32:0x6E1C3D06 +class rPawnThinkControl::InfoBinary /*: MtObject*/ { +}; + +// rPawnThinkControl::InfoBinary::SkillListBinary vftable:0x1C6BBB8, Size:0x8, CRC32:0x8700806 +class rPawnThinkControl::InfoBinary::SkillListBinary /*: MtObject*/ { +}; + +// rPawnThinkLevelUp vftable:0x1C6C198, Size:0x70, CRC32:0x58F76F4E +class rPawnThinkLevelUp /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPawnThinkLevelUp::InfoBinary vftable:0x1C6C17C, Size:0x10, CRC32:0x7845119F +class rPawnThinkLevelUp::InfoBinary /*: MtObject*/ { +}; + +// rPawnThinkLevelUp::InfoBinary::ReleaseElementListBinary vftable:0x1C6C160, Size:0x8, CRC32:0x62C0A2B6 +class rPawnThinkLevelUp::InfoBinary::ReleaseElementListBinary /*: MtObject*/ { +}; + +// rPhoteNGItem vftable:0x1C6C300, Size:0x70, CRC32:0x4577B77F +class rPhoteNGItem /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPhoteNGItem::InfoBinary vftable:0x1C6C2E0, Size:0x10, CRC32:0x1F8ACE62 +class rPhoteNGItem::InfoBinary /*: MtObject*/ { +}; + +// rPhoteNGItem::InfoBinary::ItemDataBinary vftable:0x1C6C2C4, Size:0x8, CRC32:0x2CD127DB +class rPhoteNGItem::InfoBinary::ItemDataBinary /*: MtObject*/ { +}; + +// rPlPartsInfo vftable:0x1C718E8, Size:0x70, CRC32:0xEE4ABCD +class rPlPartsInfo /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPlanetariumItem vftable:0x1C60A38, Size:0x70, CRC32:0x30770B3D +class rPlanetariumItem /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPlantTree vftable:0x1C713B0, Size:0x70, CRC32:0x3EFA7724 +class rPlantTree /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPlantTree::Tree vftable:0x1C71394, Size:0x10, CRC32:0x68D9EFB4 +class rPlantTree::Tree /*: MtObject*/ { +}; + +// rPlantTree::Tree::Point vftable:0x1C71378, Size:0x40, CRC32:0x50EBF5CA +class rPlantTree::Tree::Point /*: MtObject*/ { + vector3 'mPosition' ; // Offset:0x10, Var, CRC32:0x6EA2D468, Flags:0x0 + vector3 'mAngle' ; // Offset:0x20, Var, CRC32:0xFD35DFC8, Flags:0x0 + vector3 'mScale' ; // Offset:0x30, Var, CRC32:0x11F2BF45, Flags:0x0 +}; + +// rPriorityThink vftable:0x1C71EE8, Size:0x70, CRC32:0x1F296EC9 +class rPriorityThink /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPrologueHmStatus vftable:0x1C6C428, Size:0x70, CRC32:0x56D164D4 +class rPrologueHmStatus /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rPushRate vftable:0x1C73B30, Size:0x70, CRC32:0x56BB00B0 +class rPushRate /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rQuestHistoryData vftable:0x1C6C528, Size:0x70, CRC32:0x3E6000F2 +class rQuestHistoryData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rQuestList vftable:0x1C6CAF8, Size:0x80, CRC32:0x7284DAF5 +class rQuestList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mQuestStage' ; // Offset:0x6C, Var, CRC32:0xF37D9E0E, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rQuestMarkerInfo vftable:0x1C73BE8, Size:0x80, CRC32:0x4A93202C +class rQuestMarkerInfo /*: cResource, MtObject*/ { + u32 'mStageNo' ; // Offset:0x68, Var, CRC32:0xACF5AFCF, Flags:0x0 + class 'mInfoList' ; // Offset:0x6C, Var, CRC32:0x59F0E73D, Flags:0x0 +}; + +// rQuestMarkerInfo::cInfo vftable:0x1C73C30, Size:0x20, CRC32:0x3D789743 +class rQuestMarkerInfo::cInfo /*: MtObject*/ { + u32 'mGroupNo' ; // Offset:0x4, Var, CRC32:0xB6F0B4E1, Flags:0x0 + u32 'mUniqueId' ; // Offset:0x8, Var, CRC32:0xE045D83D, Flags:0x0 + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 +}; + +// rQuestSequenceList vftable:0x1C6CC20, Size:0x70, CRC32:0x317BA376 +class rQuestSequenceList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rQuestTextData vftable:0x1C6CCC0, Size:0x80, CRC32:0x1346AB64 +class rQuestTextData /*: cResource, MtObject*/ { + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 +}; + +// rQuestTextData::cTextData vftable:0x1C6CD08, Size:0xC, CRC32:0x71B7304D +class rQuestTextData::cTextData /*: MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mMsgGmdIdx' ; // Offset:0x8, Var, CRC32:0x9CC0109F, Flags:0x0 +}; + +// rRagdoll vftable:0x20CA09C, Size:0xE0, CRC32:0x52DBDCD6 +class rRagdoll /*: rRigidBody, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRageTable vftable:0x1BEDA50, Size:0x70, CRC32:0x49CEB024 +class rRageTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rReaction vftable:0x1C6CE20, Size:0x70, CRC32:0x7F20BACA +class rReaction /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRecommendDragonSkill vftable:0x1C6CF58, Size:0x70, CRC32:0x4AEFAF35 +class rRecommendDragonSkill /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRegionBreakInfo vftable:0x1C6D058, Size:0x70, CRC32:0xFB04F6D +class rRegionBreakInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRegionStatusCtrlTable vftable:0x1C73CB0, Size:0xA0, CRC32:0x6F3AEE3E +class rRegionStatusCtrlTable /*: rTable, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRenderTargetTexture vftable:0x20CB9AC, Size:0xF0, CRC32:0x7808EA10 +class rRenderTargetTexture /*: rTexture, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTexture' ; // Offset:0xD4, Var, CRC32:0xC83DF7A2, Flags:0x130000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rReplaceWardGmdList vftable:0x1C6D160, Size:0x70, CRC32:0xC151DD8 +class rReplaceWardGmdList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRigidBody vftable:0x20C9FEC, Size:0xB0, CRC32:0x2A4F96A8 +class rRigidBody /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rRoomWearParam vftable:0x1C6D6F0, Size:0x70, CRC32:0x376AA0C6 +class rRoomWearParam /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rScenario vftable:0x1C760D8, Size:0x80, CRC32:0x65B275E5 +class rScenario /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSceneTexture vftable:0x20CF134, Size:0x118, CRC32:0x4323D83A +class rSceneTexture /*: rTexture, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTexture' ; // Offset:0xD4, Var, CRC32:0xC83DF7A2, Flags:0x130000 + s32 'mHDR' ; // Offset:0xF0, Var, CRC32:0x780E699C, Flags:0x10000 + s32 'mAntiAlias' ; // Offset:0xF4, Var, CRC32:0xE5B7A4A3, Flags:0x10000 + u32 'mAttributes' ; // Offset:0xF8, Var, CRC32:0x927460FA, Flags:0x10000 + u32 'mWidth' ; // Offset:0xFC, Var, CRC32:0x71AEDFEE, Flags:0x10000 + u32 'mHeight' ; // Offset:0x100, Var, CRC32:0xCBD14C3E, Flags:0x10000 + f32 'mWidthRate' ; // Offset:0x104, Var, CRC32:0xF969DBD0, Flags:0x10000 + f32 'mHeightRate' ; // Offset:0x108, Var, CRC32:0xA37B5B4B, Flags:0x10000 + color 'mClearColor' ; // Offset:0x110, Var, CRC32:0x52778E8B, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rScheduler vftable:0x20C1EC0, Size:0x70, CRC32:0x4C0DB839 +class rScheduler /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShader2 vftable:0x20CC8F4, Size:0x78, CRC32:0x9E6B5F0 +class rShader2 /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShaderCache vftable:0x20D608C, Size:0x70, CRC32:0x294E9E8A +class rShaderCache /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShaderPackage vftable:0x20D54B4, Size:0x98, CRC32:0x2358E1A +class rShaderPackage /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u16 'ShaderNum' ; // Offset:0x72, Var, CRC32:0x64288747, Flags:0x10000 + u16 'VertexShaderNum' ; // Offset:0x74, Var, CRC32:0xC816CDD8, Flags:0x10000 + u16 'PixelShaderNum' ; // Offset:0x76, Var, CRC32:0x35E9D88B, Flags:0x10000 + u16 'GeometryShaderNum' ; // Offset:0x78, Var, CRC32:0xC011C4D0, Flags:0x10000 + u16 'InputLayoutNum' ; // Offset:0x7A, Var, CRC32:0xBB61269, Flags:0x10000 + u32 'ShaderTableNum' ; // Offset:0x7C, Var, CRC32:0x695B392A, Flags:0x10000 + u32 'BodySize' ; // Offset:0x84, Var, CRC32:0x9D8A42B0, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShakeCtrl vftable:0x1C6D888, Size:0x80, CRC32:0x3B6C453C +class rShakeCtrl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShlLimit vftable:0x1C6D988, Size:0x70, CRC32:0x231009FD +class rShlLimit /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShlParamList vftable:0x1C749CC, Size:0x88, CRC32:0x325AACA5 +class rShlParamList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mParamList' ; // Offset:0x68, Var, CRC32:0x4A3CDF21, Flags:0x0 + string 'mCmnEpvPath' ; // Offset:0x7C, Var, CRC32:0xF35944A8, Flags:0x0 + string 'mCmnSePath' ; // Offset:0x80, Var, CRC32:0x1EFEDC10, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShopGoods vftable:0x1C74AC0, Size:0xA0, CRC32:0x52445468 +class rShopGoods /*: rTable, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShotReqInfo vftable:0x1C74C78, Size:0x70, CRC32:0x26C9E638 +class rShotReqInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShotReqInfo2 vftable:0x1C6DB78, Size:0x70, CRC32:0x607320F8 +class rShotReqInfo2 /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rShrinkBlowValue vftable:0x1C4EFE0, Size:0x70, CRC32:0x2979FF46 +class rShrinkBlowValue /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSimpleCom::cChatComCtgr vftable:0x1C6DD24, Size:0x20, CRC32:0x61148BAA +class rSimpleCom::cChatComCtgr /*: cUIObject, MtObject*/ { +}; + +// rSimpleCom::cChatComData vftable:0x1C6DC28, Size:0x24, CRC32:0x37FD2C4 +class rSimpleCom::cChatComData /*: cUIResource, MtObject*/ { +}; + +// rSimpleCom::cChatTextData vftable:0x1C6DBF8, Size:0x8, CRC32:0x3C3FBCE4 +class rSimpleCom::cChatTextData /*: cUIResource, MtObject*/ { +}; + +// rSimpleCom::rChatComData vftable:0x1C6DCA8, Size:0x70, CRC32:0x14C27357 +class rSimpleCom::rChatComData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSitePack vftable:0x1CA13E8, Size:0x78, CRC32:0x55ED64FA +class rSitePack /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + custom 'mprLMT' ; // Offset:0x68, Var, CRC32:0x92E21A01, Flags:0x0 + custom 'mprEPV' ; // Offset:0x6C, Var, CRC32:0x8C512CBE, Flags:0x0 + custom 'mprSRQR' ; // Offset:0x70, Var, CRC32:0x9087B595, Flags:0x0 + custom 'mprMSER' ; // Offset:0x74, Var, CRC32:0xF2D285B, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSituationMsgCtrl vftable:0x1C6DDC8, Size:0x80, CRC32:0x11349EA6 +class rSituationMsgCtrl /*: cResource, MtObject*/ { + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 +}; + +// rSituationMsgCtrl::cSituationData vftable:0x1C6DE10, Size:0x20, CRC32:0xBD20623 +class rSituationMsgCtrl::cSituationData /*: MtObject*/ { + u32 'mGroupSerial' ; // Offset:0x4, Var, CRC32:0xD100615C, Flags:0x0 + u32 'mStartQuestId' ; // Offset:0x8, Var, CRC32:0xBAA9A918, Flags:0x0 + bool 'mIsStartQuestIdStart' ; // Offset:0xC, Var, CRC32:0x65B4BA93, Flags:0x0 + u32 'mEndQuestId' ; // Offset:0x10, Var, CRC32:0x7922B500, Flags:0x0 + bool 'mIsEndQuestIdStart' ; // Offset:0x14, Var, CRC32:0x1297C9B0, Flags:0x0 + u32 'mRangeStartQuestFlag' ; // Offset:0x18, Var, CRC32:0x8E95011A, Flags:0x0 + u32 'mRangeEndQuestFlag' ; // Offset:0x1C, Var, CRC32:0x2B1884EC, Flags:0x0 +}; + +// rSky vftable:0x20CD564, Size:0x170, CRC32:0x5EA7A3E9 +class rSky /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSndPitchLimit vftable:0x1C6DF58, Size:0x70, CRC32:0x77293528 +class rSndPitchLimit /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundAreaInfo vftable:0x1C74D54, Size:0x178, CRC32:0x2243C1DC +class rSoundAreaInfo /*: cResource, MtObject*/ { + s32 'mStageNo' ; // Offset:0x68, Var, CRC32:0xACF5AFCF, Flags:0x0 + s32 'mAreaNo' ; // Offset:0x6C, Var, CRC32:0x39FEDFA6, Flags:0x0 + bool 'mIsAmb' ; // Offset:0x70, Var, CRC32:0xD48985FB, Flags:0x0 + u32 'NoramlBgm' ; // Offset:0x74, Var, CRC32:0xC4C1DE42, Flags:0x0 + u32 'DayBgm' ; // Offset:0x78, Var, CRC32:0x2301EE6, Flags:0x0 + u32 'NightBgm' ; // Offset:0x7C, Var, CRC32:0x8AAB74F1, Flags:0x0 + bool 'mIsSecond' ; // Offset:0x80, Var, CRC32:0x5FF92B2E, Flags:0x0 + bool 'mIsAmb2' ; // Offset:0x81, Var, CRC32:0xE26CF391, Flags:0x0 + u32 'NoramlBgm2' ; // Offset:0x84, Var, CRC32:0x50C1B0E2, Flags:0x0 + u32 'DayBgm2' ; // Offset:0x88, Var, CRC32:0x81BC26D3, Flags:0x0 + u32 'NightBgm2' ; // Offset:0x8C, Var, CRC32:0x2E7387E, Flags:0x0 + u32 'CycleBgm' ; // Offset:0x90, Var, CRC32:0xF0C429C2, Flags:0x0 + u32 '퓬' ; // Offset:0x94, Var, CRC32:0x47CDB4AE, Flags:0x0 + u32 'AEg' ; // Offset:0x98, Var, CRC32:0x9CF19D48, Flags:0x0 + bool 'mIsCycle' ; // Offset:0x9C, Var, CRC32:0x3A73D3B3, Flags:0x0 + f32 'EqLength'[4] ; // Offset:0xA0, Array, CRC32:0x6AC0DA7, Flags:0x200000 + custom 'SndZoneOcclusion' ; // Offset:0xB0, Var, CRC32:0x49601C3E, Flags:0x0 + custom 'SndZoneGenerator' ; // Offset:0xB4, Var, CRC32:0x3AC0A8C1, Flags:0x0 + custom 'SndZoneTrigger' ; // Offset:0xB8, Var, CRC32:0x54822EEC, Flags:0x0 + custom 'SndZoneOcclusionPS3' ; // Offset:0xBC, Var, CRC32:0xC7CAB5E7, Flags:0x0 + custom 'SndZoneGeneratorPS3' ; // Offset:0xC0, Var, CRC32:0x2F2D492D, Flags:0x0 + custom 'SndZoneTriggerPS3' ; // Offset:0xC4, Var, CRC32:0xEAB38381, Flags:0x0 + bool 'IsSoil' ; // Offset:0xC8, Var, CRC32:0xB2104E2B, Flags:0x0 + bool 'IsSand' ; // Offset:0xC9, Var, CRC32:0xF9147DD4, Flags:0x0 + bool 'IsBog' ; // Offset:0xCA, Var, CRC32:0x5719E795, Flags:0x0 + bool 'IsStone' ; // Offset:0xCB, Var, CRC32:0x2075B277, Flags:0x0 + bool 'IsWood' ; // Offset:0xCC, Var, CRC32:0x65F3F6C8, Flags:0x0 + bool 'IsIron' ; // Offset:0xCD, Var, CRC32:0x211E0F59, Flags:0x0 + bool 'IsGrass' ; // Offset:0xCE, Var, CRC32:0x915828AE, Flags:0x0 + bool 'IsCloth' ; // Offset:0xCF, Var, CRC32:0x1BA4DCE3, Flags:0x0 + bool 'IsTree' ; // Offset:0xD0, Var, CRC32:0xEE50B119, Flags:0x0 + bool 'IsCarpe' ; // Offset:0xD1, Var, CRC32:0xE7ED8DA4, Flags:0x0 + bool 'IsRock' ; // Offset:0xD2, Var, CRC32:0x6E275467, Flags:0x0 + bool 'IsDeadLeaf' ; // Offset:0xD3, Var, CRC32:0x2B5E9611, Flags:0x0 + bool 'IsBone' ; // Offset:0xD4, Var, CRC32:0x6C2850B2, Flags:0x0 + bool 'IsGrave' ; // Offset:0xD5, Var, CRC32:0x18FB69BA, Flags:0x0 + bool 'IsMud' ; // Offset:0xD6, Var, CRC32:0x75610BC9, Flags:0x0 + bool 'IsWater' ; // Offset:0xD7, Var, CRC32:0xC266A387, Flags:0x0 + bool 'IsStraw' ; // Offset:0xD8, Var, CRC32:0x40AAEFD3, Flags:0x0 + bool 'IsRoofTile' ; // Offset:0xD9, Var, CRC32:0xC5206A00, Flags:0x0 + bool 'IsMagicSpa' ; // Offset:0xDA, Var, CRC32:0xFB9D1E7C, Flags:0x0 + bool 'IsPoisonBog' ; // Offset:0xDB, Var, CRC32:0x4E34684B, Flags:0x0 + bool 'IsTar' ; // Offset:0xDC, Var, CRC32:0xBCECF132, Flags:0x0 + bool 'IsDeepBog' ; // Offset:0xDD, Var, CRC32:0xD9258561, Flags:0x0 + bool 'IsDeepWater' ; // Offset:0xDE, Var, CRC32:0x110A0976, Flags:0x0 + bool 'IsDeepMagicSpa' ; // Offset:0xDF, Var, CRC32:0x5F777E58, Flags:0x0 + bool 'IsDeepPoisonBog' ; // Offset:0xE0, Var, CRC32:0x729366FA, Flags:0x0 + bool 'IsDeepTar' ; // Offset:0xE1, Var, CRC32:0x32D093C6, Flags:0x0 + bool 'IsExtra01' ; // Offset:0xE2, Var, CRC32:0xB2B3A4CA, Flags:0x0 + bool 'IsExtra02' ; // Offset:0xE3, Var, CRC32:0x2BBAF570, Flags:0x0 + bool 'IsExtra03' ; // Offset:0xE4, Var, CRC32:0x5CBDC5E6, Flags:0x0 + bool 'IsExtra04' ; // Offset:0xE5, Var, CRC32:0xC2D95045, Flags:0x0 + bool 'IsExtra05' ; // Offset:0xE6, Var, CRC32:0xB5DE60D3, Flags:0x0 + bool 'IsExtra06' ; // Offset:0xE7, Var, CRC32:0x2CD73169, Flags:0x0 + custom 'SoilRes' ; // Offset:0xE8, Var, CRC32:0xD2607619, Flags:0x0 + custom 'SandRes' ; // Offset:0xEC, Var, CRC32:0x9FFEE396, Flags:0x0 + custom 'BogRes' ; // Offset:0xF0, Var, CRC32:0xF809FA7, Flags:0x0 + custom 'StoneRes' ; // Offset:0xF4, Var, CRC32:0x34B516A3, Flags:0x0 + custom 'WoodRes' ; // Offset:0xF8, Var, CRC32:0x6CDB8F45, Flags:0x0 + custom 'IronRes' ; // Offset:0xFC, Var, CRC32:0x8BCF99F7, Flags:0x0 + custom 'GrassRes' ; // Offset:0x100, Var, CRC32:0x789C2648, Flags:0x0 + custom 'ClothRes' ; // Offset:0x104, Var, CRC32:0xC405A2DF, Flags:0x0 + custom 'TreeRes' ; // Offset:0x108, Var, CRC32:0x1077FB59, Flags:0x0 + custom 'CarpeRes' ; // Offset:0x10C, Var, CRC32:0x1D70AC47, Flags:0x0 + custom 'RockRes' ; // Offset:0x110, Var, CRC32:0xA3705DB5, Flags:0x0 + custom 'DeadLeafRes' ; // Offset:0x114, Var, CRC32:0x5ADE290, Flags:0x0 + custom 'BoneRes' ; // Offset:0x118, Var, CRC32:0xDCE172F9, Flags:0x0 + custom 'GraveRes' ; // Offset:0x11C, Var, CRC32:0xC50EA17B, Flags:0x0 + custom 'MudRes' ; // Offset:0x120, Var, CRC32:0xC6330DBF, Flags:0x0 + custom 'WaterRes' ; // Offset:0x124, Var, CRC32:0x5616075F, Flags:0x0 + custom 'StrawRes' ; // Offset:0x128, Var, CRC32:0xF3BD0F23, Flags:0x0 + custom 'RoofTileRes' ; // Offset:0x12C, Var, CRC32:0x17FDD9B3, Flags:0x0 + custom 'MagicSpaRes' ; // Offset:0x130, Var, CRC32:0xB4953B7A, Flags:0x0 + custom 'PoisonBogRes' ; // Offset:0x134, Var, CRC32:0xC5E959C, Flags:0x0 + custom 'TarRes' ; // Offset:0x138, Var, CRC32:0x2F867ED, Flags:0x0 + custom 'DeepBogRes' ; // Offset:0x13C, Var, CRC32:0xA80E4BB7, Flags:0x0 + custom 'DeepWaterRes' ; // Offset:0x140, Var, CRC32:0x9D6AA44D, Flags:0x0 + custom 'DeepMagicSpaRes' ; // Offset:0x144, Var, CRC32:0x77AE9E92, Flags:0x0 + custom 'DeepPoisonBogRes' ; // Offset:0x148, Var, CRC32:0xA24CC473, Flags:0x0 + custom 'DeepTarRes' ; // Offset:0x14C, Var, CRC32:0xA576B3FD, Flags:0x0 + custom 'Extra01Res' ; // Offset:0x150, Var, CRC32:0xE8D0DACF, Flags:0x0 + custom 'Extra02Res' ; // Offset:0x154, Var, CRC32:0xFA657521, Flags:0x0 + custom 'Extra03Res' ; // Offset:0x158, Var, CRC32:0x42D91244, Flags:0x0 + custom 'Extra04Res' ; // Offset:0x15C, Var, CRC32:0xDF0E2AFD, Flags:0x0 + custom 'Extra05Res' ; // Offset:0x160, Var, CRC32:0x67B24D98, Flags:0x0 + custom 'Extra06Res' ; // Offset:0x164, Var, CRC32:0x7507E276, Flags:0x0 + custom 'AmbientRes' ; // Offset:0x168, Var, CRC32:0x681916A0, Flags:0x0 + custom 'BgmStqr' ; // Offset:0x16C, Var, CRC32:0xC73BF0A8, Flags:0x0 + custom 'CycleBgmStqr' ; // Offset:0x170, Var, CRC32:0xFB9C83D3, Flags:0x0 + custom 'BattleBgmStqr' ; // Offset:0x174, Var, CRC32:0xA800B52F, Flags:0x0 +}; + +// rSoundAttributeSe vftable:0x1C76190, Size:0x70, CRC32:0x7437CCE +class rSoundAttributeSe /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + s32 'mAttributeSeDataNum' ; // Offset:0x68, Var, CRC32:0x23F938DC, Flags:0x0 + classref 'mpAttributeSeData'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAFA610, Setter:0xAFA9B0, GetCount:0xAFA640, Reallocate:0xAF9970 CRC32:0xF8B4DB92, Flags:0x4A00000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundAttributeSe::cSoundAttributeSeData vftable:0x1C76178, Size:0x8C, CRC32:0x1398B9F2 +class rSoundAttributeSe::cSoundAttributeSeData /*: MtObject*/ { + u32 'ReqType' ; // Offset:0x4, Var, CRC32:0x47FAA882, Flags:0x0 + u32 'SeReqID_00' ; // Offset:0x8, Var, CRC32:0x89BBBD34, Flags:0x0 + u32 'SeReqID_01' ; // Offset:0xC, Var, CRC32:0xFEBC8DA2, Flags:0x0 + u32 'SeReqID_02' ; // Offset:0x10, Var, CRC32:0x67B5DC18, Flags:0x0 + u32 'SeReqID_03' ; // Offset:0x14, Var, CRC32:0x10B2EC8E, Flags:0x0 + u32 'SeReqID_04' ; // Offset:0x18, Var, CRC32:0x8ED6792D, Flags:0x0 + u32 'SeReqID_05' ; // Offset:0x1C, Var, CRC32:0xF9D149BB, Flags:0x0 + u32 'SeReqID_06' ; // Offset:0x20, Var, CRC32:0x60D81801, Flags:0x0 + u32 'SeReqID_07' ; // Offset:0x24, Var, CRC32:0x17DF2897, Flags:0x0 + u32 'SeReqID_08' ; // Offset:0x28, Var, CRC32:0x87603506, Flags:0x0 + u32 'SeReqID_09' ; // Offset:0x2C, Var, CRC32:0xF0670590, Flags:0x0 + u32 'SeReqID_10' ; // Offset:0x30, Var, CRC32:0x90A08C75, Flags:0x0 + u32 'SeReqID_11' ; // Offset:0x34, Var, CRC32:0xE7A7BCE3, Flags:0x0 + u32 'SeReqID_12' ; // Offset:0x38, Var, CRC32:0x7EAEED59, Flags:0x0 + u32 'SeReqID_13' ; // Offset:0x3C, Var, CRC32:0x9A9DDCF, Flags:0x0 + u32 'SeReqID_14' ; // Offset:0x40, Var, CRC32:0x97CD486C, Flags:0x0 + u32 'SeReqID_15' ; // Offset:0x44, Var, CRC32:0xE0CA78FA, Flags:0x0 + u32 'SeReqID_16' ; // Offset:0x48, Var, CRC32:0x79C32940, Flags:0x0 + u32 'SeReqID_17' ; // Offset:0x4C, Var, CRC32:0xEC419D6, Flags:0x0 + u32 'SeReqID_18' ; // Offset:0x50, Var, CRC32:0x9E7B0447, Flags:0x0 + u32 'SeReqID_19' ; // Offset:0x54, Var, CRC32:0xE97C34D1, Flags:0x0 + u32 'SeReqID_20' ; // Offset:0x58, Var, CRC32:0xBB8DDFB6, Flags:0x0 + u32 'SeReqID_21' ; // Offset:0x5C, Var, CRC32:0xCC8AEF20, Flags:0x0 + u32 'SeReqID_22' ; // Offset:0x60, Var, CRC32:0x5583BE9A, Flags:0x0 + u32 'SeReqID_23' ; // Offset:0x64, Var, CRC32:0x22848E0C, Flags:0x0 + u32 'SeReqID_24' ; // Offset:0x68, Var, CRC32:0xBCE01BAF, Flags:0x0 + u32 'SeReqID_25' ; // Offset:0x6C, Var, CRC32:0xCBE72B39, Flags:0x0 + u32 'SeReqID_26' ; // Offset:0x70, Var, CRC32:0x52EE7A83, Flags:0x0 + u32 'SeReqID_27' ; // Offset:0x74, Var, CRC32:0x25E94A15, Flags:0x0 + u32 'SeReqID_28' ; // Offset:0x78, Var, CRC32:0xB5565784, Flags:0x0 + u32 'SeReqID_29' ; // Offset:0x7C, Var, CRC32:0xC2516712, Flags:0x0 + u32 'SeReqID_30' ; // Offset:0x80, Var, CRC32:0xA296EEF7, Flags:0x0 + u32 'SeReqID_31' ; // Offset:0x84, Var, CRC32:0xD591DE61, Flags:0x0 + bool 'UseFindIntersect' ; // Offset:0x88, Var, CRC32:0x9654A4C1, Flags:0x0 +}; + +// rSoundBank vftable:0x20CC568, Size:0x80, CRC32:0x15D782FB +class rSoundBank /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundBossBgm vftable:0x1C75664, Size:0x70, CRC32:0x75E5D582 +class rSoundBossBgm /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundBossBgm::cSoundBossBgm vftable:0x1C75648, Size:0x18, CRC32:0x17F48F2E +class rSoundBossBgm::cSoundBossBgm /*: MtObject*/ { + u32 'mEnemyId' ; // Offset:0x4, Var, CRC32:0x5D247439, Flags:0x0 + u32 'mBgmNo' ; // Offset:0x8, Var, CRC32:0x8D6DC07A, Flags:0x0 +}; + +// rSoundCurveSet vftable:0x20D29B4, Size:0x88, CRC32:0xECD7DF4 +class rSoundCurveSet /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundCurveXml vftable:0x20CC23C, Size:0x90, CRC32:0x592D804B +class rSoundCurveXml /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mCurve' ; // Offset:0x68, Var, CRC32:0xAA2DC776, Flags:0x0 + bool 'mEnable' ; // Offset:0x8C, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundCurveXml::Curve vftable:0x20CC220, Size:0x24, CRC32:0x2E60C5BF +class rSoundCurveXml::Curve /*: MtObject*/ { + f32 'mMaxDistance' ; // Offset:0x4, Var, CRC32:0xDA9329A3, Flags:0x0 + f32 'mElements[0].zeroDistValue' ; // Offset:0x8, Var, CRC32:0x946BAC9F, Flags:0x0 + f32 'mElements[0].maxDistValue' ; // Offset:0xC, Var, CRC32:0x3402F246, Flags:0x0 + class 'mElements[0].points' ; // Offset:0x10, Var, CRC32:0x2809FAD7, Flags:0x0 +}; + +// rSoundCurveXml::Element vftable:0x20CC1F0, Size:0xC, CRC32:0x3694A441 +class rSoundCurveXml::Element /*: MtObject*/ { + f32 'mDistance' ; // Offset:0x4, Var, CRC32:0x341CAA1C, Flags:0x0 + f32 'mValue' ; // Offset:0x8, Var, CRC32:0xE0C3C2F5, Flags:0x0 +}; + +// rSoundDirectionalCurveXml vftable:0x20CC3B8, Size:0x80, CRC32:0x3A96D8A0 +class rSoundDirectionalCurveXml /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mCurves' ; // Offset:0x68, Var, CRC32:0x70C0D948, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundDirectionalCurveXml::Curve vftable:0x20CC388, Size:0x24, CRC32:0x6CC76A1B +class rSoundDirectionalCurveXml::Curve /*: MtObject*/ { + class 'mElements' ; // Offset:0x4, Var, CRC32:0x6CC437C0, Flags:0x0 + f32 'mZeroRadianValue' ; // Offset:0x18, Var, CRC32:0x97BEF067, Flags:0x0 + f32 'mPiRadianValue' ; // Offset:0x1C, Var, CRC32:0x7C65D167, Flags:0x0 + bool 'mEnable' ; // Offset:0x20, Var, CRC32:0xCD3C6103, Flags:0x0 +}; + +// rSoundDirectionalCurveXml::Element vftable:0x20CC358, Size:0xC, CRC32:0x3A962172 +class rSoundDirectionalCurveXml::Element /*: MtObject*/ { + f32 'mAngle' ; // Offset:0x4, Var, CRC32:0xFD35DFC8, Flags:0x0 + f32 'mValue' ; // Offset:0x8, Var, CRC32:0xE0C3C2F5, Flags:0x0 +}; + +// rSoundDirectionalSet vftable:0x20CC4E0, Size:0x88, CRC32:0x315E81F +class rSoundDirectionalSet /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundEQ vftable:0x20D2A68, Size:0x90, CRC32:0x2B40AE8F +class rSoundEQ /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundEQ::cEQData vftable:0x20D2A3C, Size:0x48, CRC32:0x52D40310 +class rSoundEQ::cEQData /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mCategory' ; // Offset:0x8, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mEnable' ; // Offset:0xC, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mLowType' ; // Offset:0x10, Var, CRC32:0xED602CAA, Flags:0x0 + u32 'mHighType' ; // Offset:0x14, Var, CRC32:0xE19779A9, Flags:0x0 + f32 'mLowFreq' ; // Offset:0x18, Var, CRC32:0x364A6E36, Flags:0x0 + f32 'mLowGain' ; // Offset:0x1C, Var, CRC32:0xB12B5683, Flags:0x0 + f32 'mLowQ' ; // Offset:0x20, Var, CRC32:0xB6245ED5, Flags:0x0 + f32 'mMidLowFreq' ; // Offset:0x24, Var, CRC32:0x27647B48, Flags:0x0 + f32 'mMidLowGain' ; // Offset:0x28, Var, CRC32:0xA00543FD, Flags:0x0 + f32 'mMidLowQ' ; // Offset:0x2C, Var, CRC32:0x59FDEB91, Flags:0x0 + f32 'mMidHighFreq' ; // Offset:0x30, Var, CRC32:0x8D11491B, Flags:0x0 + f32 'mMidHighGain' ; // Offset:0x34, Var, CRC32:0xA7071AE, Flags:0x0 + f32 'mMidHighQ' ; // Offset:0x38, Var, CRC32:0x5974E88D, Flags:0x0 + f32 'mHighFreq' ; // Offset:0x3C, Var, CRC32:0x3ABD3B35, Flags:0x0 + f32 'mHighGain' ; // Offset:0x40, Var, CRC32:0xBDDC0380, Flags:0x0 + f32 'mHighQ' ; // Offset:0x44, Var, CRC32:0x282AB4B1, Flags:0x0 +}; + +// rSoundHitInfo vftable:0x1C756FC, Size:0x78, CRC32:0x6C3842ED +class rSoundHitInfo /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundHitInfo::cSoundHitInfo vftable:0x1C756E0, Size:0x4C, CRC32:0x7292DE4 +class rSoundHitInfo::cSoundHitInfo /*: MtObject*/ { + s32 'mBody' ; // Offset:0x4, Var, CRC32:0x2A1C08E, Flags:0x0 + s32 'mBone' ; // Offset:0x8, Var, CRC32:0xEC4F744B, Flags:0x0 + s32 'mIron' ; // Offset:0xC, Var, CRC32:0xA1792BA0, Flags:0x0 + s32 'mStone' ; // Offset:0x10, Var, CRC32:0xE4949FEB, Flags:0x0 + s32 'mWood' ; // Offset:0x14, Var, CRC32:0xE594D231, Flags:0x0 + s32 'mWater' ; // Offset:0x18, Var, CRC32:0x6878E1B, Flags:0x0 + s32 'mSmoke' ; // Offset:0x1C, Var, CRC32:0xB4F273BB, Flags:0x0 + s32 'mAalche' ; // Offset:0x20, Var, CRC32:0x4339C32A, Flags:0x0 + s32 'mIce' ; // Offset:0x24, Var, CRC32:0x1BB414C1, Flags:0x0 + s32 'mWeek1' ; // Offset:0x28, Var, CRC32:0xE557EDAF, Flags:0x0 + s32 'mWeek2' ; // Offset:0x2C, Var, CRC32:0x7C5EBC15, Flags:0x0 + s32 'mEtc00' ; // Offset:0x30, Var, CRC32:0x3D17D10C, Flags:0x0 + s32 'mEtc01' ; // Offset:0x34, Var, CRC32:0x4A10E19A, Flags:0x0 + s32 'mEtc02' ; // Offset:0x38, Var, CRC32:0xD319B020, Flags:0x0 + s32 'mEtc03' ; // Offset:0x3C, Var, CRC32:0xA41E80B6, Flags:0x0 + s32 'mEtc04' ; // Offset:0x40, Var, CRC32:0x3A7A1515, Flags:0x0 + s32 'mEtc05' ; // Offset:0x44, Var, CRC32:0x4D7D2583, Flags:0x0 + s32 'mEtc06' ; // Offset:0x48, Var, CRC32:0xD4747439, Flags:0x0 +}; + +// rSoundMotionSe vftable:0x1C76414, Size:0x90, CRC32:0x4CA26828 +class rSoundMotionSe /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mMotionSe' ; // Offset:0x70, Var, CRC32:0xF26FA646, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundMotionSe::cSoundMotionSeData vftable:0x1C763EC, Size:0x40, CRC32:0x5CECEBB6 +class rSoundMotionSe::cSoundMotionSeData /*: MtObject*/ { + s32 'SeJointID' ; // Offset:0x10, Var, CRC32:0x9FD28BC0, Flags:0x0 + f32 'UpMarginY' ; // Offset:0x14, Var, CRC32:0xE03B957D, Flags:0x0 + f32 'DownMarginY' ; // Offset:0x18, Var, CRC32:0xEEFE8C93, Flags:0x0 + vector3 'Offset' ; // Offset:0x20, Var, CRC32:0xA1593019, Flags:0x0 + bool 'SeJointAttachFlag' ; // Offset:0x30, Var, CRC32:0xB38A7607, Flags:0x0 + bool 'AttributeSeFlag' ; // Offset:0x31, Var, CRC32:0x24B27634, Flags:0x0 + s16 'UniqueID' ; // Offset:0x32, Var, CRC32:0xF52C55C1, Flags:0x0 + s16 'SeReqNo_1' ; // Offset:0x34, Var, CRC32:0xB65E7587, Flags:0x0 + s16 'SeReqNo_2' ; // Offset:0x36, Var, CRC32:0x2F57243D, Flags:0x0 + s16 'SeReqNo_3' ; // Offset:0x38, Var, CRC32:0x585014AB, Flags:0x0 + u8 'FreeArea'[2] ; // Offset:0x3A, Array, CRC32:0x51D10160, Flags:0x200000 + u32 'ReqType' ; // Offset:0x3C, Var, CRC32:0x47FAA882, Flags:0x0 +}; + +// rSoundOptData vftable:0x1C6E088, Size:0x70, CRC32:0x6B3CED04 +class rSoundOptData /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundParamOfs vftable:0x1C75888, Size:0x70, CRC32:0x58690CE8 +class rSoundParamOfs /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundPhysicsJoint vftable:0x20CA1AC, Size:0x1020, CRC32:0x31EDC625 +class rSoundPhysicsJoint /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mSoundJointDataArray' ; // Offset:0x68, Var, CRC32:0xD4E5D621, Flags:0x0 + u32 'mJointNoConvTbl'[500] ; // Offset:0x84C, Array, CRC32:0xE71C0B0C, Flags:0x200000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundPhysicsJoint::cSoundJointRequestData vftable:0x20CA184, Size:0x18, CRC32:0x24068902 +class rSoundPhysicsJoint::cSoundJointRequestData /*: MtObject*/ { + u32 'JointNo' ; // Offset:0x4, Var, CRC32:0xD49EFCFB, Flags:0x0 + f32 'Speed' ; // Offset:0x8, Var, CRC32:0x31182E0D, Flags:0x0 + s32 'SoundJointNo' ; // Offset:0xC, Var, CRC32:0x6A8EB543, Flags:0x0 + u32 'ReqNo' ; // Offset:0x10, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1654D50, Setter:0x1654E90, CRC32:0xB5C50044, Flags:0x800000 +}; + +// rSoundPhysicsList vftable:0x20CA2AC, Size:0x280, CRC32:0x6FE1EA15 +class rSoundPhysicsList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundPhysicsRigidBody vftable:0x20CC6D4, Size:0x630, CRC32:0x1EB3767C +class rSoundPhysicsRigidBody /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mSoundFirstDataArray' ; // Offset:0x68, Var, CRC32:0x461D58EF, Flags:0x0 + class 'mSoundFinishDataArray' ; // Offset:0x7C, Var, CRC32:0x196FCE92, Flags:0x0 + class 'mSoundSlideDataArray' ; // Offset:0x90, Var, CRC32:0x8B08CB91, Flags:0x0 + class 'mSoundRollDataArray' ; // Offset:0xA4, Var, CRC32:0x6DC6E7FC, Flags:0x0 + class 'mSoundPhysicsDataArray' ; // Offset:0xB8, Var, CRC32:0x4D079CBE, Flags:0x0 + bool 'mIsUsingMaterialNo'[5] ; // Offset:0x5E0, Array, CRC32:0x2E8011BE, Flags:0x200000 + bool 'mEnableRequestDuringContact'[5] ; // Offset:0x5E5, Array, CRC32:0xC8DE4BE8, Flags:0x200000 + s8 'mMaterialNoConvTbl'[64] ; // Offset:0x5EA, Array, CRC32:0x662FAD9D, Flags:0x200000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundPhysicsRigidBody::cSoundFinishRequestData vftable:0x20CC608, Size:0x10, CRC32:0x781A43FA +class rSoundPhysicsRigidBody::cSoundFinishRequestData /*: MtObject*/ { + s8 'TargetMaterialNo' ; // Offset:0x4, Var, CRC32:0xC2DF8C, Flags:0x0 + u32 'ReqNo' ; // Offset:0x8, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x169D6B0, Setter:0x169D970, CRC32:0xB5C50044, Flags:0x800000 +}; + +// rSoundPhysicsRigidBody::cSoundFirstRequestData vftable:0x20CC5EC, Size:0x10, CRC32:0xA359448 +class rSoundPhysicsRigidBody::cSoundFirstRequestData /*: MtObject*/ { + s8 'TargetMaterialNo' ; // Offset:0x4, Var, CRC32:0xC2DF8C, Flags:0x0 + u32 'ReqNo' ; // Offset:0x8, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x169D6C0, Setter:0x169D9A0, CRC32:0xB5C50044, Flags:0x800000 +}; + +// rSoundPhysicsRigidBody::cSoundPhysicsRequestData vftable:0x20CC65C, Size:0x14, CRC32:0x246A7743 +class rSoundPhysicsRigidBody::cSoundPhysicsRequestData /*: MtObject*/ { + s8 'TargetMaterialNo' ; // Offset:0x4, Var, CRC32:0xC2DF8C, Flags:0x0 + f32 'Force' ; // Offset:0x8, Var, CRC32:0xA95653D3, Flags:0x0 + u32 'ReqNo' ; // Offset:0xC, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x169D6D0, Setter:0x169D9D0, CRC32:0xB5C50044, Flags:0x800000 +}; + +// rSoundPhysicsRigidBody::cSoundRollRequestData vftable:0x20CC640, Size:0x14, CRC32:0x365F18CD +class rSoundPhysicsRigidBody::cSoundRollRequestData /*: MtObject*/ { + s8 'TargetMaterialNo' ; // Offset:0x4, Var, CRC32:0xC2DF8C, Flags:0x0 + u32 'ReqNo' ; // Offset:0xC, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x169D6E0, Setter:0x169DA00, CRC32:0xB5C50044, Flags:0x800000 + f32 'Revolution' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x169D690, Setter:0x169D950, CRC32:0x591FDC1, Flags:0x800000 +}; + +// rSoundPhysicsRigidBody::cSoundSlideRequestData vftable:0x20CC624, Size:0x14, CRC32:0x528FCFDB +class rSoundPhysicsRigidBody::cSoundSlideRequestData /*: MtObject*/ { + s8 'TargetMaterialNo' ; // Offset:0x4, Var, CRC32:0xC2DF8C, Flags:0x0 + f32 'Speed' ; // Offset:0x8, Var, CRC32:0x31182E0D, Flags:0x0 + u32 'ReqNo' ; // Offset:0xC, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x169D6F0, Setter:0x169DA30, CRC32:0xB5C50044, Flags:0x800000 +}; + +// rSoundPhysicsSoftBody vftable:0x20CA364, Size:0x280, CRC32:0x7BEC319A +class rSoundPhysicsSoftBody /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mSoundPhysicsDataArray' ; // Offset:0x68, Var, CRC32:0x4D079CBE, Flags:0x0 + u32 'mIdConvTbl'[64] ; // Offset:0x17C, Array, CRC32:0x82914569, Flags:0x200000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundPhysicsSoftBody::cSoundPhysicsRequestData vftable:0x20CA33C, Size:0x14, CRC32:0x51A10298 +class rSoundPhysicsSoftBody::cSoundPhysicsRequestData /*: MtObject*/ { + u32 'Id' ; // Offset:0x4, Var, CRC32:0xD542BC0D, Flags:0x0 + f32 'Distance' ; // Offset:0x8, Var, CRC32:0x1A1B0728, Flags:0x0 + u32 'ReqNo' ; // Offset:0xC, Var, CRC32:0x91328F5D, Flags:0x0 + custom 'SoundRequest' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1655780, Setter:0x16558E0, CRC32:0xB5C50044, Flags:0x800000 +}; + +// rSoundRangeEqSet vftable:0x1C75994, Size:0x70, CRC32:0x4FA23508 +class rSoundRangeEqSet /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundRangeEqSet::RangeEqData vftable:0x1C75978, Size:0x18, CRC32:0xB40DB2C +class rSoundRangeEqSet::RangeEqData /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + f32 'mRange0' ; // Offset:0x8, Var, CRC32:0xC5D4087E, Flags:0x0 + f32 'mRange1' ; // Offset:0xC, Var, CRC32:0xB2D338E8, Flags:0x0 + f32 'mRange2' ; // Offset:0x10, Var, CRC32:0x2BDA6952, Flags:0x0 + f32 'mRange3' ; // Offset:0x14, Var, CRC32:0x5CDD59C4, Flags:0x0 +}; + +// rSoundRequest vftable:0x20C6694, Size:0xB0, CRC32:0x1BCC4966 +class rSoundRequest /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundReverb vftable:0x20CC0A4, Size:0x90, CRC32:0x232E228C +class rSoundReverb /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mReverb' ; // Offset:0x74, Var, CRC32:0x269BB1EE, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundReverb::cSoundReverbData vftable:0x20CC078, Size:0x44, CRC32:0x4E1ECA49 +class rSoundReverb::cSoundReverbData /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + s32 'mRoom' ; // Offset:0x8, Var, CRC32:0xAB969AA7, Flags:0x0 + s32 'mRoomHF' ; // Offset:0xC, Var, CRC32:0x5683DA4A, Flags:0x0 + f32 'mDecayTime' ; // Offset:0x10, Var, CRC32:0x40CF04C3, Flags:0x0 + f32 'mDecayHFRatio' ; // Offset:0x14, Var, CRC32:0x3C03A78E, Flags:0x0 + s32 'mReflections' ; // Offset:0x18, Var, CRC32:0xE19DB8FF, Flags:0x0 + f32 'mReflectionsDelay' ; // Offset:0x1C, Var, CRC32:0x15751075, Flags:0x0 + s32 'mReverb' ; // Offset:0x20, Var, CRC32:0x269BB1EE, Flags:0x0 + f32 'mReverbDelay' ; // Offset:0x24, Var, CRC32:0xB5CBDCF6, Flags:0x0 + f32 'mDiffusion' ; // Offset:0x28, Var, CRC32:0x5ACCF1F, Flags:0x0 + f32 'mDensity' ; // Offset:0x2C, Var, CRC32:0x434A19E4, Flags:0x0 + f32 'mHFReference' ; // Offset:0x30, Var, CRC32:0x7A30425, Flags:0x0 + f32 'mEarlyReflectionScaler' ; // Offset:0x34, Var, CRC32:0x6C89E4B5, Flags:0x10000 + f32 'mLFreference' ; // Offset:0x38, Var, CRC32:0x358BF504, Flags:0x10000 + f32 'mRoomLF' ; // Offset:0x3C, Var, CRC32:0x32EF1F4E, Flags:0x10000 + f32 'mOutputLevel' ; // Offset:0x40, Var, CRC32:0xD5F2509B, Flags:0x0 +}; + +// rSoundSequenceSe vftable:0x1C76584, Size:0x90, CRC32:0x271D08FE +class rSoundSequenceSe /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + s32 'mPauseStatus' ; // Offset:0x6C, Var, CRC32:0xF847543E, Flags:0x0 + class 'mSeqSe' ; // Offset:0x78, Var, CRC32:0x706169D5, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 + custom 'SE Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAFBAF0, Setter:0xAFBC50, CRC32:0xAF83F258, Flags:0x800000 +}; + +// rSoundSequenceSe::SequenceSe vftable:0x1C76554, Size:0x20, CRC32:0x5EB6FE4E +class rSoundSequenceSe::SequenceSe /*: MtObject*/ { + u16 'RequestNo' ; // Offset:0x8, Var, CRC32:0x4FE4212, Flags:0x0 + class 'Command' ; // Offset:0xC, Var, CRC32:0xBE882CB7, Flags:0x0 +}; + +// rSoundSequenceSe::SequenceSe::Command vftable:0x1C76524, Size:0x10, CRC32:0x7A99C43F +class rSoundSequenceSe::SequenceSe::Command /*: MtObject*/ { + u8 'mCommand' ; // Offset:0x4, Var, CRC32:0xD2899CA, Flags:0x0 + f32 'mValue1' ; // Offset:0x8, Var, CRC32:0x9CE9C56B, Flags:0x0 + f32 'mValue2' ; // Offset:0xC, Var, CRC32:0x5E094D1, Flags:0x0 +}; + +// rSoundSimpleCurve vftable:0x1C766B0, Size:0x88, CRC32:0x49B5A885 +class rSoundSimpleCurve /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mElementArray' ; // Offset:0x68, Var, CRC32:0xA4668E9B, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSimpleCurve::Element vftable:0x1C76688, Size:0xC, CRC32:0x33F33FB8 +class rSoundSimpleCurve::Element /*: MtObject*/ { + f32 'mX' ; // Offset:0x4, Var, CRC32:0xBC5212C, Flags:0x0 + f32 'mY' ; // Offset:0x8, Var, CRC32:0x7CC211BA, Flags:0x0 +}; + +// rSoundSourceMSADPCM vftable:0x20D2530, Size:0x150, CRC32:0x724DF879 +class rSoundSourceMSADPCM /*: rSoundSourcePC, rSoundSource, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'Channels' ; // Offset:0x68, Var, CRC32:0xF59D7F1F, Flags:0x10000 + u32 'BitPerSample' ; // Offset:0x6C, Var, CRC32:0x5A82615D, Flags:0x10000 + u32 'BitRate' ; // Offset:0x70, Var, CRC32:0xCC341357, Flags:0x10000 + u32 'SampleRate' ; // Offset:0x74, Var, CRC32:0xD2B62263, Flags:0x10000 + f32 'Duration' ; // Offset:0x78, Var, CRC32:0x80D61D69, Flags:0x10000 + u32 'Format' ; // Offset:0x7C, Var, CRC32:0x26E98816, Flags:0x10000 + u32 'Samples' ; // Offset:0x84, Var, CRC32:0x29D09114, Flags:0x10000 + u32 'MarkerNum' ; // Offset:0x94, Var, CRC32:0xB8053109, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSourceOggVorbis vftable:0x20D25D0, Size:0x118, CRC32:0x255D51CD +class rSoundSourceOggVorbis /*: rSoundSourcePC, rSoundSource, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'Channels' ; // Offset:0x68, Var, CRC32:0xF59D7F1F, Flags:0x10000 + u32 'BitPerSample' ; // Offset:0x6C, Var, CRC32:0x5A82615D, Flags:0x10000 + u32 'BitRate' ; // Offset:0x70, Var, CRC32:0xCC341357, Flags:0x10000 + u32 'SampleRate' ; // Offset:0x74, Var, CRC32:0xD2B62263, Flags:0x10000 + f32 'Duration' ; // Offset:0x78, Var, CRC32:0x80D61D69, Flags:0x10000 + u32 'Format' ; // Offset:0x7C, Var, CRC32:0x26E98816, Flags:0x10000 + u32 'Samples' ; // Offset:0x84, Var, CRC32:0x29D09114, Flags:0x10000 + u32 'MarkerNum' ; // Offset:0x94, Var, CRC32:0xB8053109, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSourcePC vftable:0x20D2498, Size:0x110, CRC32:0x465CB860 +class rSoundSourcePC /*: rSoundSource, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'Channels' ; // Offset:0x68, Var, CRC32:0xF59D7F1F, Flags:0x10000 + u32 'BitPerSample' ; // Offset:0x6C, Var, CRC32:0x5A82615D, Flags:0x10000 + u32 'BitRate' ; // Offset:0x70, Var, CRC32:0xCC341357, Flags:0x10000 + u32 'SampleRate' ; // Offset:0x74, Var, CRC32:0xD2B62263, Flags:0x10000 + f32 'Duration' ; // Offset:0x78, Var, CRC32:0x80D61D69, Flags:0x10000 + u32 'Format' ; // Offset:0x7C, Var, CRC32:0x26E98816, Flags:0x10000 + u32 'Samples' ; // Offset:0x84, Var, CRC32:0x29D09114, Flags:0x10000 + u32 'MarkerNum' ; // Offset:0x94, Var, CRC32:0xB8053109, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSpeakerSetXml vftable:0x20D2BA0, Size:0x150, CRC32:0x64A3AD8 +class rSoundSpeakerSetXml /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mCoordinate' ; // Offset:0x68, Var, CRC32:0x6873449D, Flags:0x0 + u32 'mSpeakerSetting' ; // Offset:0x6C, Var, CRC32:0x4A0AF82E, Flags:0x0 + vector3 'mSpeakerPosition'[6] ; // Offset:0x70, Array, CRC32:0xB6F96381, Flags:0x200000 + vector3 'mSpeakerOrientation'[6] ; // Offset:0xD0, Array, CRC32:0x1842F4EF, Flags:0x200000 + custom 'mpDirectionalCurve'[6] ; // Offset:0x130, Array, CRC32:0x461D4E3F, Flags:0x200000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundStreamRequest vftable:0x20BD9D8, Size:0xC0, CRC32:0x167DBBFF +class rSoundStreamRequest /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSubMixer vftable:0x1C767A0, Size:0x150, CRC32:0x30FC745F +class rSoundSubMixer /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mFaders' ; // Offset:0x68, Var, CRC32:0xDBFCE845, Flags:0x0 + s32 'mEQPreset'[9] ; // Offset:0x90, Array, CRC32:0xCA34E38F, Flags:0x200000 + s32 'mReverbPreset'[4] ; // Offset:0xB4, Array, CRC32:0xCD594706, Flags:0x200000 + bool 'mActive' ; // Offset:0xC4, Var, CRC32:0x75825533, Flags:0x0 + s8 'mPriority' ; // Offset:0xC5, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mCurveStyle' ; // Offset:0xCC, Var, CRC32:0xCD2B2273, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSubMixer::Fader vftable:0x1C76770, Size:0x18, CRC32:0x411C2A19 +class rSoundSubMixer::Fader /*: MtObject*/ { + f32 'mVol' ; // Offset:0x4, Var, CRC32:0xD9A70724, Flags:0x0 + s16 'mSendID' ; // Offset:0x8, Var, CRC32:0x97171DC9, Flags:0x0 + u16 'mTransitionTime' ; // Offset:0xA, Var, CRC32:0x298ED81B, Flags:0x0 + s16 'mCurve' ; // Offset:0xC, Var, CRC32:0xAA2DC776, Flags:0x0 + u16 'mSustainTime' ; // Offset:0xE, Var, CRC32:0xE805F97D, Flags:0x0 + u16 'mReleaseTime' ; // Offset:0x10, Var, CRC32:0x18D00BAC, Flags:0x0 + u8 'mFaderID' ; // Offset:0x12, Var, CRC32:0x52751207, Flags:0x0 + s8 'mEqNo' ; // Offset:0x13, Var, CRC32:0x12710F34, Flags:0x0 + s8 'mEqEffectNo' ; // Offset:0x14, Var, CRC32:0x5F8BA951, Flags:0x0 + s8 'mEffectNo' ; // Offset:0x15, Var, CRC32:0x7B22AAAD, Flags:0x0 + bool 'mAbs' ; // Offset:0x16, Var, CRC32:0xF868C169, Flags:0x0 + bool 'mSetFlag' ; // Offset:0x17, Var, CRC32:0xC7E72588, Flags:0x20000000 +}; + +// rSoundSubMixerSet vftable:0x1C75A74, Size:0x80, CRC32:0x39A0D1D6 +class rSoundSubMixerSet /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mSubMixerLists' ; // Offset:0x68, Var, CRC32:0x61E24216, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSoundSubMixerSet::BasicSubMixers vftable:0x1C75A58, Size:0x28, CRC32:0x6F5D88F5 +class rSoundSubMixerSet::BasicSubMixers /*: MtObject*/ { + u32 'mID' ; // Offset:0x4, Var, CRC32:0x10BB0F5B, Flags:0x0 + custom 'mpResource7' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF3920, Setter:0xAF3C80, CRC32:0x35EE89E, Flags:0x800000 + custom 'mpResource6' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF3910, Setter:0xAF3C40, CRC32:0x7459D808, Flags:0x800000 + custom 'mpResource5' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF3900, Setter:0xAF3C00, CRC32:0xED5089B2, Flags:0x800000 + custom 'mpResource4' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF38F0, Setter:0xAF3BC0, CRC32:0x9A57B924, Flags:0x800000 + custom 'mpResource3' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF38E0, Setter:0xAF3B80, CRC32:0x4332C87, Flags:0x800000 + custom 'mpResource2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF38D0, Setter:0xAF3B40, CRC32:0x73341C11, Flags:0x800000 + custom 'mpResource1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF38C0, Setter:0xAF3B00, CRC32:0xEA3D4DAB, Flags:0x800000 + custom 'mpResource0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF38B0, Setter:0xAF3AC0, CRC32:0x9D3A7D3D, Flags:0x800000 +}; + +// rStageAdjoinList vftable:0x1C75B90, Size:0x98, CRC32:0x9EC0F2E +class rStageAdjoinList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageAdjoinList2 vftable:0x1C75C54, Size:0xB0, CRC32:0x1408B040 +class rStageAdjoinList2 /*: rStageAdjoinList, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageAdjoinList2::cJumpPosition2 vftable:0x1C75CA0, Size:0x40, CRC32:0x5088A1A9 +class rStageAdjoinList2::cJumpPosition2 /*: rStageAdjoinList::cJumpPosition, MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + u32 'mQuestId' ; // Offset:0x20, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mFlagId' ; // Offset:0x24, Var, CRC32:0xA8576257, Flags:0x0 + u32 'mLayoutFlagId' ; // Offset:0x30, Var, CRC32:0x48D354CC, Flags:0x0 +}; + +// rStageAdjoinList::cAdjoinInfo vftable:0x1C75C08, Size:0x20, CRC32:0x6F1C8D49 +class rStageAdjoinList::cAdjoinInfo /*: MtObject*/ { + class 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 + u16 'mDestinationStageNo' ; // Offset:0x18, Var, CRC32:0x8ADD6B7, Flags:0x0 + u16 'mNextStageNo' ; // Offset:0x1A, Var, CRC32:0x9F806D3F, Flags:0x0 + u8 'mPriority' ; // Offset:0x1C, Var, CRC32:0x4A28ECBA, Flags:0x0 +}; + +// rStageAdjoinList::cAdjoinInfo::cIndex vftable:0x1C75BE0, Size:0x8, CRC32:0x106DB75F +class rStageAdjoinList::cAdjoinInfo::cIndex /*: MtObject*/ { + u16 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x0 +}; + +// rStageAdjoinList::cJumpPosition vftable:0x1C75C24, Size:0x30, CRC32:0x203BAEB9 +class rStageAdjoinList::cJumpPosition /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + u32 'mQuestId' ; // Offset:0x20, Var, CRC32:0x1FBA8D43, Flags:0x0 + u32 'mFlagId' ; // Offset:0x24, Var, CRC32:0xA8576257, Flags:0x0 +}; + +// rStageConnect vftable:0x1C6E630, Size:0x90, CRC32:0x170FEB3E +class rStageConnect /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mCustomMarkerGroupShapes' ; // Offset:0x70, Var, CRC32:0x4E2EB39B, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageConnect::Connection vftable:0x1C6E600, Size:0x40, CRC32:0x170860BE +class rStageConnect::Connection /*: MtObject*/ { + u32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + u32 'mPartsNo' ; // Offset:0x20, Var, CRC32:0xB341EC9B, Flags:0x0 + u32 'mMapGroup' ; // Offset:0x24, Var, CRC32:0x4A828CD2, Flags:0x0 +}; + +// rStageCustom vftable:0x1C75DA0, Size:0x78, CRC32:0x59F75535 +class rStageCustom /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageCustom::Area vftable:0x1C75D8C, Size:0xC, CRC32:0x440A2422 +class rStageCustom::Area /*: MtObject*/ { + s8 'mAreaNo' ; // Offset:0x4, Var, CRC32:0x39FEDFA6, Flags:0x0 + u8 'mFilterNo' ; // Offset:0x5, Var, CRC32:0xDE18639D, Flags:0x0 + s32 'mGroupNo' ; // Offset:0x8, Var, CRC32:0xB6F0B4E1, Flags:0x0 +}; + +// rStageCustomParts vftable:0x1C75E60, Size:0x88, CRC32:0x204334C9 +class rStageCustomParts /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageCustomParts::Filter vftable:0x1C75E28, Size:0x44, CRC32:0x207CC4BA +class rStageCustomParts::Filter /*: MtObject*/ { + string 'mFilter' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF68D0, Setter:0xAF5E09, CRC32:0x4158F62C, Flags:0x800000 +}; + +// rStageCustomParts::Info vftable:0x1C6EB90, Size:0x388, CRC32:0x57252590 +class rStageCustomParts::Info /*: MtObject*/ { + u16 'mAreaNo' ; // Offset:0x2C4, Var, CRC32:0x39FEDFA6, Flags:0x0 + u16 'mType' ; // Offset:0x2C6, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mSize' ; // Offset:0x2C8, Var, CRC32:0x2EC9EF56, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x2CC, Var, CRC32:0x5CD4FC67, Flags:0x0 + s32 'mEpvIndexAlways' ; // Offset:0x2D0, Var, CRC32:0x166761E7, Flags:0x0 + s32 'mEpvIndexDay' ; // Offset:0x2D4, Var, CRC32:0x43F3BB02, Flags:0x0 + s32 'mEpvIndexNight' ; // Offset:0x2D8, Var, CRC32:0xD75A1CB, Flags:0x0 + color 'mColor' ; // Offset:0x2DC, Var, CRC32:0x9BE2D228, Flags:0x0 + string 'mComment' ; // Offset:0x2E0, Var, CRC32:0x17962172, Flags:0x0 + string 'mOccluder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6990, Setter:0xAF5E27, CRC32:0x99255083, Flags:0x800000 + string 'mEpv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6880, Setter:0xAF5E22, CRC32:0xF7FFEDE9, Flags:0x800000 + string 'mNaviMesh' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6980, Setter:0xAF5E1D, CRC32:0x8C4CABB8, Flags:0x800000 + string 'mLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6960, Setter:0xAF5E18, CRC32:0x96AEC636, Flags:0x800000 + string 'mEffSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF6850, Setter:0xAF5E13, GetCount:0xAF6870, Reallocate:0xAF7370 CRC32:0x32D21567, Flags:0xA00000 + string 'mScrSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF69A0, Setter:0xAF5E0E, GetCount:0xAF69B0, Reallocate:0xAF74E0 CRC32:0xF0C6BB59, Flags:0xA00000 + string 'mModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6970, Setter:0xAF5E09, CRC32:0x2A21E818, Flags:0x800000 +}; + +// rStageCustomParts::Param vftable:0x1C75E48, Size:0xC, CRC32:0x73E46803 +class rStageCustomParts::Param /*: MtObject*/ { + f32 'mDelta' ; // Offset:0x4, Var, CRC32:0x6BF76418, Flags:0x0 + f32 'mOffsetY' ; // Offset:0x8, Var, CRC32:0xC5DDADDD, Flags:0x0 +}; + +// rStageCustomPartsEx vftable:0x1C6ECE0, Size:0xB0, CRC32:0x685CFABF +class rStageCustomPartsEx /*: rStageCustomParts, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageCustomPartsEx::AreaParam vftable:0x1C6EBE0, Size:0x28, CRC32:0x24F9814E +class rStageCustomPartsEx::AreaParam /*: MtObject*/ { + bool 'mUseAllFilter' ; // Offset:0x4, Var, CRC32:0x8693AA2E, Flags:0x0 + s32 'mFilterNo' ; // Offset:0x8, Var, CRC32:0xDE18639D, Flags:0x0 + s32 'mPatternNo' ; // Offset:0xC, Var, CRC32:0xBFB12AB7, Flags:0x0 + class 'mAreaHitShapeList' ; // Offset:0x10, Var, CRC32:0xBA96A4EC, Flags:0x0 +}; + +// rStageCustomPartsEx::ColorFog vftable:0x1C6EC78, Size:0xE0, CRC32:0x300703BD +class rStageCustomPartsEx::ColorFog /*: MtObject*/ { + class 'mBase' ; // Offset:0x10, Var, CRC32:0x19BD355D, Flags:0x40000 + class 'mNight' ; // Offset:0x70, Var, CRC32:0xEC6E9556, Flags:0x40000 + string 'mComment' ; // Offset:0xD0, Var, CRC32:0x17962172, Flags:0x0 +}; + +// rStageCustomPartsEx::FilterEx vftable:0x1C6EC58, Size:0x4C, CRC32:0xC87DC7 +class rStageCustomPartsEx::FilterEx /*: rStageCustomParts::Filter, MtObject*/ { + u32 'mAddVersion' ; // Offset:0x44, Var, CRC32:0xC6A3B27A, Flags:0x0 + string 'mComment' ; // Offset:0x48, Var, CRC32:0x17962172, Flags:0x0 + string 'mFilter' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF68D0, Setter:0xAF5E09, CRC32:0x4158F62C, Flags:0x800000 +}; + +// rStageCustomPartsEx::HemiSphLight vftable:0x1C6EC94, Size:0x60, CRC32:0x421A0EC0 +class rStageCustomPartsEx::HemiSphLight /*: MtObject*/ { + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x30, Var, CRC32:0xECFAE1C7, Flags:0x0 + vector3 'mNightRevColor' ; // Offset:0x40, Var, CRC32:0x83200EFB, Flags:0x0 + string 'mComment' ; // Offset:0x50, Var, CRC32:0x17962172, Flags:0x0 +}; + +// rStageCustomPartsEx::InfiLight vftable:0x1C6ECB0, Size:0x40, CRC32:0x266EBFBC +class rStageCustomPartsEx::InfiLight /*: MtObject*/ { + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x20, Var, CRC32:0xECFAE1C7, Flags:0x0 + string 'mComment' ; // Offset:0x30, Var, CRC32:0x17962172, Flags:0x0 +}; + +// rStageCustomPartsEx::InfoEx vftable:0x1C6EC10, Size:0x3A0, CRC32:0x346DA4A3 +class rStageCustomPartsEx::InfoEx /*: rStageCustomParts::Info, MtObject*/ { + u16 'mAreaNo' ; // Offset:0x2C4, Var, CRC32:0x39FEDFA6, Flags:0x0 + u16 'mType' ; // Offset:0x2C6, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mSize' ; // Offset:0x2C8, Var, CRC32:0x2EC9EF56, Flags:0x0 + f32 'mOffsetZ' ; // Offset:0x2CC, Var, CRC32:0x5CD4FC67, Flags:0x0 + s32 'mEpvIndexAlways' ; // Offset:0x2D0, Var, CRC32:0x166761E7, Flags:0x0 + s32 'mEpvIndexDay' ; // Offset:0x2D4, Var, CRC32:0x43F3BB02, Flags:0x0 + s32 'mEpvIndexNight' ; // Offset:0x2D8, Var, CRC32:0xD75A1CB, Flags:0x0 + color 'mColor' ; // Offset:0x2DC, Var, CRC32:0x9BE2D228, Flags:0x0 + string 'mComment' ; // Offset:0x2E0, Var, CRC32:0x17962172, Flags:0x0 + u32 'mAddVersion' ; // Offset:0x388, Var, CRC32:0xC6A3B27A, Flags:0x0 + class 'mAreaParamList' ; // Offset:0x38C, Var, CRC32:0xD0FFBC53, Flags:0x0 + string 'mOccluder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6990, Setter:0xAF5E27, CRC32:0x99255083, Flags:0x800000 + string 'mEpv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6880, Setter:0xAF5E22, CRC32:0xF7FFEDE9, Flags:0x800000 + string 'mNaviMesh' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6980, Setter:0xAF5E1D, CRC32:0x8C4CABB8, Flags:0x800000 + string 'mLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6960, Setter:0xAF5E18, CRC32:0x96AEC636, Flags:0x800000 + string 'mEffSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF6850, Setter:0xAF5E13, GetCount:0xAF6870, Reallocate:0xAF7370 CRC32:0x32D21567, Flags:0xA00000 + string 'mScrSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF69A0, Setter:0xAF5E0E, GetCount:0xAF69B0, Reallocate:0xAF74E0 CRC32:0xF0C6BB59, Flags:0xA00000 + string 'mModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF6970, Setter:0xAF5E09, CRC32:0x2A21E818, Flags:0x800000 +}; + +// rStageCustomPartsEx::Pattern vftable:0x1C6ECCC, Size:0x14, CRC32:0x396B0277 +class rStageCustomPartsEx::Pattern /*: MtObject*/ { + s32 'mColorFogNo' ; // Offset:0x4, Var, CRC32:0xFA6CB93, Flags:0x0 + s32 'mHemiSphLightNo' ; // Offset:0x8, Var, CRC32:0x52152056, Flags:0x0 + s32 'mInfiLightNo' ; // Offset:0xC, Var, CRC32:0x29FEEF81, Flags:0x0 + string 'mComment' ; // Offset:0x10, Var, CRC32:0x17962172, Flags:0x0 +}; + +// rStageInfo vftable:0x1C76D84, Size:0x560, CRC32:0x2E11E10E +class rStageInfo /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + s32 'mStageNo' ; // Offset:0x298, Var, CRC32:0xACF5AFCF, Flags:0x30000 + vector3 'mPos' ; // Offset:0x2A0, Var, CRC32:0x50227663, Flags:0x0 + f32 'mAng' ; // Offset:0x2B0, Var, CRC32:0x4E075A18, Flags:0x0 + u32 'mFlag' ; // Offset:0x2B4, Var, CRC32:0x8FD20A6, Flags:0x0 + u32 'SystemFlag' ; // Offset:0x2B4, Var, CRC32:0x41B70BAA, Flags:0x20000 + f32 'mDayNightLightChgFrame' ; // Offset:0x2B8, Var, CRC32:0xDAF9D646, Flags:0x0 + f32 'mDayNightFogChgFrame' ; // Offset:0x2BC, Var, CRC32:0xFE2AFF1D, Flags:0x0 + u32 'mSceLoadFlag' ; // Offset:0x2C0, Var, CRC32:0x3FBE9AF, Flags:0x0 + f32 'mGrassVisiblePercentMulValue' ; // Offset:0x2C4, Var, CRC32:0xF8B01F1D, Flags:0x0 + f32 'mGrassFadeBeginDistance' ; // Offset:0x2C8, Var, CRC32:0x4050E4FC, Flags:0x0 + f32 'mGrassFadeEndDistance' ; // Offset:0x2CC, Var, CRC32:0xACC8D99, Flags:0x0 + f32 'EQLength'[4] ; // Offset:0x2D0, Array, CRC32:0xC911343B, Flags:0x200000 + custom 'SoundAreaInfo' ; // Offset:0x2E0, Var, CRC32:0x778D8971, Flags:0x20000 + bool 'mIsCraftStage' ; // Offset:0x324, Var, CRC32:0x798D3063, Flags:0x0 + bool 'mShowOnlyCurrentFloorMinimap' ; // Offset:0x335, Var, CRC32:0x3037C9EF, Flags:0x0 + u16 'mPerformanceFlag' ; // Offset:0x336, Var, CRC32:0x6C2BA661, Flags:0x0 + custom 'EffectSchdl' ; // Offset:0x338, Var, CRC32:0x27703469, Flags:0x20000 + custom 'LanternSchdl' ; // Offset:0x33C, Var, CRC32:0xC60BD94A, Flags:0x20000 + custom 'LocationData' ; // Offset:0x3C0, Var, CRC32:0xC6B6EA35, Flags:0x0 + custom 'WeatherStageInfo' ; // Offset:0x3C4, Var, CRC32:0x817B5195, Flags:0x20000 + custom 'WeatherParamInfoTbl' ; // Offset:0x3C8, Var, CRC32:0x238CFEAC, Flags:0x20000 + custom 'StageLightSchdl' ; // Offset:0x44C, Var, CRC32:0x39D432B3, Flags:0x0 + custom 'ZoneColor' ; // Offset:0x450, Var, CRC32:0x1544AB0F, Flags:0x0 + custom 'ZoneWind' ; // Offset:0x454, Var, CRC32:0xE094415F, Flags:0x0 + custom 'ZoneGene' ; // Offset:0x458, Var, CRC32:0xCE90DF32, Flags:0x0 + custom 'ZoneLight' ; // Offset:0x45C, Var, CRC32:0x1808BF11, Flags:0x0 + custom 'ZoneIndoor' ; // Offset:0x460, Var, CRC32:0x8882070F, Flags:0x0 + custom 'ZoneIndoorEfc' ; // Offset:0x464, Var, CRC32:0xD6E68096, Flags:0x0 + custom 'SkyWep' ; // Offset:0x468, Var, CRC32:0x1D8E5BA4, Flags:0x20000 + custom 'RoomWep' ; // Offset:0x46C, Var, CRC32:0xDC297C39, Flags:0x20000 + custom 'Epv' ; // Offset:0x4F0, Var, CRC32:0xE0B6C439, Flags:0x20000 + s32 'mEpvIndexAlways' ; // Offset:0x534, Var, CRC32:0x166761E7, Flags:0x0 + s32 'mEpvIndexDay' ; // Offset:0x538, Var, CRC32:0x43F3BB02, Flags:0x0 + s32 'mEpvIndexNight' ; // Offset:0x53C, Var, CRC32:0xD75A1CB, Flags:0x0 + s32 'mSkyInfiniteLightGroupType' ; // Offset:0x540, Var, CRC32:0xEB2DB681, Flags:0x0 + custom 'ZoneCtrlOM' ; // Offset:0x544, Var, CRC32:0x579F14CF, Flags:0x0 + custom 'ZoneCtrlLight' ; // Offset:0x548, Var, CRC32:0xBC9433C, Flags:0x0 + custom 'ZoneCtrlScrl' ; // Offset:0x54C, Var, CRC32:0x27A9FDA9, Flags:0x0 + custom 'HSZoneCtrlOM' ; // Offset:0x550, Var, CRC32:0x18F3C0FD, Flags:0x0 + custom 'HSZoneCtrlLight' ; // Offset:0x554, Var, CRC32:0x8D765FE5, Flags:0x0 + custom 'HSZoneCtrlScrl' ; // Offset:0x558, Var, CRC32:0x4B67F079, Flags:0x0 + custom 'ZoneWet' ; // Offset:0x55C, Var, CRC32:0x107FF718, Flags:0x0 + string 'mEpvPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB01050, Setter:0xB02390, CRC32:0x30922CA1, Flags:0x810000 + string 'mEffectSdlPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB01040, Setter:0xB02360, CRC32:0xE74DFC59, Flags:0x810000 + string 'mLanternSdlPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB01070, Setter:0xB02420, CRC32:0xDAEF797E, Flags:0x810000 + string 'mSkyWepPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB010D0, Setter:0xB02670, CRC32:0xFD896F97, Flags:0x810000 + custom 'ZoneIndoor+ZoneSky' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40D2A0, Setter:0xB02790, CRC32:0xFFA232D4, Flags:0x20820000 + string 'mCmrPrmLstEvtPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB00FF0, Setter:0xB02280, CRC32:0x97FD8500, Flags:0x810000 + custom 'mprCmrPrmLstEvt' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40C8D0, Setter:0xB02210, CRC32:0x8475E3E4, Flags:0x820000 + custom 'mprStartPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CFA0, Setter:0xB026D0, CRC32:0x798DA3F, Flags:0x800000 + custom 'mprOCC' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CDC0, Setter:0xB024E0, CRC32:0x8DF40C11, Flags:0x800000 + custom 'mprNaviMesh' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CD70, Setter:0xB02480, CRC32:0x1FB2DDFD, Flags:0x800000 + string 'mEffSbcPathArr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xB01020, Setter:0xB02320, GetCount:0xB01010, Reallocate:0xB02310 CRC32:0x74FABD68, Flags:0xA10000 + custom 'mprEffSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x40CA00, Setter:0xB022B0, GetCount:0xB01010, Reallocate:0xB02310 CRC32:0xD95DC5F3, Flags:0xA20000 + string 'mScrSbcPathArr'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xB010B0, Setter:0xB025E0, GetCount:0xB010A0, Reallocate:0xB025D0 CRC32:0xE6940436, Flags:0xA10000 + custom 'mprScrSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x40CE90, Setter:0xB02570, GetCount:0xB010A0, Reallocate:0xB025D0 CRC32:0x1B496BCD, Flags:0xA20000 + custom 'mprFilter' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CA40, Setter:0xB023C0, CRC32:0xAAD726B8, Flags:0x800000 + string 'mMdlSdlPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB01080, Setter:0xB02450, CRC32:0xB50FA367, Flags:0x810000 + custom 'mprModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40CEA0, Setter:0xB02620, CRC32:0xABC743DD, Flags:0x820000 + string 'mWeatherParamInfoTblPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB010F0, Setter:0xB02730, CRC32:0x34D18812, Flags:0x810000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + string 'mWeatherStageInfoPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB01100, Setter:0xB02760, CRC32:0xBE9F05CB, Flags:0x810000 + string 'mSoundAreaInfoPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB010E0, Setter:0xB026A0, CRC32:0x4D9D2709, Flags:0x810000 + string 'mAnotherMapName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB00FE0, Setter:0xB021E0, CRC32:0x50C0E9B9, Flags:0x800000 + string 'mRoomWepPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB01090, Setter:0xB02540, CRC32:0x3766C643, Flags:0x810000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageJoint vftable:0x1C75FE0, Size:0x450, CRC32:0x5D25E20A +class rStageJoint /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageJoint::Info vftable:0x1C75FB0, Size:0x3C0, CRC32:0x48890AF +class rStageJoint::Info /*: MtObject*/ { + s8 'mJoint'[16] ; // Offset:0x304, Array, CRC32:0x6041E6C6, Flags:0x200000 + color 'mColor' ; // Offset:0x314, Var, CRC32:0x9BE2D228, Flags:0x0 + s32 'mEpvIndexAlways' ; // Offset:0x318, Var, CRC32:0x166761E7, Flags:0x0 + s32 'mEpvIndexDay' ; // Offset:0x31C, Var, CRC32:0x43F3BB02, Flags:0x0 + s32 'mEpvIndexNight' ; // Offset:0x320, Var, CRC32:0xD75A1CB, Flags:0x0 + string 'mComment' ; // Offset:0x3B8, Var, CRC32:0x17962172, Flags:0x0 + u32 'mVersion' ; // Offset:0x3BC, Var, CRC32:0x3CFEA0DD, Flags:0x0 + string 'mSndInfo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8460, Setter:0xAF8FB0, CRC32:0xD7BD9804, Flags:0x800000 + string 'mEpv' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF83A0, Setter:0xAF8E70, CRC32:0xF7FFEDE9, Flags:0x800000 + string 'mPlantTree' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8430, Setter:0xAF8F30, CRC32:0xE85FAD41, Flags:0x800000 + string 'mNaviMesh' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8420, Setter:0xAF8F00, CRC32:0x8C4CABB8, Flags:0x800000 + string 'mLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8400, Setter:0xAF8EA0, CRC32:0x96AEC636, Flags:0x800000 + string 'mEffSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF8370, Setter:0xAF8E20, GetCount:0xAF8390, Reallocate:0xAF8E60 CRC32:0x32D21567, Flags:0xA00000 + string 'mScrSbc'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF8440, Setter:0xAF8F60, GetCount:0xAF8450, Reallocate:0xAF8FA0 CRC32:0xF0C6BB59, Flags:0xA00000 + string 'mModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8410, Setter:0xAF8ED0, CRC32:0x2A21E818, Flags:0x800000 +}; + +// rStageJoint::Param vftable:0x1C75FCC, Size:0x20, CRC32:0x4551E88B +class rStageJoint::Param /*: MtObject*/ { + f32 'mStartX' ; // Offset:0x4, Var, CRC32:0xF4B6789E, Flags:0x0 + f32 'mStartZ' ; // Offset:0x8, Var, CRC32:0x1AB819B2, Flags:0x0 + f32 'mDeltaX' ; // Offset:0xC, Var, CRC32:0x76B7B6F4, Flags:0x0 + f32 'mDeltaZ' ; // Offset:0x10, Var, CRC32:0x98B9D7D8, Flags:0x0 + s8 'mpArea'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xAF82B0, Setter:0xAF8BC0, GetCount:0xAF8310, Reallocate:0xAF8BF0 CRC32:0x5567EF5D, Flags:0xA00000 + u32 'mAreaNumZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8330, Setter:0xAF8D10, CRC32:0xA46D6672, Flags:0x800000 + u32 'mAreaNumX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xAF8320, Setter:0xAF8C00, CRC32:0x4A63075E, Flags:0x800000 +}; + +// rStageList vftable:0x1C6EF28, Size:0x70, CRC32:0x21502841 +class rStageList /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageList::Info vftable:0x1C6EF0C, Size:0x18, CRC32:0x43B85BE0 +class rStageList::Info /*: MtObject*/ { + u32 'mStageNo' ; // Offset:0x4, Var, CRC32:0xACF5AFCF, Flags:0x0 + u32 'mType' ; // Offset:0x8, Var, CRC32:0x55D79C15, Flags:0x0 + u8 'mRecommendLevel' ; // Offset:0xC, Var, CRC32:0x1B9E589E, Flags:0x0 + u32 'mMessageId' ; // Offset:0x10, Var, CRC32:0xF8572E9E, Flags:0x0 + u32 'mVersion' ; // Offset:0x14, Var, CRC32:0x3CFEA0DD, Flags:0x0 +}; + +// rStageMap vftable:0x1C6F058, Size:0x70, CRC32:0x34CE45C5 +class rStageMap /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStageToSpot vftable:0x1C6F1A8, Size:0x70, CRC32:0x2E244717 +class rStageToSpot /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStaminaDecTbl vftable:0x1C77224, Size:0x80, CRC32:0xF985E6B +class rStaminaDecTbl /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mDecTbl' ; // Offset:0x68, Var, CRC32:0x1C004734, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStarCatalog vftable:0x20CD5AC, Size:0x70, CRC32:0x3E356F93 +class rStarCatalog /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStartPos vftable:0x1C772B0, Size:0x80, CRC32:0x671F21DA +class rStartPos /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'InfoList' ; // Offset:0x68, Var, CRC32:0x77F74A09, Flags:0x4000000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStartPos::Info vftable:0x1C77298, Size:0xC0, CRC32:0x6F5C7D88 +class rStartPos::Info /*: MtObject*/ { + vector3 'Pos' ; // Offset:0x10, Var, CRC32:0x476B5FB3, Flags:0x0 + f32 'Ang' ; // Offset:0x20, Var, CRC32:0x594E73C8, Flags:0x0 + f32 'OfsAng'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xB039E0, Setter:0xB03CD0, GetCount:0xB039F0, Reallocate:0xB03CF0 CRC32:0x863B3E5F, Flags:0xA00000 + vector3 'OfsPos'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xB03A00, Setter:0xB03D00, GetCount:0xB03A30, Reallocate:0xB03D30 CRC32:0x981E1224, Flags:0xA00000 +}; + +// rStartPosArea vftable:0x1C6F2A0, Size:0x70, CRC32:0x55B04125 +class rStartPosArea /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStatusCheck vftable:0x1C6F848, Size:0x70, CRC32:0x392C4658 +class rStatusCheck /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rStatusGainTable vftable:0x1C773B8, Size:0x70, CRC32:0x3A2F1717 +class rStatusGainTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rSwingModel vftable:0x20CCB9C, Size:0x80, CRC32:0x257D2F7C +class rSwingModel /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + bool 'mHighPrecisionMode' ; // Offset:0x70, Var, CRC32:0x6AD6035F, Flags:0x10000 + bool 'mAdjustPosition' ; // Offset:0x71, Var, CRC32:0xA3B9E2E8, Flags:0x10000 + bool 'mAdjustNormalTangent' ; // Offset:0x72, Var, CRC32:0x3A8F4CBE, Flags:0x10000 + bool 'mUseWorldPosition' ; // Offset:0x73, Var, CRC32:0x6249FA43, Flags:0x10000 + u32 'mSwingMode' ; // Offset:0x74, Var, CRC32:0xC45806BB, Flags:0x10000 + f32 'mFrequencyFactor' ; // Offset:0x78, Var, CRC32:0x3CA41643, Flags:0x10000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTable vftable:0x1C77458, Size:0xA0, CRC32:0x791DA5C9 +class rTable /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTargetCursorOffset vftable:0x1C797D0, Size:0x70, CRC32:0x5FC0F1E5 +class rTargetCursorOffset /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTbl2Base vftable:0x1C6F8F4, Size:0x68, CRC32:0x6FF30A76 +class rTbl2Base /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTbl2ChatMacro vftable:0x1C779E0, Size:0x70, CRC32:0x6ED89A4A +class rTbl2ChatMacro /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTbl2ClanEmblemTextureId vftable:0x1C77AF0, Size:0x70, CRC32:0x7FF0E147 +class rTbl2ClanEmblemTextureId /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTbl2ItemIconId vftable:0x1C77BF8, Size:0x70, CRC32:0xA8754E0 +class rTbl2ItemIconId /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTblMenuComm vftable:0x1C78198, Size:0x80, CRC32:0x2AD9E88A +class rTblMenuComm /*: cResource, MtObject*/ { + u32 'mResourceType' ; // Offset:0x68, Var, CRC32:0x9B6E716E, Flags:0x0 + class 'mArray' ; // Offset:0x6C, Var, CRC32:0x5CB87476, Flags:0x0 +}; + +// rTblMenuComm::cData vftable:0x1C78128, Size:0x10, CRC32:0x2BA79811 +class rTblMenuComm::cData /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mId2' ; // Offset:0x8, Var, CRC32:0xA1FA4651, Flags:0x0 + u32 'mVoiceId' ; // Offset:0xC, Var, CRC32:0xF05DE1E9, Flags:0x0 +}; + +// rTblMenuComm::cDataList vftable:0x1C78164, Size:0x1C, CRC32:0x13E182E6 +class rTblMenuComm::cDataList /*: MtObject*/ { + u32 'mCtgrId' ; // Offset:0x4, Var, CRC32:0x978C11E0, Flags:0x0 + class 'mList' ; // Offset:0x8, Var, CRC32:0x9DC13324, Flags:0x0 +}; + +// rTblMenuOption vftable:0x1C78808, Size:0x80, CRC32:0x18B8FB84 +class rTblMenuOption /*: cResource, MtObject*/ { + class 'mCtgr' ; // Offset:0x68, Var, CRC32:0x16916131, Flags:0x0 +}; + +// rTblMenuOption::cCaption vftable:0x1C78768, Size:0x20, CRC32:0x1C7E5117 +class rTblMenuOption::cCaption /*: MtObject*/ { + u32 'mSortId' ; // Offset:0x4, Var, CRC32:0xE0206EF7, Flags:0x0 + u32 'mCaptionId' ; // Offset:0x8, Var, CRC32:0x61A35D1C, Flags:0x0 + class 'mData' ; // Offset:0xC, Var, CRC32:0x74FA385F, Flags:0x0 +}; + +// rTblMenuOption::cCtgr vftable:0x1C787D8, Size:0x20, CRC32:0x62C1A4C0 +class rTblMenuOption::cCtgr /*: MtObject*/ { + u32 'mSortId' ; // Offset:0x4, Var, CRC32:0xE0206EF7, Flags:0x0 + u32 'mCtgrId' ; // Offset:0x8, Var, CRC32:0x978C11E0, Flags:0x0 + class 'mTab' ; // Offset:0xC, Var, CRC32:0xA318D3C3, Flags:0x0 +}; + +// rTblMenuOption::cData vftable:0x1C78730, Size:0x24, CRC32:0xAAFDAE +class rTblMenuOption::cData /*: MtObject*/ { + u32 'mSortId' ; // Offset:0x4, Var, CRC32:0xE0206EF7, Flags:0x0 + u32 'mDataId' ; // Offset:0x8, Var, CRC32:0x7E45DCF2, Flags:0x0 + u32 'mCtrlType' ; // Offset:0xC, Var, CRC32:0x1C6FAD19, Flags:0x0 + class 'mPulldown' ; // Offset:0x10, Var, CRC32:0x41E39BA2, Flags:0x0 +}; + +// rTblMenuOption::cPulldown vftable:0x1C786F8, Size:0xC, CRC32:0x58E56BA +class rTblMenuOption::cPulldown /*: MtObject*/ { + u32 'mSortId' ; // Offset:0x4, Var, CRC32:0xE0206EF7, Flags:0x0 + u32 'mPulldownId' ; // Offset:0x8, Var, CRC32:0x90888449, Flags:0x0 +}; + +// rTblMenuOption::cTab vftable:0x1C787A0, Size:0x20, CRC32:0x420FB840 +class rTblMenuOption::cTab /*: MtObject*/ { + u32 'mSortId' ; // Offset:0x4, Var, CRC32:0xE0206EF7, Flags:0x0 + u32 'mTabId' ; // Offset:0x8, Var, CRC32:0x9469F5F6, Flags:0x0 + class 'mCaption' ; // Offset:0xC, Var, CRC32:0x759E3A7B, Flags:0x0 +}; + +// rTexDetailEdit vftable:0x1C78960, Size:0x80, CRC32:0x6F62D575 +class rTexDetailEdit /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mEditList' ; // Offset:0x68, Var, CRC32:0x4C49B97A, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTexDetailEdit::DetailParam vftable:0x1C7894C, Size:0x14, CRC32:0x4CFD5420 +class rTexDetailEdit::DetailParam /*: MtObject*/ { + u32 'mType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB07930, Setter:0xB07B00, CRC32:0x55D79C15, Flags:0x800000 + u32 'mForm' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB07900, Setter:0xB07AA0, CRC32:0x8B813673, Flags:0x800000 + string 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB07910, Setter:0xB07AB0, CRC32:0xD25D4033, Flags:0x800000 +}; + +// rTexture vftable:0x20C681C, Size:0xF0, CRC32:0x241F5DEB +class rTexture /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTexture' ; // Offset:0xD4, Var, CRC32:0xC83DF7A2, Flags:0x130000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTextureJpeg vftable:0x20CBC6C, Size:0x100, CRC32:0x12FFA9A5 +class rTextureJpeg /*: rTexture, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTexture' ; // Offset:0xD4, Var, CRC32:0xC83DF7A2, Flags:0x130000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTextureMemory vftable:0x20C6864, Size:0xF0, CRC32:0x3608C2EE +class rTextureMemory /*: rTexture, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTexture' ; // Offset:0xD4, Var, CRC32:0xC83DF7A2, Flags:0x130000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTexturePNG vftable:0x20C68A8, Size:0xF0, CRC32:0x4D548901 +class rTexturePNG /*: rTexture, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + classref 'mpTexture' ; // Offset:0xD4, Var, CRC32:0xC83DF7A2, Flags:0x130000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rThinkParamRange vftable:0x1C5C9E8, Size:0x70, CRC32:0x5AA51085 +class rThinkParamRange /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rThinkParamTimer vftable:0x1C5C8F8, Size:0x70, CRC32:0x23F294D6 +class rThinkParamTimer /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rTutorialDialogMessage vftable:0x1C78A00, Size:0x88, CRC32:0x7D8F00BD +class rTutorialDialogMessage /*: cResource, MtObject*/ { + u32 'mTitleGmdIdx' ; // Offset:0x68, Var, CRC32:0xC378999B, Flags:0x0 + u32 'mCategoryGmdIdx' ; // Offset:0x6C, Var, CRC32:0xBEB5C000, Flags:0x0 + class 'mPageInfo' ; // Offset:0x70, Var, CRC32:0xC2E1BF9F, Flags:0x0 +}; + +// rTutorialDialogMessage::cDialogPage vftable:0x1C78A48, Size:0xC, CRC32:0x7D950423 +class rTutorialDialogMessage::cDialogPage /*: MtObject*/ { + u32 'mTextGmdIdx' ; // Offset:0x4, Var, CRC32:0x291E0176, Flags:0x0 + u32 'mImageId' ; // Offset:0x8, Var, CRC32:0x93117053, Flags:0x0 +}; + +// rTutorialList vftable:0x1C78AFC, Size:0x80, CRC32:0x4CDCD5B5 +class rTutorialList /*: cResource, MtObject*/ { + class 'mArray' ; // Offset:0x68, Var, CRC32:0x5CB87476, Flags:0x0 +}; + +// rTutorialList::cTutorialNode vftable:0x1C78B44, Size:0x1C, CRC32:0x5177B53D +class rTutorialList::cTutorialNode /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 + u32 'mSortNo' ; // Offset:0x8, Var, CRC32:0x38B321B8, Flags:0x0 + u32 'mTitleGmdIdx' ; // Offset:0xC, Var, CRC32:0xC378999B, Flags:0x0 + u32 'mCategory' ; // Offset:0x10, Var, CRC32:0x2EC2295C, Flags:0x0 + u32 'mOpenQuestId' ; // Offset:0x14, Var, CRC32:0x9C32521A, Flags:0x0 + bool 'mIsNoDispNotice' ; // Offset:0x18, Var, CRC32:0x33F6E236, Flags:0x0 +}; + +// rTutorialQuestGroup vftable:0x1C78BC8, Size:0x80, CRC32:0x3576E7E +class rTutorialQuestGroup /*: cResource, MtObject*/ { + class 'mGroups' ; // Offset:0x68, Var, CRC32:0xCEF19041, Flags:0x0 +}; + +// rTutorialQuestGroup::cGroup vftable:0x1C78C20, Size:0x1C, CRC32:0x4825A204 +class rTutorialQuestGroup::cGroup /*: MtObject*/ { + class 'mQuestIds' ; // Offset:0x4, Var, CRC32:0x26C68A21, Flags:0x0 + u32 'mGroupId' ; // Offset:0x18, Var, CRC32:0x6E63FBAE, Flags:0x0 +}; + +// rTutorialQuestGroup::cGroup::cQuestId vftable:0x1C78C44, Size:0x8, CRC32:0x59FE5094 +class rTutorialQuestGroup::cGroup::cQuestId /*: MtObject*/ { + u32 'mId' ; // Offset:0x4, Var, CRC32:0x2BD52F93, Flags:0x0 +}; + +// rTutorialTargetList vftable:0x1C78D70, Size:0x70, CRC32:0x1AF8B57F +class rTutorialTargetList /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rVertices vftable:0x20D1CF4, Size:0x78, CRC32:0x1AE50150 +class rVertices /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mVertexNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17CF6C0, Setter:0x17CF9E0, CRC32:0xAE7D406D, Flags:0x830000 + u32 'mResourceSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17CF6B0, Setter:0x17CF9E0, CRC32:0xE070022D, Flags:0x830000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rVfxLightInfluence vftable:0x1C8DA28, Size:0x70, CRC32:0x1DA085FE +class rVfxLightInfluence /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rVibration vftable:0x20CA9B8, Size:0x78, CRC32:0x358012E8 +class rVibration /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + f32 'mBaseFps' ; // Offset:0x70, Var, CRC32:0xE1A1187F, Flags:0x10000 + u32 'mListNum' ; // Offset:0x74, Var, CRC32:0x3C03492B, Flags:0x10000 + u32 'mResourceSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x166D770, Setter:0x166D990, CRC32:0xE070022D, Flags:0x810000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWarpLocation vftable:0x1C78E78, Size:0x70, CRC32:0x334F284D +class rWarpLocation /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWaypoint vftable:0x1C78F2C, Size:0x90, CRC32:0x682BE5BC +class rWaypoint /*: cResource, MtObject*/ { + class 'mPointList' ; // Offset:0x68, Var, CRC32:0xA6C94201, Flags:0x0 + class 'mRouteList' ; // Offset:0x7C, Var, CRC32:0xD78C03F2, Flags:0x0 +}; + +// rWaypoint2 vftable:0x1C7901C, Size:0xA8, CRC32:0xAE885C2 +class rWaypoint2 /*: rWaypoint, cResource, MtObject*/ { + class 'mPointList' ; // Offset:0x68, Var, CRC32:0xA6C94201, Flags:0x0 + class 'mRouteList2' ; // Offset:0x90, Var, CRC32:0x9BB34EB3, Flags:0x0 +}; + +// rWaypoint2::cRoute2 vftable:0x1C79064, Size:0x44, CRC32:0xC122FC7 +class rWaypoint2::cRoute2 /*: MtObject*/ { + s32 'mPointIdx'[8] ; // Offset:0x4, Array, CRC32:0x51A203FF, Flags:0x200000 + f32 'mWeight'[8] ; // Offset:0x24, Array, CRC32:0x3951FC70, Flags:0x200000 +}; + +// rWaypoint::cPoint vftable:0x1C78F74, Size:0x30, CRC32:0x336D0D3 +class rWaypoint::cPoint /*: MtObject*/ { + vector3 'mPos' ; // Offset:0x10, Var, CRC32:0x50227663, Flags:0x0 + f32 'mRadius' ; // Offset:0x20, Var, CRC32:0x5E0C76B, Flags:0x0 +}; + +// rWaypoint::cRoute vftable:0x1C78F90, Size:0x24, CRC32:0x3657038E +class rWaypoint::cRoute /*: MtObject*/ { + s32 'mPointIdx'[4] ; // Offset:0x4, Array, CRC32:0x51A203FF, Flags:0x200000 + f32 'mWeight'[4] ; // Offset:0x14, Array, CRC32:0x3951FC70, Flags:0x200000 +}; + +// rWeaponOffset vftable:0x1C79130, Size:0x70, CRC32:0x30E3BE3A +class rWeaponOffset /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeaponResTable vftable:0x1C796B0, Size:0x70, CRC32:0x1C8557A3 +class rWeaponResTable /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeatherEffectParam vftable:0x1C79880, Size:0xF8, CRC32:0x6186627D +class rWeatherEffectParam /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeatherFogInfo vftable:0x1C7A100, Size:0x70, CRC32:0x2FC59F45 +class rWeatherFogInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeatherInfoTbl vftable:0x1C79E00, Size:0x70, CRC32:0x7E7111A3 +class rWeatherInfoTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeatherParamEfcInfo vftable:0x1C7A018, Size:0x70, CRC32:0x418EE289 +class rWeatherParamEfcInfo /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeatherParamInfoTbl vftable:0x1C79F30, Size:0x70, CRC32:0x735D81FA +class rWeatherParamInfoTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rWeatherStageInfo vftable:0x1C7A168, Size:0xC0, CRC32:0x14A7B5C9 +class rWeatherStageInfo /*: cResource, MtObject*/ { + custom 'mpSkyRes' ; // Offset:0x68, Var, CRC32:0xF12AD37E, Flags:0x0 + custom 'mpRefSkyRes' ; // Offset:0x6C, Var, CRC32:0x19C938ED, Flags:0x0 + custom 'mpModelScheduler' ; // Offset:0x70, Var, CRC32:0x191BDAFF, Flags:0x0 + custom 'mpStarModel' ; // Offset:0x74, Var, CRC32:0x21E9B336, Flags:0x0 + custom 'mpStarTex' ; // Offset:0x78, Var, CRC32:0xD28176A5, Flags:0x0 + custom 'mpStarCatalog' ; // Offset:0x7C, Var, CRC32:0x6F70CBC1, Flags:0x0 + f32 'mStarSize' ; // Offset:0x80, Var, CRC32:0x4158B6A7, Flags:0x0 + f32 'mStarrySkyIntensity' ; // Offset:0x84, Var, CRC32:0xA0D14BD7, Flags:0x0 + f32 'mStarTwinkleAmplitude' ; // Offset:0x88, Var, CRC32:0x4A1DEC25, Flags:0x0 + vector3 'mEnvMapBaseColor'[2] ; // Offset:0x90, Array, CRC32:0x4692F207, Flags:0x8200000 + f32 'mEnvMapBlendColorScale'[2] ; // Offset:0xB0, Array, CRC32:0x78A7A8FF, Flags:0x8200000 +}; + +// rWepCateResTbl vftable:0x1C7A9E0, Size:0x70, CRC32:0x410AA0F7 +class rWepCateResTbl /*: rTbl2Base, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rZone vftable:0x20D18F8, Size:0xC0, CRC32:0x1B520B68 +class rZone /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// rZone::cGroupManager vftable:0x20D18E4, Size:0x2C, CRC32:0x2BACDC38 +class rZone::cGroupManager /*: MtObject*/ { +}; + +// rkThinkData vftable:0x1C64908, Size:0x470, CRC32:0x593653D3 +class rkThinkData /*: cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// sAI vftable:0x0, Size:0x50, CRC32:0x306B7794 +class sAI /*: cSystem, MtObject*/ { +}; + +// sAIExt vftable:0x0, Size:0x130, CRC32:0x6DB4E8D +class sAIExt /*: sAI, cSystem, MtObject*/ { +}; + +// sAIPawnNotice vftable:0x0, Size:0x42C, CRC32:0x5280B +class sAIPawnNotice /*: cSystem, MtObject*/ { +}; + +// sAIPawnSys vftable:0x0, Size:0x90, CRC32:0x574D9CE7 +class sAIPawnSys /*: cSystem, MtObject*/ { +}; + +// sAIPawnTalkMgr vftable:0x0, Size:0x904, CRC32:0x2A8173E0 +class sAIPawnTalkMgr /*: cSystem, MtObject*/ { +}; + +// sAIPawnTalkMgr::cAIPawnTalkInfo vftable:0x0, Size:0x54, CRC32:0x66E39E14 +class sAIPawnTalkMgr::cAIPawnTalkInfo /*: MtObject*/ { +}; + +// sAIPawnTalkMgr::cAIPawnTalkWaitNode vftable:0x0, Size:0x18, CRC32:0x462EEA1 +class sAIPawnTalkMgr::cAIPawnTalkWaitNode /*: MtObject*/ { +}; + +// sApp vftable:0x0, Size:0x2748, CRC32:0x2953C0AC +class sApp /*: cSystem, MtObject*/ { +}; + +// sApp::Item vftable:0x0, Size:0x44, CRC32:0x58C72E3D +class sApp::Item /*: MtObject*/ { +}; + +// sAppExt vftable:0x0, Size:0x12780, CRC32:0x2F257A5D +class sAppExt /*: sApp, cSystem, MtObject*/ { +}; + +// sArchiveManager vftable:0x0, Size:0x220, CRC32:0x127DA261 +class sArchiveManager /*: cSystem, MtObject*/ { +}; + +// sArchiveManager2 vftable:0x0, Size:0x168, CRC32:0x72707DEC +class sArchiveManager2 /*: cSystem, MtObject*/ { +}; + +// sArea vftable:0x0, Size:0x384C, CRC32:0x514DDFB7 +class sArea /*: cSystem, MtObject*/ { +}; + +// sArea::AreaInfo vftable:0x0, Size:0x1C, CRC32:0x74221BC8 +class sArea::AreaInfo /*: MtObject*/ { +}; + +// sAreaExt vftable:0x0, Size:0x3878, CRC32:0x8030549 +class sAreaExt /*: sArea, cSystem, MtObject*/ { +}; + +// sAreaHit vftable:0x0, Size:0x1078, CRC32:0x5302B50A +class sAreaHit /*: cSystem, MtObject*/ { +}; + +// sBakingJointOrder vftable:0x0, Size:0x776540, CRC32:0x5D3CDF9A +class sBakingJointOrder /*: cSystem, MtObject*/ { +}; + +// sBazaarManager vftable:0x0, Size:0x160, CRC32:0x795CB149 +class sBazaarManager /*: cSystem, MtObject*/ { +}; + +// sBazaarManager::cBazaarCharListCtrl vftable:0x0, Size:0x2C, CRC32:0x1C4F554A +class sBazaarManager::cBazaarCharListCtrl /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarCharListData vftable:0x0, Size:0x48, CRC32:0x339ED753 +class sBazaarManager::cBazaarCharListData /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarExhibitItemCtrl vftable:0x0, Size:0x20, CRC32:0x79ECDAF8 +class sBazaarManager::cBazaarExhibitItemCtrl /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarItemHistoryData vftable:0x0, Size:0x20, CRC32:0xDE70C4A +class sBazaarManager::cBazaarItemHistoryData /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarItemInfoCtrl vftable:0x0, Size:0x3C, CRC32:0x616AC3AC +class sBazaarManager::cBazaarItemInfoCtrl /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarItemInfoData vftable:0x0, Size:0x30, CRC32:0x4EBB41B5 +class sBazaarManager::cBazaarItemInfoData /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarItemListCtrl vftable:0x0, Size:0x1C, CRC32:0x2806C6FD +class sBazaarManager::cBazaarItemListCtrl /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarItemListData vftable:0x0, Size:0x10, CRC32:0x7D744E4 +class sBazaarManager::cBazaarItemListData /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarItemPrimLimit vftable:0x0, Size:0x14, CRC32:0x52B03912 +class sBazaarManager::cBazaarItemPrimLimit /*: MtObject*/ { +}; + +// sBazaarManager::cBazaarProceedsCtrl vftable:0x0, Size:0x8, CRC32:0x3886DB2 +class sBazaarManager::cBazaarProceedsCtrl /*: MtObject*/ { +}; + +// sBenchmark vftable:0x0, Size:0x1848, CRC32:0x52FF77E1 +class sBenchmark /*: cSystem, MtObject*/ { +}; + +// sBenchmark::BenchmarkInfo vftable:0x0, Size:0x18, CRC32:0x53F155D9 +class sBenchmark::BenchmarkInfo /*: MtObject*/ { +}; + +// sBrowser vftable:0x0, Size:0xA938, CRC32:0x30C05F3D +class sBrowser /*: cSystem, MtObject*/ { +}; + +// sCamera vftable:0x0, Size:0xCF0, CRC32:0x3261A0A7 +class sCamera /*: cSystem, MtObject*/ { +}; + +// sCamera::Viewport vftable:0x0, Size:0x190, CRC32:0x342A0C36 +class sCamera::Viewport /*: MtObject*/ { +}; + +// sCameraExt vftable:0x0, Size:0xDF0, CRC32:0xE5AAF00 +class sCameraExt /*: sCamera, cSystem, MtObject*/ { +}; + +// sCameraExt::cShellCamWk vftable:0x0, Size:0x10, CRC32:0xF5EF279 +class sCameraExt::cShellCamWk /*: MtObject*/ { +}; + +// sCapture vftable:0x0, Size:0x150, CRC32:0x612DF6E2 +class sCapture /*: cSystem, MtObject*/ { +}; + +// sChat vftable:0x0, Size:0x1C090, CRC32:0x63441075 +class sChat /*: cSystem, MtObject*/ { +}; + +// sClanKyoten vftable:0x0, Size:0x350, CRC32:0x68CAAF1A +class sClanKyoten /*: cSystem, MtObject*/ { +}; + +// sClanKyoten::cClanEmblemTextureCtrl vftable:0x0, Size:0xC, CRC32:0x58D3315 +class sClanKyoten::cClanEmblemTextureCtrl /*: MtObject*/ { +}; + +// sCollision vftable:0x0, Size:0x11E20, CRC32:0x3E3E1CA1 +class sCollision /*: cSystem, MtObject*/ { +}; + +// sCollision::ActiveNodeInfo vftable:0x0, Size:0x20, CRC32:0x10B479D2 +class sCollision::ActiveNodeInfo /*: MtObject*/ { +}; + +// sCollision::Collider vftable:0x0, Size:0x30, CRC32:0x76D2EF9F +class sCollision::Collider /*: MtObject*/ { +}; + +// sCollision::Collider::cNodeListArray vftable:0x0, Size:0x14, CRC32:0x1B639153 +class sCollision::Collider::cNodeListArray /*: MtArray, MtObject*/ { +}; + +// sCollision::ColliderActiveNodeInfo vftable:0x0, Size:0x2C, CRC32:0x2C15D09A +class sCollision::ColliderActiveNodeInfo /*: sCollision::ActiveNodeInfo, MtObject*/ { +}; + +// sCollision::ColliderPassiveNodeInfo vftable:0x0, Size:0x18, CRC32:0x2161DCF0 +class sCollision::ColliderPassiveNodeInfo /*: MtObject*/ { +}; + +// sCollision::Node vftable:0x0, Size:0xA0, CRC32:0x328E34B +class sCollision::Node /*: nCollision::cCollisionNodeObject, nCollision::cCollisionNode, nCollision::cObjectBase, MtObject*/ { +}; + +// sCollision::NodeList vftable:0x0, Size:0xE9C, CRC32:0x665BC6EF +class sCollision::NodeList /*: MtObject*/ { +}; + +// sCollision::Param vftable:0x0, Size:0xD0, CRC32:0x11C6E908 +class sCollision::Param /*: MtObject*/ { +}; + +// sCollision::Sbc vftable:0x0, Size:0x70, CRC32:0x21359C2A +class sCollision::Sbc /*: MtObject*/ { +}; + +// sCollision::Sbc::Parts vftable:0x0, Size:0x40, CRC32:0x5A2E584C +class sCollision::Sbc::Parts /*: MtObject*/ { +}; + +// sCollision::SbcInfo vftable:0x0, Size:0x60, CRC32:0x72991E73 +class sCollision::SbcInfo /*: sCollision::SbcInfoBase, MtObject*/ { +}; + +// sCollision::SbcInfoBase vftable:0x0, Size:0x34, CRC32:0x30782E08 +class sCollision::SbcInfoBase /*: MtObject*/ { +}; + +// sCollision::SbcLockInfo vftable:0x0, Size:0xD0, CRC32:0x709FD39D +class sCollision::SbcLockInfo /*: sCollision::SbcInfo, sCollision::SbcInfoBase, MtObject*/ { +}; + +// sCollision::SbcObject vftable:0x0, Size:0x1528, CRC32:0x334DDCFC +class sCollision::SbcObject /*: MtObject*/ { +}; + +// sCollision::SbcObject::cRegisterInfo vftable:0x0, Size:0x18, CRC32:0x216607F +class sCollision::SbcObject::cRegisterInfo /*: MtObject*/ { +}; + +// sCollision::ScrCollisionInfo vftable:0x0, Size:0x190, CRC32:0x2FEF117C +class sCollision::ScrCollisionInfo /*: sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoAdjustPosition vftable:0x0, Size:0x3C0, CRC32:0x33CB93A0 +class sCollision::ScrCollisionInfoAdjustPosition /*: sCollision::ScrCollisionInfoCastConvex, sCollision::ScrCollisionInfoFind, sCollision::ScrCollisionInfo, sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoBase vftable:0x0, Size:0x100, CRC32:0xFF88A5A +class sCollision::ScrCollisionInfoBase /*: MtObject*/ { +}; + +// sCollision::ScrCollisionInfoCastConvex vftable:0x0, Size:0x220, CRC32:0x6FD96CF3 +class sCollision::ScrCollisionInfoCastConvex /*: sCollision::ScrCollisionInfoFind, sCollision::ScrCollisionInfo, sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoFind vftable:0x0, Size:0x1E0, CRC32:0x6E2103F +class sCollision::ScrCollisionInfoFind /*: sCollision::ScrCollisionInfo, sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoFind4 vftable:0x0, Size:0x220, CRC32:0x17D43B98 +class sCollision::ScrCollisionInfoFind4 /*: sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoGetAreaPoly vftable:0x0, Size:0x230, CRC32:0x16C3E84A +class sCollision::ScrCollisionInfoGetAreaPoly /*: sCollision::ScrCollisionInfo, sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoOriginal vftable:0x0, Size:0x1A0, CRC32:0x2DF3CF9D +class sCollision::ScrCollisionInfoOriginal /*: sCollision::ScrCollisionInfo, sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::ScrCollisionInfoPreTraverse vftable:0x0, Size:0x1A0, CRC32:0x189DA90B +class sCollision::ScrCollisionInfoPreTraverse /*: sCollision::ScrCollisionInfo, sCollision::ScrCollisionInfoBase, MtObject*/ { +}; + +// sCollision::TriangleInfo vftable:0x0, Size:0xA0, CRC32:0x2ED47FDC +class sCollision::TriangleInfo /*: sCollision::SbcInfo, sCollision::SbcInfoBase, MtObject*/ { +}; + +// sCollision::cColArray vftable:0x0, Size:0x20, CRC32:0x281AE264 +class sCollision::cColArray /*: MtCollisionUtil::MtArrayEx, MtArray, MtObject*/ { +}; + +// sCollision::cSbcArrayBP vftable:0x0, Size:0x2AA0, CRC32:0x69708D8D +class sCollision::cSbcArrayBP /*: sCollision::cColArray, MtCollisionUtil::MtArrayEx, MtArray, MtObject*/ { +}; + +// sCollision::cSbcArrayBP::cDBVTMaster vftable:0x0, Size:0x168, CRC32:0x1E744687 +class sCollision::cSbcArrayBP::cDBVTMaster /*: MtObject*/ { +}; + +// sCollision::cSbcHeightField vftable:0x0, Size:0x18, CRC32:0x217D9560 +class sCollision::cSbcHeightField /*: MtObject*/ { +}; + +// sCollision::cSbcHeightField::cHeightField vftable:0x0, Size:0x1C, CRC32:0x6634BDF3 +class sCollision::cSbcHeightField::cHeightField /*: MtObject*/ { +}; + +// sCollision::cSbcMoveMatrix vftable:0x0, Size:0x28, CRC32:0xB3DCD99 +class sCollision::cSbcMoveMatrix /*: nCollision::cScrCollisionMoveMatrix, MtObject*/ { +}; + +// sCollision::cSbcMoveReserveInfo vftable:0x0, Size:0x50, CRC32:0x4EF19179 +class sCollision::cSbcMoveReserveInfo /*: MtObject*/ { +}; + +// sCollision::cSbcMoveReserveInfoAll vftable:0x0, Size:0x50, CRC32:0x5D4C4EF +class sCollision::cSbcMoveReserveInfoAll /*: MtObject*/ { +}; + +// sCollision::cSbcMoveResetReserveInfo vftable:0x0, Size:0xC, CRC32:0x329BA31 +class sCollision::cSbcMoveResetReserveInfo /*: MtObject*/ { +}; + +// sCollision::cSbcMoveResetReserveInfoAll vftable:0x0, Size:0x8, CRC32:0x525BF55 +class sCollision::cSbcMoveResetReserveInfoAll /*: MtObject*/ { +}; + +// sCollision::cSbcRegistReserveInfo vftable:0x0, Size:0x14, CRC32:0x674D6873 +class sCollision::cSbcRegistReserveInfo /*: MtObject*/ { +}; + +// sCollision::cSbcSkinMesh vftable:0x0, Size:0x450, CRC32:0xBF2A44A +class sCollision::cSbcSkinMesh /*: MtObject*/ { +}; + +// sCollision::cSbcSkinMesh::cRegisterInfo vftable:0x0, Size:0x10, CRC32:0x97B7A83 +class sCollision::cSbcSkinMesh::cRegisterInfo /*: MtObject*/ { +}; + +// sCollision::cSystemInitializeParam vftable:0x0, Size:0x2A4, CRC32:0x1291FE17 +class sCollision::cSystemInitializeParam /*: MtObject*/ { +}; + +// sCollisionExt vftable:0x0, Size:0x11E30, CRC32:0x39737E6F +class sCollisionExt /*: sCollision, cSystem, MtObject*/ { +}; + +// sContextManager vftable:0x0, Size:0x120, CRC32:0x5894FD23 +class sContextManager /*: cSystem, MtObject*/ { +}; + +// sContextManager::List vftable:0x0, Size:0x10, CRC32:0x6ADFE659 +class sContextManager::List /*: MtObject*/ { +}; + +// sControlManager vftable:0x0, Size:0xE0, CRC32:0x7A196294 +class sControlManager /*: cSystem, MtObject*/ { +}; + +// sControlManager::cDispPriorityData vftable:0x0, Size:0x8, CRC32:0x646CCCA4 +class sControlManager::cDispPriorityData /*: MtObject*/ { +}; + +// sCoprocessor vftable:0x0, Size:0x20F8, CRC32:0x77711879 +class sCoprocessor /*: cSystem, MtObject*/ { +}; + +// sCraftManager vftable:0x0, Size:0x1348, CRC32:0x7B5EC54 +class sCraftManager /*: cSystem, MtObject*/ { +}; + +// sCraftManager::CreateItem vftable:0x0, Size:0x18, CRC32:0xD7CECBD +class sCraftManager::CreateItem /*: MtObject*/ { +}; + +// sCraftManager::PawnCost vftable:0x0, Size:0x1C, CRC32:0x2A06A4D3 +class sCraftManager::PawnCost /*: MtObject*/ { +}; + +// sCraftManager::RecordRecipe vftable:0x0, Size:0x8, CRC32:0x4977FDAC +class sCraftManager::RecordRecipe /*: MtObject*/ { +}; + +// sCraftManager::cAddExp vftable:0x0, Size:0x8, CRC32:0x4235924B +class sCraftManager::cAddExp /*: MtObject*/ { +}; + +// sCraftManager::cCraftFinishNotice vftable:0x0, Size:0x8, CRC32:0x4D1D567F +class sCraftManager::cCraftFinishNotice /*: MtObject*/ { +}; + +// sCraftManager::cCraftIrReductionData vftable:0x0, Size:0x8, CRC32:0x3ACEA9A9 +class sCraftManager::cCraftIrReductionData /*: MtObject*/ { +}; + +// sCraftManager::cCraftPawnCtrl vftable:0x0, Size:0x208, CRC32:0x19C8FB53 +class sCraftManager::cCraftPawnCtrl /*: MtObject*/ { +}; + +// sCraftManager::cCraftRankUp vftable:0x0, Size:0x28, CRC32:0x3613CE77 +class sCraftManager::cCraftRankUp /*: MtObject*/ { +}; + +// sCraftManager::cCraftRecipeControl vftable:0x0, Size:0x34, CRC32:0x1224F93A +class sCraftManager::cCraftRecipeControl /*: MtObject*/ { +}; + +// sCraftManager::cCraftUpGrade vftable:0x0, Size:0x44, CRC32:0x122E424F +class sCraftManager::cCraftUpGrade /*: MtObject*/ { +}; + +// sCraftManager::cCraftUpGradeItemList vftable:0x0, Size:0x24, CRC32:0x567F9C64 +class sCraftManager::cCraftUpGradeItemList /*: MtObject*/ { +}; + +// sCraftManager::cEnhancedNeedItemData vftable:0x0, Size:0x24, CRC32:0x5952B6D0 +class sCraftManager::cEnhancedNeedItemData /*: MtObject*/ { +}; + +// sCraftManager::cEnhancedPack vftable:0x0, Size:0x18, CRC32:0x10FB50A2 +class sCraftManager::cEnhancedPack /*: MtObject*/ { +}; + +// sCraftManager::cEnhancedPackData vftable:0x0, Size:0xA0, CRC32:0x201CD74D +class sCraftManager::cEnhancedPackData /*: MtObject*/ { +}; + +// sCraftManager::stRecipeRequest vftable:0x0, Size:0xC, CRC32:0x7A028772 +class sCraftManager::stRecipeRequest /*: MtObject*/ { +}; + +// sDDOMain vftable:0x1CA3A08, Size:0x283B8, CRC32:0x7872DD2B +class sDDOMain /*: sMain, cSystem, MtObject*/ { + event 'ResetFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6E995B25, Flags:0xA0000 + event 'ResetTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1B1B9F2, Flags:0xA0000 + cstring 'mBuildVersion' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xC4B012E9, Flags:0x30000 + u64 'mTimer' ; // Offset:0x20, Var, CRC32:0x976444DB, Flags:0x30000 + u32 'mFrameTimer' ; // Offset:0x30, Var, CRC32:0x81E31C72, Flags:0x30000 + f32 'mFps' ; // Offset:0x38, Var, CRC32:0x85D3A73F, Flags:0x1000000 + f32 'mMaxFps' ; // Offset:0x3C, Var, CRC32:0xA3C96A9A, Flags:0x1000000 + f32 'mActualFps' ; // Offset:0x44, Var, CRC32:0xABAF7E5B, Flags:0x10000 + f32 'mDeltaTimeBorder' ; // Offset:0x6C, Var, CRC32:0xEA2D1CFF, Flags:0x20000 + f32 'mDeltaTimeLimite' ; // Offset:0x70, Var, CRC32:0x8FCFFA62, Flags:0x20000 + f32 'mDelayFrame' ; // Offset:0x74, Var, CRC32:0xBA2EBC65, Flags:0x30000 + u32 'mDelayJobThreadNum' ; // Offset:0x90, Var, CRC32:0x2E7C21F, Flags:0x30000 + u64 'mDelayJobWritePt' ; // Offset:0x98, Var, CRC32:0x22C36DFE, Flags:0x30000 + u64 'mDelayJobReadPt' ; // Offset:0xA0, Var, CRC32:0x4D6301B, Flags:0x30000 + u32 'mCPUCaps' ; // Offset:0x28028, Var, CRC32:0x7E2ABDE0, Flags:0x30000 + u32 'mCPUCoreNum' ; // Offset:0x2802C, Var, CRC32:0xDC5C332, Flags:0x30000 + u32 'mCPULogicalProcessorNum' ; // Offset:0x28030, Var, CRC32:0xA890267C, Flags:0x30000 + f32 'mSystemTimer' ; // Offset:0x28138, Var, CRC32:0x383458BE, Flags:0x10000 + classref 'mpRender' ; // Offset:0x2813C, Var, CRC32:0x1F697828, Flags:0x5000000 + classref 'mpTool' ; // Offset:0x28140, Var, CRC32:0xA200ECE4, Flags:0x5000000 + classref 'mpUnit' ; // Offset:0x28144, Var, CRC32:0x5E48DE66, Flags:0x5000000 + classref 'mpObjCollision' ; // Offset:0x28148, Var, CRC32:0x1C2823BC, Flags:0x5000000 + classref 'mpObjCondition' ; // Offset:0x2814C, Var, CRC32:0xFA338841, Flags:0x5000000 + classref 'mpLockOnManager' ; // Offset:0x28150, Var, CRC32:0x8D0C1121, Flags:0x5000000 + classref 'mpResource' ; // Offset:0x28154, Var, CRC32:0xE80A92B5, Flags:0x5000000 + classref 'mpCamera' ; // Offset:0x28158, Var, CRC32:0xB0290F47, Flags:0x5000000 + classref 'mpPad' ; // Offset:0x2815C, Var, CRC32:0x69C5CA95, Flags:0x5000000 + classref 'mpEffect' ; // Offset:0x28160, Var, CRC32:0x3D5570B0, Flags:0x5000000 + classref 'mpCollision' ; // Offset:0x28164, Var, CRC32:0xC644A507, Flags:0x5000000 + classref 'mpShader2' ; // Offset:0x28168, Var, CRC32:0x65C41FB9, Flags:0x5000000 + classref 'mpSound' ; // Offset:0x2816C, Var, CRC32:0x7CBD1BF8, Flags:0x5000000 + classref 'mpCapture' ; // Offset:0x28170, Var, CRC32:0xC1A55C35, Flags:0x5000000 + classref 'mpArea' ; // Offset:0x28174, Var, CRC32:0x5567EF5D, Flags:0x5000000 + classref 'mpGpuParticle' ; // Offset:0x28178, Var, CRC32:0xE460AF19, Flags:0x0 + classref 'mpMouse' ; // Offset:0x2817C, Var, CRC32:0x2B066E91, Flags:0x5000000 + classref 'mpKeyboard' ; // Offset:0x28180, Var, CRC32:0xD7EFE636, Flags:0x5000000 + classref 'mpInputManager' ; // Offset:0x28184, Var, CRC32:0xCC6D6AA2, Flags:0x5000000 + classref 'mpVibration' ; // Offset:0x28188, Var, CRC32:0x2238C070, Flags:0x0 + classref 'mpBenchmark' ; // Offset:0x2818C, Var, CRC32:0x2A85CE47, Flags:0x0 + classref 'mpPhysics2' ; // Offset:0x28190, Var, CRC32:0x77955A8B, Flags:0x0 + classref 'mpAI' ; // Offset:0x28194, Var, CRC32:0xA564E01D, Flags:0x0 + classref 'mpZone' ; // Offset:0x28198, Var, CRC32:0x22181232, Flags:0x5000000 + classref 'mpRPC' ; // Offset:0x2819C, Var, CRC32:0x916AC22, Flags:0x0 + classref 'mpNetwork' ; // Offset:0x281A0, Var, CRC32:0x2ADF7D6C, Flags:0x0 + classref 'mpHttpClient' ; // Offset:0x281A8, Var, CRC32:0x598F3C89, Flags:0x0 + classref 'mpHttpPatch' ; // Offset:0x281AC, Var, CRC32:0x42EC9917, Flags:0x0 + classref 'mpDialog' ; // Offset:0x281B0, Var, CRC32:0xCE543920, Flags:0x0 + classref 'mpArchiveManager' ; // Offset:0x281B4, Var, CRC32:0x8634F74, Flags:0x0 + classref 'mpArchiveManager2' ; // Offset:0x281B8, Var, CRC32:0x9FB787EA, Flags:0x0 + classref 'mpSetManager' ; // Offset:0x281BC, Var, CRC32:0x8CDA314, Flags:0x5000000 + classref 'mpContextManager' ; // Offset:0x281C0, Var, CRC32:0x428A1036, Flags:0x0 + classref 'mpZoneStatus' ; // Offset:0x281C4, Var, CRC32:0x30984E33, Flags:0x0 + classref 'mpGUI' ; // Offset:0x281C8, Var, CRC32:0x8E59D0E2, Flags:0x5000000 + classref 'mpLight' ; // Offset:0x281CC, Var, CRC32:0xEF29848B, Flags:0x5000000 + classref 'mpAIPawnNotice' ; // Offset:0x281D0, Var, CRC32:0xD82784F2, Flags:0x0 + classref 'mpAIPawnSys' ; // Offset:0x281D4, Var, CRC32:0x2F372541, Flags:0x0 + classref 'mpGrass' ; // Offset:0x281D8, Var, CRC32:0x2C3E478F, Flags:0x0 + classref 'mpScene' ; // Offset:0x281DC, Var, CRC32:0x5D4A37A6, Flags:0x0 + classref 'mpOccluder' ; // Offset:0x281E0, Var, CRC32:0xE53006BD, Flags:0x0 + classref 'mpShadow' ; // Offset:0x281E4, Var, CRC32:0xFE43636F, Flags:0x0 + classref 'mpPlatformUtil' ; // Offset:0x281EC, Var, CRC32:0x496AEE2D, Flags:0x5000000 + classref 'mpSavedata' ; // Offset:0x281F0, Var, CRC32:0x3EB95276, Flags:0x0 + classref 'mpInputText' ; // Offset:0x281F4, Var, CRC32:0x4F09CAD2, Flags:0x0 + classref 'mpPrimitive' ; // Offset:0x281FC, Var, CRC32:0xBCD64B62, Flags:0x0 + classref 'mpSyncPoint' ; // Offset:0x28200, Var, CRC32:0xE41E86CD, Flags:0x0 + classref 'mpGame' ; // Offset:0x28210, Var, CRC32:0xA1D8E3B9, Flags:0x0 + classref 'mpChat' ; // Offset:0x28218, Var, CRC32:0xE76E209F, Flags:0x0 + classref 'mpAreaHit' ; // Offset:0x2821C, Var, CRC32:0xF38A1FDD, Flags:0x0 + classref 'mpScenario' ; // Offset:0x28220, Var, CRC32:0x6ADEAE7B, Flags:0x0 + classref 'mpWeatherManager' ; // Offset:0x28224, Var, CRC32:0x1B417D07, Flags:0x0 + classref 'mpEnvmap' ; // Offset:0x28228, Var, CRC32:0x66749BCD, Flags:0x0 + classref 'mpWorldOffset' ; // Offset:0x28230, Var, CRC32:0x25FB4DE7, Flags:0x0 + classref 'mpPlayerManager' ; // Offset:0x28234, Var, CRC32:0x93D318BD, Flags:0x0 + classref 'mpEnemyManager' ; // Offset:0x28238, Var, CRC32:0x84FD9837, Flags:0x0 + classref 'mpCtrlManager' ; // Offset:0x28240, Var, CRC32:0xDCF24559, Flags:0x0 + classref 'mpNpcManager' ; // Offset:0x28244, Var, CRC32:0x4AB49640, Flags:0x0 + classref 'mpFlag' ; // Offset:0x28248, Var, CRC32:0x530739AF, Flags:0x0 + classref 'mpOmManager' ; // Offset:0x2824C, Var, CRC32:0x1B41AA53, Flags:0x0 + classref 'mpSiteManager' ; // Offset:0x28250, Var, CRC32:0xCC01E96B, Flags:0x0 + classref 'mpClanKyoten' ; // Offset:0x28254, Var, CRC32:0xD787D37E, Flags:0x0 + classref 'mpGeneralPoint' ; // Offset:0x28258, Var, CRC32:0x1FF1A443, Flags:0x0 + classref 'mpItemManager' ; // Offset:0x2825C, Var, CRC32:0x3A5632FB, Flags:0x0 + classref 'mpShlManager' ; // Offset:0x28260, Var, CRC32:0x56DC6EDD, Flags:0x0 + classref 'mpSoundManager' ; // Offset:0x28264, Var, CRC32:0x5FCB963C, Flags:0x0 + classref 'mpEventManager' ; // Offset:0x28268, Var, CRC32:0x324094AD, Flags:0x0 + classref 'mpTalkManager' ; // Offset:0x2826C, Var, CRC32:0xF47F4E47, Flags:0x0 + classref 'mpAIPawnTalkMgr' ; // Offset:0x28270, Var, CRC32:0xEEB81BF4, Flags:0x0 + classref 'mpQuestManagerExt' ; // Offset:0x28274, Var, CRC32:0x5446FA9A, Flags:0x0 + classref 'mpTutorialGuide' ; // Offset:0x28278, Var, CRC32:0xE9C56AA2, Flags:0x0 + classref 'mpMarker' ; // Offset:0x2827C, Var, CRC32:0x9FAC1BC, Flags:0x0 + classref 'mpReward' ; // Offset:0x28280, Var, CRC32:0xC5E49311, Flags:0x0 + classref 'mpMyRoom' ; // Offset:0x28284, Var, CRC32:0x89B6FF62, Flags:0x0 + classref 'mpDragonSkill' ; // Offset:0x28288, Var, CRC32:0x8EDBEF6C, Flags:0x0 + classref 'mpCraftManager' ; // Offset:0x2828C, Var, CRC32:0xDF9740AD, Flags:0x0 + classref 'mpBazaarManager' ; // Offset:0x28290, Var, CRC32:0x3D65D95D, Flags:0x0 + classref 'mpZoneUnitCtrl' ; // Offset:0x28294, Var, CRC32:0x59FF6AA, Flags:0x0 + classref 'mpMenu' ; // Offset:0x28298, Var, CRC32:0xFFF6E8A6, Flags:0x0 + classref 'mpScreenShot' ; // Offset:0x282A0, Var, CRC32:0x9889DC5C, Flags:0x0 + classref 'mpBJOrder' ; // Offset:0x282A4, Var, CRC32:0x97171AE9, Flags:0x0 + classref 'mpLinkageEnemy' ; // Offset:0x282A8, Var, CRC32:0x566AB2AF, Flags:0x0 + classref 'mpPCGraphicOption' ; // Offset:0x282AC, Var, CRC32:0x2A5951D6, Flags:0x60000 + classref 'mpPCSpecInfo' ; // Offset:0x282B0, Var, CRC32:0x696B4900, Flags:0x20000 + bool 'mIsOverrideShutdownDialog' ; // Offset:0x282B4, Var, CRC32:0xC0F9B88A, Flags:0x20000 + bool 'mPause' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1A630, Setter:0x145FD90, CRC32:0x2A2E082C, Flags:0x800000 + f32 'mDeltaTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x407940, Setter:0x145FCF0, CRC32:0xB50C3B41, Flags:0x830000 + bool 'mFrameWait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x145EF30, Setter:0x145FD20, CRC32:0x4F70A406, Flags:0x1800000 + u32 'mJobThreadNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x145EDA0, Setter:0x145FD60, CRC32:0x711910D5, Flags:0x820000 +}; + +// sDialogBase vftable:0x0, Size:0xAB4, CRC32:0x570CF4E1 +class sDialogBase /*: cSystem, MtObject*/ { +}; + +// sDragonSkill vftable:0x0, Size:0x88, CRC32:0x443B0751 +class sDragonSkill /*: cSystem, MtObject*/ { +}; + +// sEffect vftable:0x0, Size:0x370, CRC32:0x3F1DDF50 +class sEffect /*: cSystem, MtObject*/ { +}; + +// sEffectExt vftable:0x0, Size:0x850, CRC32:0x4FC592F6 +class sEffectExt /*: sEffect, cSystem, MtObject*/ { +}; + +// sEffectExt::cEfcCameraQuakeData vftable:0x0, Size:0x60, CRC32:0x5C5D174A +class sEffectExt::cEfcCameraQuakeData /*: MtObject*/ { +}; + +// sEffectExt::cEfcCameraQuakeDataLarge vftable:0x0, Size:0x60, CRC32:0x736F71D2 +class sEffectExt::cEfcCameraQuakeDataLarge /*: sEffectExt::cEfcCameraQuakeData, MtObject*/ { +}; + +// sEffectExt::cEfcCameraQuakeDataMiddle vftable:0x0, Size:0x60, CRC32:0x82CDC69 +class sEffectExt::cEfcCameraQuakeDataMiddle /*: sEffectExt::cEfcCameraQuakeData, MtObject*/ { +}; + +// sEffectExt::cEfcCameraQuakeDataSmall vftable:0x0, Size:0x60, CRC32:0x5F41B27F +class sEffectExt::cEfcCameraQuakeDataSmall /*: sEffectExt::cEfcCameraQuakeData, MtObject*/ { +}; + +// sEffectExt::cZoneEffectUnit vftable:0x0, Size:0x88, CRC32:0x41A55B86 +class sEffectExt::cZoneEffectUnit /*: MtObject*/ { +}; + +// sEffectExt::cZoneEffectUnitLayout vftable:0x0, Size:0x40C, CRC32:0x93C8A8 +class sEffectExt::cZoneEffectUnitLayout /*: MtObject*/ { +}; + +// sEffectExt::cZoneEpvStack vftable:0x0, Size:0xC, CRC32:0x77992CC6 +class sEffectExt::cZoneEpvStack /*: MtObject*/ { +}; + +// sEnemyManager vftable:0x0, Size:0xEF0, CRC32:0x5CDF34CE +class sEnemyManager /*: sUnitManager, cSystem, MtObject*/ { +}; + +// sEnvMapManager vftable:0x0, Size:0x28, CRC32:0x6BE55E84 +class sEnvMapManager /*: cSystem, MtObject*/ { +}; + +// sEnvMapManager::cManageEnvMapBase vftable:0x0, Size:0x20, CRC32:0x18E44F88 +class sEnvMapManager::cManageEnvMapBase /*: MtObject*/ { +}; + +// sEnvMapManager::cManageEnvMapField vftable:0x0, Size:0x50, CRC32:0x50F9A0B8 +class sEnvMapManager::cManageEnvMapField /*: sEnvMapManager::cManageEnvMapBase, MtObject*/ { +}; + +// sEventManager vftable:0x0, Size:0x340, CRC32:0x6A623854 +class sEventManager /*: cSystem, MtObject*/ { +}; + +// sEventManager::cNpcId vftable:0x0, Size:0x8, CRC32:0x67297D29 +class sEventManager::cNpcId /*: MtObject*/ { +}; + +// sFlag vftable:0x0, Size:0x398, CRC32:0x572D0945 +class sFlag /*: cSystem, MtObject*/ { +}; + +// sGUI vftable:0x0, Size:0x104, CRC32:0x1A28E4F1 +class sGUI /*: cSystem, MtObject*/ { +}; + +// sGUIExt vftable:0x0, Size:0x7AB0, CRC32:0x7D7E8E1F +class sGUIExt /*: sGUI, cSystem, MtObject*/ { +}; + +// sGUIExt::cChat vftable:0x0, Size:0x70, CRC32:0x7910EEA2 +class sGUIExt::cChat /*: MtObject*/ { +}; + +// sGUIExt::cChatMacro vftable:0x0, Size:0x2B8, CRC32:0x4C731D23 +class sGUIExt::cChatMacro /*: MtObject*/ { +}; + +// sGUIExt::cDivItemIcon vftable:0x0, Size:0xA34, CRC32:0x323AE167 +class sGUIExt::cDivItemIcon /*: MtObject*/ { +}; + +// sGUIExt::cDlTicket vftable:0x0, Size:0x8, CRC32:0x5A03CA01 +class sGUIExt::cDlTicket /*: MtObject*/ { +}; + +// sGUIExt::cItemTmp vftable:0x0, Size:0xC, CRC32:0x64A08630 +class sGUIExt::cItemTmp /*: MtObject*/ { +}; + +// sGUIExt::cJpegDecode vftable:0x0, Size:0x120, CRC32:0x307CA52 +class sGUIExt::cJpegDecode /*: MtObject*/ { +}; + +// sGUIExt::cMap vftable:0x0, Size:0x1F0, CRC32:0x18DD7B59 +class sGUIExt::cMap /*: MtObject*/ { +}; + +// sGUIExt::cMap::cMarkerSave vftable:0x0, Size:0x50, CRC32:0x69D82929 +class sGUIExt::cMap::cMarkerSave /*: MtObject*/ { +}; + +// sGUIExt::cMousePointer vftable:0x0, Size:0x70, CRC32:0xFF5A75F +class sGUIExt::cMousePointer /*: MtObject*/ { +}; + +// sGUIExt::cPrioHandle vftable:0x0, Size:0xC, CRC32:0x4D997352 +class sGUIExt::cPrioHandle /*: MtObject*/ { +}; + +// sGUIExt::cQueueAnnounceAfterParam vftable:0x0, Size:0x10, CRC32:0x2C7C031 +class sGUIExt::cQueueAnnounceAfterParam /*: MtObject*/ { +}; + +// sGUIExt::cRatingEmoteInfo vftable:0x0, Size:0x8, CRC32:0x3C9CAAE1 +class sGUIExt::cRatingEmoteInfo /*: MtObject*/ { +}; + +// sGUIExt::cSCM vftable:0x0, Size:0x354, CRC32:0x71BFFF12 +class sGUIExt::cSCM /*: MtObject*/ { +}; + +// sGUIExt::cSEPlayer vftable:0x0, Size:0x8, CRC32:0x79E159BA +class sGUIExt::cSEPlayer /*: MtObject*/ { +}; + +// sGUIExt::cSameWordInfo vftable:0x0, Size:0x34, CRC32:0x696D9228 +class sGUIExt::cSameWordInfo /*: MtObject*/ { +}; + +// sGUIExt::cWordInfo vftable:0x0, Size:0x10, CRC32:0x58B6D350 +class sGUIExt::cWordInfo /*: MtObject*/ { +}; + +// sGame vftable:0x0, Size:0x3A28, CRC32:0x25F2D353 +class sGame /*: cSystem, MtObject*/ { +}; + +// sGeneralPoint vftable:0x0, Size:0x80B4, CRC32:0x47D308BA +class sGeneralPoint /*: cSystem, MtObject*/ { +}; + +// sGpuParticle vftable:0x0, Size:0x118, CRC32:0x2E804724 +class sGpuParticle /*: cSystem, MtObject*/ { +}; + +// sGrass vftable:0x0, Size:0x370, CRC32:0x6C6566D9 +class sGrass /*: cSystem, MtObject*/ { +}; + +// sGuideExt vftable:0x0, Size:0x34, CRC32:0x44BEA1E7 +class sGuideExt /*: cSystem, MtObject*/ { +}; + +// sHttpClient vftable:0x0, Size:0x98, CRC32:0x66C240ED +class sHttpClient /*: cSystem, MtObject*/ { +}; + +// sHttpPatch vftable:0x0, Size:0x8C, CRC32:0x3A9620B1 +class sHttpPatch /*: cSystem, MtObject*/ { +}; + +// sInputManager vftable:0x0, Size:0x1C0, CRC32:0x144FC65B +class sInputManager /*: cSystem, MtObject*/ { +}; + +// sInputText vftable:0x0, Size:0x40908, CRC32:0x37737374 +class sInputText /*: cSystem, MtObject*/ { +}; + +// sInputTextWin vftable:0x0, Size:0x42950, CRC32:0x69206E0C +class sInputTextWin /*: sInputText, cSystem, MtObject*/ { +}; + +// sItemManager vftable:0x0, Size:0xF80, CRC32:0x70B6DAC6 +class sItemManager /*: cSystem, MtObject*/ { +}; + +// sItemManager::cChangeJob vftable:0x0, Size:0x10, CRC32:0x4F39F93B +class sItemManager::cChangeJob /*: MtObject*/ { +}; + +// sItemManager::cEquipList vftable:0x0, Size:0x38, CRC32:0x76119947 +class sItemManager::cEquipList /*: MtObject*/ { +}; + +// sItemManager::cEquipList::cEquipData vftable:0x0, Size:0x14, CRC32:0x137CA67F +class sItemManager::cEquipList::cEquipData /*: MtObject*/ { +}; + +// sItemManager::cEquipStatusUpdate vftable:0x0, Size:0x18, CRC32:0x48DE5271 +class sItemManager::cEquipStatusUpdate /*: MtObject*/ { +}; + +// sItemManager::cFilterStorage vftable:0x0, Size:0xC, CRC32:0x41FA98C9 +class sItemManager::cFilterStorage /*: MtObject*/ { +}; + +// sItemManager::cGPDetail vftable:0x0, Size:0x30, CRC32:0x5E1E9479 +class sItemManager::cGPDetail /*: MtObject*/ { +}; + +// sItemManager::cHideEquip vftable:0x0, Size:0x8, CRC32:0x579770D3 +class sItemManager::cHideEquip /*: MtObject*/ { +}; + +// sItemManager::cItemBag vftable:0x0, Size:0x274, CRC32:0x17431A82 +class sItemManager::cItemBag /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cAreaMasterSuppyData vftable:0x0, Size:0xC, CRC32:0x1BA30AC2 +class sItemManager::cItemBag::cAreaMasterSuppyData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cCraftColorChange vftable:0x0, Size:0x10, CRC32:0x7240AA7F +class sItemManager::cItemBag::cCraftColorChange /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cCraftQualityUpData vftable:0x0, Size:0x28, CRC32:0x6814055D +class sItemManager::cItemBag::cCraftQualityUpData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cCraftStartData vftable:0x0, Size:0x28, CRC32:0x41E59D4B +class sItemManager::cItemBag::cCraftStartData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cCraftSupportPawnData vftable:0x0, Size:0x2C, CRC32:0x2BA4E233 +class sItemManager::cItemBag::cCraftSupportPawnData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cCraftUpGradeData vftable:0x0, Size:0xC, CRC32:0x4B81ACC0 +class sItemManager::cItemBag::cCraftUpGradeData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cDeliverData vftable:0x0, Size:0xC, CRC32:0x1C25E6D5 +class sItemManager::cItemBag::cDeliverData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cGatheringItemData vftable:0x0, Size:0x1C, CRC32:0x1F3723AC +class sItemManager::cItemBag::cGatheringItemData /*: MtObject*/ { +}; + +// sItemManager::cItemBag::cGetItemListData vftable:0x0, Size:0x6C, CRC32:0x75C0679F +class sItemManager::cItemBag::cGetItemListData /*: MtObject*/ { +}; + +// sItemManager::cItemList vftable:0x0, Size:0xC, CRC32:0x142BE5ED +class sItemManager::cItemList /*: MtObject*/ { +}; + +// sItemManager::cItemParamList vftable:0x0, Size:0x8, CRC32:0x58B15DF1 +class sItemManager::cItemParamList /*: MtObject*/ { +}; + +// sItemManager::cItemTypeData vftable:0x0, Size:0xC, CRC32:0x353FD817 +class sItemManager::cItemTypeData /*: MtObject*/ { +}; + +// sItemManager::cSortParam vftable:0x0, Size:0x8, CRC32:0x2560620B +class sItemManager::cSortParam /*: MtObject*/ { +}; + +// sItemManager::cStorage vftable:0x0, Size:0x44, CRC32:0x1478B879 +class sItemManager::cStorage /*: MtObject*/ { +}; + +// sItemManager::stRequest vftable:0x0, Size:0x44, CRC32:0x2B67D95A +class sItemManager::stRequest /*: MtObject*/ { +}; + +// sKeyboard vftable:0x0, Size:0xA40, CRC32:0x4FF829EB +class sKeyboard /*: cSystem, MtObject*/ { +}; + +// sKeyboardExt vftable:0x0, Size:0xA48, CRC32:0x1448D3BB +class sKeyboardExt /*: sKeyboard, cSystem, MtObject*/ { +}; + +// sKeyboardExt::cKeyArray vftable:0x0, Size:0x24, CRC32:0x714DBDCF +class sKeyboardExt::cKeyArray /**/ { +}; + +// sKeyboardInterface vftable:0x0, Size:0x384C, CRC32:0x3979C444 +class sKeyboardInterface /*: cSystem, MtObject*/ { +}; + +// sLightExt vftable:0x0, Size:0xA0, CRC32:0x2EF5F780 +class sLightExt /*: cSystem, MtObject*/ { +}; + +// sLinkageEnemy vftable:0x0, Size:0x34, CRC32:0xE481E56 +class sLinkageEnemy /*: cSystem, MtObject*/ { +}; + +// sLinkageEnemy::cLinkageEnemy vftable:0x0, Size:0x48, CRC32:0x17788BED +class sLinkageEnemy::cLinkageEnemy /*: MtObject*/ { +}; + +// sLinkageEnemy::cLinkageEnemy::cLinkageEnemyNotice vftable:0x0, Size:0xC, CRC32:0x199BBBF0 +class sLinkageEnemy::cLinkageEnemy::cLinkageEnemyNotice /*: MtObject*/ { +}; + +// sLockOnManager vftable:0x0, Size:0x40, CRC32:0x49357935 +class sLockOnManager /*: cSystem, MtObject*/ { +}; + +// sMain vftable:0x0, Size:0x28138, CRC32:0x39F12FBB +class sMain /*: cSystem, MtObject*/ { +}; + +// sMarker vftable:0x0, Size:0xE4, CRC32:0xBB26E5C +class sMarker /*: cSystem, MtObject*/ { +}; + +// sMarker::cLoadResource vftable:0x0, Size:0x8, CRC32:0x526ABBDA +class sMarker::cLoadResource /*: MtObject*/ { +}; + +// sMenu vftable:0x0, Size:0x13F10, CRC32:0x7BDCD84C +class sMenu /*: cSystem, MtObject*/ { +}; + +// sMouse vftable:0x0, Size:0xB0, CRC32:0x6B5D4FC7 +class sMouse /*: cSystem, MtObject*/ { +}; + +// sMouseExt vftable:0x0, Size:0xD8, CRC32:0x3004F7DD +class sMouseExt /*: sMouse, cSystem, MtObject*/ { +}; + +// sMyRoom vftable:0x0, Size:0xF0, CRC32:0xBFE5082 +class sMyRoom /*: cSystem, MtObject*/ { +}; + +// sNetwork vftable:0x0, Size:0x900, CRC32:0xA57D7BB +class sNetwork /*: cSystem, MtObject*/ { +}; + +// sNetworkExt vftable:0x0, Size:0x11C0, CRC32:0x34A28F04 +class sNetworkExt /*: sNetwork, cSystem, MtObject*/ { +}; + +// sNpcManager vftable:0x0, Size:0x33C, CRC32:0x75F9EA24 +class sNpcManager /*: sUnitManager, cSystem, MtObject*/ { +}; + +// sNpcManager::cAttendDamageInfo vftable:0x0, Size:0x18, CRC32:0x7E499511 +class sNpcManager::cAttendDamageInfo /*: MtObject*/ { +}; + +// sObjCollision vftable:0x0, Size:0x800D0, CRC32:0x440A8F45 +class sObjCollision /*: cSystem, MtObject*/ { +}; + +// sObjCollision::cParamInfo vftable:0x0, Size:0x18, CRC32:0x1297B690 +class sObjCollision::cParamInfo /*: MtObject*/ { +}; + +// sObjCollision::cParamInfo vftable:0x0, Size:0x18, CRC32:0x6757AF2 +class sObjCollision::cParamInfo /*: MtObject*/ { +}; + +// sObjCollision::cParamInfoManager vftable:0x0, Size:0x18, CRC32:0x5DE10290 +class sObjCollision::cParamInfoManager /*: MtObject*/ { +}; + +// sObjCollision::cParamInfoManager vftable:0x0, Size:0x18, CRC32:0x6A39430D +class sObjCollision::cParamInfoManager /*: MtObject*/ { +}; + +// sObjCondition vftable:0x0, Size:0x50, CRC32:0x221124B8 +class sObjCondition /*: cSystem, MtObject*/ { +}; + +// sOccluder vftable:0x0, Size:0x83D0, CRC32:0x7D27C960 +class sOccluder /*: cSystem, MtObject*/ { +}; + +// sOccluderEx vftable:0x0, Size:0x83E0, CRC32:0x5495AEDA +class sOccluderEx /*: sOccluder, cSystem, MtObject*/ { +}; + +// sOccluderEx::Area vftable:0x0, Size:0x28, CRC32:0x50B40E2 +class sOccluderEx::Area /*: MtObject*/ { +}; + +// sOccluderEx::Shape vftable:0x0, Size:0x10, CRC32:0x20DE516 +class sOccluderEx::Shape /*: MtObject*/ { +}; + +// sOmManager vftable:0x0, Size:0xDA50, CRC32:0x633B13F5 +class sOmManager /*: sUnitManager, cSystem, MtObject*/ { +}; + +// sOmManager::cInsValue vftable:0x0, Size:0xC, CRC32:0x3FB5207C +class sOmManager::cInsValue /*: MtObject*/ { +}; + +// sOmManager::cInsValueSeq vftable:0x0, Size:0x28, CRC32:0x2216BC0B +class sOmManager::cInsValueSeq /*: MtObject*/ { +}; + +// sOmManager::cOmArcLoader vftable:0x0, Size:0x54, CRC32:0x5143E777 +class sOmManager::cOmArcLoader /*: MtObject*/ { +}; + +// sOmManager::cRegOmDTI vftable:0x0, Size:0xC, CRC32:0x2B1B3D65 +class sOmManager::cRegOmDTI /*: MtObject*/ { +}; + +// sOmManager::cRegOmEtc vftable:0x0, Size:0x18, CRC32:0x64E6BA26 +class sOmManager::cRegOmEtc /*: MtObject*/ { +}; + +// sOmManager::cRegOmMapIcon vftable:0x0, Size:0x10, CRC32:0x2C3D13EB +class sOmManager::cRegOmMapIcon /*: MtObject*/ { +}; + +// sOmManager::cRegOmObjCol vftable:0x0, Size:0xC, CRC32:0xC0D5C05 +class sOmManager::cRegOmObjCol /*: MtObject*/ { +}; + +// sOmManager::cRegOmS32 vftable:0x0, Size:0xC, CRC32:0x5F19DD44 +class sOmManager::cRegOmS32 /*: MtObject*/ { +}; + +// sPad vftable:0x0, Size:0x1078, CRC32:0x7DB4FE86 +class sPad /*: cSystem, MtObject*/ { +}; + +// sPad::Map vftable:0x0, Size:0x248, CRC32:0x1BFC6031 +class sPad::Map /*: MtObject*/ { +}; + +// sPad::Pad vftable:0x0, Size:0x400, CRC32:0x15D8846F +class sPad::Pad /*: MtObject*/ { +}; + +// sPadExt vftable:0x0, Size:0x13B8, CRC32:0x6554D599 +class sPadExt /*: sPad, cSystem, MtObject*/ { +}; + +// sPadExt::cPadInfo vftable:0x0, Size:0x304, CRC32:0x3756637E +class sPadExt::cPadInfo /*: MtObject*/ { +}; + +// sPhysicsExt vftable:0x0, Size:0xD2A0, CRC32:0xDB4CA95 +class sPhysicsExt /*: nPhysics::System, cSystem, MtObject*/ { +}; + +// sPlatformUtil vftable:0x0, Size:0x20, CRC32:0x114842D4 +class sPlatformUtil /*: cSystem, MtObject*/ { +}; + +// sPlayerManager vftable:0x0, Size:0x290, CRC32:0x57EA70A9 +class sPlayerManager /*: sUnitManager, cSystem, MtObject*/ { +}; + +// sPrimitive vftable:0x0, Size:0x1E0, CRC32:0x44ACF2C4 +class sPrimitive /*: cSystem, MtObject*/ { +}; + +// sQuestManagerExt vftable:0x0, Size:0x660, CRC32:0x3981009C +class sQuestManagerExt /*: cSystem, MtObject*/ { +}; + +// sQuestManagerExt::cCallQuestAnnounce vftable:0x0, Size:0x90, CRC32:0x121E8F97 +class sQuestManagerExt::cCallQuestAnnounce /*: MtObject*/ { +}; + +// sQuestManagerExt::cClearedQuestInfo vftable:0x0, Size:0x58, CRC32:0x88BDFF1 +class sQuestManagerExt::cClearedQuestInfo /*: MtObject*/ { +}; + +// sQuestManagerExt::cFunctionInfo vftable:0x0, Size:0xC, CRC32:0x39C04E6 +class sQuestManagerExt::cFunctionInfo /*: MtObject*/ { +}; + +// sQuestManagerExt::cKilledEnemy vftable:0x0, Size:0x10, CRC32:0x2F656580 +class sQuestManagerExt::cKilledEnemy /*: MtObject*/ { +}; + +// sQuestManagerExt::cManagerInfo vftable:0x0, Size:0xC, CRC32:0x8A66086 +class sQuestManagerExt::cManagerInfo /*: MtObject*/ { +}; + +// sQuestManagerExt::cSayInfo vftable:0x0, Size:0x14, CRC32:0xCFF1E59 +class sQuestManagerExt::cSayInfo /*: MtObject*/ { +}; + +// sQuestManagerExt::cSystemLogNode vftable:0x0, Size:0x20, CRC32:0x401E71F8 +class sQuestManagerExt::cSystemLogNode /*: MtObject*/ { +}; + +// sQuestManagerExt::cTimer vftable:0x0, Size:0x48, CRC32:0x7ABF726A +class sQuestManagerExt::cTimer /*: MtObject*/ { +}; + +// sQuestManagerExt::cTouchOmInfo vftable:0x0, Size:0x10, CRC32:0x1DAB2740 +class sQuestManagerExt::cTouchOmInfo /*: MtObject*/ { +}; + +// sQuestManagerExt::cUnreleasedArea vftable:0x0, Size:0x8, CRC32:0x57C7104F +class sQuestManagerExt::cUnreleasedArea /*: MtObject*/ { +}; + +// sQuestManagerExt::cWarMissionGauge vftable:0x0, Size:0xC, CRC32:0xD12C951 +class sQuestManagerExt::cWarMissionGauge /*: MtObject*/ { +}; + +// sRemoteProcedure vftable:0x0, Size:0x4458, CRC32:0x59638AA8 +class sRemoteProcedure /*: cSystem, MtObject*/ { +}; + +// sRemoteProcedure::cTemporaryRemoteCall vftable:0x0, Size:0x10, CRC32:0x3EA2644A +class sRemoteProcedure::cTemporaryRemoteCall /*: cRemoteCall, MtObject*/ { +}; + +// sRemoteProcedureExt vftable:0x0, Size:0x4458, CRC32:0x4634552 +class sRemoteProcedureExt /*: sRemoteProcedure, cSystem, MtObject*/ { +}; + +// sRender vftable:0x0, Size:0x45DAB0, CRC32:0x1D21D7C8 +class sRender /*: cSystem, MtObject*/ { +}; + +// sRenderExt vftable:0x0, Size:0x45E300, CRC32:0x5B738D13 +class sRenderExt /*: sRender, cSystem, MtObject*/ { +}; + +// sResource vftable:0x0, Size:0x2D198, CRC32:0x701D5D68 +class sResource /*: cSystem, MtObject*/ { +}; + +// sResource::DecompressStream vftable:0x0, Size:0x4C, CRC32:0x22BD36F5 +class sResource::DecompressStream /*: MtStream, MtObject*/ { +}; + +// sResource::RemoteInfo vftable:0x0, Size:0xD4, CRC32:0x7B92638D +class sResource::RemoteInfo /*: MtObject*/ { +}; + +// sResource::TypeInfo vftable:0x0, Size:0x10, CRC32:0x3EB07876 +class sResource::TypeInfo /*: MtObject*/ { +}; + +// sResourceExt vftable:0x0, Size:0x2D1A0, CRC32:0x6C08DC58 +class sResourceExt /*: sResource, cSystem, MtObject*/ { +}; + +// sReward vftable:0x0, Size:0x98, CRC32:0x47AC3CF1 +class sReward /*: cSystem, MtObject*/ { +}; + +// sReward::cAvailableReward vftable:0x0, Size:0x10, CRC32:0x54AE9513 +class sReward::cAvailableReward /*: MtObject*/ { +}; + +// sReward::cReleaseReward vftable:0x0, Size:0x8, CRC32:0x22D33BAE +class sReward::cReleaseReward /*: MtObject*/ { +}; + +// sReward::cReleaseRewardEdit vftable:0x0, Size:0xC, CRC32:0x17049E67 +class sReward::cReleaseRewardEdit /*: MtObject*/ { +}; + +// sSIECommerceDialog vftable:0x0, Size:0x30, CRC32:0xC661455 +class sSIECommerceDialog /*: cSystem, MtObject*/ { +}; + +// sSavedata vftable:0x0, Size:0x1764, CRC32:0x26AE9DAB +class sSavedata /*: cSystem, MtObject*/ { +}; + +// sSavedataExt vftable:0x0, Size:0x1AA8, CRC32:0x6673C1EF +class sSavedataExt /*: sSavedata, cSystem, MtObject*/ { +}; + +// sScenario vftable:0x0, Size:0xEC, CRC32:0x72C961A6 +class sScenario /*: cSystem, MtObject*/ { +}; + +// sScene vftable:0x0, Size:0xB90, CRC32:0x1D1116F0 +class sScene /*: cSystem, MtObject*/ { +}; + +// sScene::TextureInfo vftable:0x0, Size:0x10, CRC32:0x78F4208B +class sScene::TextureInfo /*: MtObject*/ { +}; + +// sSceneExt vftable:0x0, Size:0xBE0, CRC32:0x533EF18 +class sSceneExt /*: sScene, cSystem, MtObject*/ { +}; + +// sScreenShot vftable:0x0, Size:0x12E0, CRC32:0x27C4A038 +class sScreenShot /*: cSystem, MtObject*/ { +}; + +// sSetManager vftable:0x0, Size:0x6A0, CRC32:0x3780DF70 +class sSetManager /*: cSystem, MtObject*/ { +}; + +// sSetManager::CreateContextParam vftable:0x0, Size:0x18, CRC32:0x3026ECBC +class sSetManager::CreateContextParam /*: MtObject*/ { +}; + +// sSetManager::SetMgrFlag vftable:0x0, Size:0xC, CRC32:0x2F1391E8 +class sSetManager::SetMgrFlag /*: MtObject*/ { +}; + +// sSetManager::cEnemyDie vftable:0x0, Size:0x20, CRC32:0x2B33903 +class sSetManager::cEnemyDie /*: MtObject*/ { +}; + +// sSetManager::cLotMgr vftable:0x0, Size:0x78, CRC32:0x7F12FC0E +class sSetManager::cLotMgr /*: MtObject*/ { +}; + +// sSetManager::cLotMgr vftable:0x0, Size:0x78, CRC32:0xC8EF86E +class sSetManager::cLotMgr /*: MtObject*/ { +}; + +// sSetManager::cLotMgr vftable:0x0, Size:0x78, CRC32:0x44EF2DDA +class sSetManager::cLotMgr /*: MtObject*/ { +}; + +// sSetManager::cLotMgr vftable:0x0, Size:0x78, CRC32:0x748230 +class sSetManager::cLotMgr /*: MtObject*/ { +}; + +// sSetManager::cUnitData vftable:0x0, Size:0x14, CRC32:0x20FC31D2 +class sSetManager::cUnitData /*: MtObject*/ { +}; + +// sShader2 vftable:0x0, Size:0x84238, CRC32:0x454CB56E +class sShader2 /*: cSystem, MtObject*/ { +}; + +// sShadow vftable:0x0, Size:0x1170, CRC32:0x7C0BCC8F +class sShadow /*: cSystem, MtObject*/ { +}; + +// sShadow::Node vftable:0x0, Size:0x30, CRC32:0x390A969 +class sShadow::Node /*: MtObject*/ { +}; + +// sShadow::Resource vftable:0x0, Size:0x18, CRC32:0x5B54154D +class sShadow::Resource /*: MtObject*/ { +}; + +// sShadow::ResourceGroup vftable:0x0, Size:0x170, CRC32:0x24FE3D31 +class sShadow::ResourceGroup /*: MtObject*/ { +}; + +// sShadow::ViewConsistentResource vftable:0x0, Size:0x20, CRC32:0x2FBE769A +class sShadow::ViewConsistentResource /*: MtObject*/ { +}; + +// sShlManager vftable:0x0, Size:0x164, CRC32:0x699112B9 +class sShlManager /*: sUnitManager, cSystem, MtObject*/ { +}; + +// sShlManager::cShlLimitCnt vftable:0x0, Size:0xC, CRC32:0x76B827F4 +class sShlManager::cShlLimitCnt /*: MtObject*/ { +}; + +// sShlManager::cShlLimitCtrl vftable:0x0, Size:0xC, CRC32:0x39492271 +class sShlManager::cShlLimitCtrl /*: MtObject*/ { +}; + +// sSiteManager vftable:0x0, Size:0x34, CRC32:0x6E10156 +class sSiteManager /*: cSystem, MtObject*/ { +}; + +// sSiteManager::cSiteLoader vftable:0x0, Size:0x10, CRC32:0x6F2EA4C8 +class sSiteManager::cSiteLoader /*: MtObject*/ { +}; + +// sSkeletonTool vftable:0x0, Size:0x20, CRC32:0x3C35ED84 +class sSkeletonTool /*: sTool, sToolBase, cSystem, MtObject*/ { +}; + +// sSound vftable:0x0, Size:0x47200, CRC32:0x3CE63AAE +class sSound /*: cSystem, MtObject*/ { +}; + +// sSound::NativeSystemXAudio2::WinProperty vftable:0x0, Size:0x4, CRC32:0x16F39ED6 +class sSound::NativeSystemXAudio2::WinProperty /*: MtObject*/ { +}; + +// sSoundExt vftable:0x0, Size:0x474E0, CRC32:0x79F9E092 +class sSoundExt /*: sSound, cSystem, MtObject*/ { +}; + +// sSoundExt::cNonStopStream vftable:0x0, Size:0xC, CRC32:0x56101B5B +class sSoundExt::cNonStopStream /*: MtObject*/ { +}; + +// sSoundExt::cVoiceRequest vftable:0x0, Size:0x24, CRC32:0x416E6AA3 +class sSoundExt::cVoiceRequest /*: MtObject*/ { +}; + +// sSoundManager vftable:0x0, Size:0x260, CRC32:0x7E93AC5 +class sSoundManager /*: cSystem, MtObject*/ { +}; + +// sSoundManager::cEmSetState vftable:0x0, Size:0x20, CRC32:0x29278281 +class sSoundManager::cEmSetState /*: MtObject*/ { +}; + +// sSyncPoint vftable:0x0, Size:0x84, CRC32:0x1C643F6B +class sSyncPoint /*: cSystem, MtObject*/ { +}; + +// sSyncPoint::syncPointElement vftable:0x0, Size:0x10, CRC32:0x6C454D60 +class sSyncPoint::syncPointElement /*: MtObject*/ { +}; + +// sTalkManager vftable:0x0, Size:0xBC, CRC32:0x3E9FA67A +class sTalkManager /*: cSystem, MtObject*/ { +}; + +// sTalkManager::cTellQueueNode vftable:0x0, Size:0x1C, CRC32:0x4186CABD +class sTalkManager::cTellQueueNode /*: MtObject*/ { +}; + +// sTool vftable:0x0, Size:0x20, CRC32:0x262ADC0E +class sTool /*: sToolBase, cSystem, MtObject*/ { +}; + +// sToolBase vftable:0x0, Size:0x20, CRC32:0x18E87CF1 +class sToolBase /*: cSystem, MtObject*/ { +}; + +// sToolExt vftable:0x0, Size:0x20, CRC32:0x3A776719 +class sToolExt /*: sTool, sToolBase, cSystem, MtObject*/ { +}; + +// sTutorialGuide vftable:0x0, Size:0x4C, CRC32:0x2DFC02B6 +class sTutorialGuide /*: cSystem, MtObject*/ { +}; + +// sTutorialGuide::cOpenGuideNo vftable:0x0, Size:0x1C, CRC32:0x401D3487 +class sTutorialGuide::cOpenGuideNo /*: MtObject*/ { +}; + +// sUnit vftable:0x0, Size:0x24D3D8, CRC32:0x5A62EE8C +class sUnit /*: cSystem, MtObject*/ { +}; + +// sUnit::MoveLine vftable:0x0, Size:0x18, CRC32:0x44D32983 +class sUnit::MoveLine /*: MtObject*/ { +}; + +// sUnit::UnitGroup vftable:0x0, Size:0x1C, CRC32:0x1D963488 +class sUnit::UnitGroup /*: MtObject*/ { +}; + +// sUnitExt vftable:0x0, Size:0x24D478, CRC32:0x4DB135D8 +class sUnitExt /*: sUnit, cSystem, MtObject*/ { +}; + +// sUnitManager vftable:0x0, Size:0x74, CRC32:0x611644FF +class sUnitManager /*: cSystem, MtObject*/ { +}; + +// sUnitManager::cLODDistData vftable:0x0, Size:0x10, CRC32:0x5CD4358 +class sUnitManager::cLODDistData /*: MtObject*/ { +}; + +// sVibration vftable:0x0, Size:0x850, CRC32:0x5A4279D6 +class sVibration /*: cSystem, MtObject*/ { +}; + +// sVibrationExt vftable:0x0, Size:0x870, CRC32:0x29F4A2AB +class sVibrationExt /*: sVibration, cSystem, MtObject*/ { +}; + +// sWeatherManager vftable:0x0, Size:0x1CD0, CRC32:0x15F9012 +class sWeatherManager /*: cSystem, MtObject*/ { +}; + +// sWorkRate vftable:0x0, Size:0x68, CRC32:0x457771F +class sWorkRate /*: cSystem, MtObject*/ { +}; + +// sWorldOffset vftable:0x0, Size:0x70, CRC32:0x6F1BA5DA +class sWorldOffset /*: cSystem, MtObject*/ { +}; + +// sZone vftable:0x0, Size:0x294, CRC32:0x263222D8 +class sZone /*: cSystem, MtObject*/ { +}; + +// sZoneStatus vftable:0x0, Size:0x50, CRC32:0xFD53257 +class sZoneStatus /*: cSystem, MtObject*/ { +}; + +// sZoneUnitCtrl vftable:0x0, Size:0x13C, CRC32:0x5DBD5A53 +class sZoneUnitCtrl /*: cSystem, MtObject*/ { +}; + +// uActorModel vftable:0x20CE1A0, Size:0x1E00, CRC32:0x4CE3C431 +class uActorModel /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mConstraint'[64] ; // Offset:0x19D0, Array, CRC32:0x9AA57078, Flags:0x200000 + custom 'mpMontage' ; // Offset:0x1DD0, Var, CRC32:0x58DA8243, Flags:0x0 + u32 'mMontageNo' ; // Offset:0x1DD4, Var, CRC32:0xAA08B0AF, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x1DE0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mOffsetAngle' ; // Offset:0x1DF0, Var, CRC32:0xE86712B0, Flags:0x0 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uActorModel::Constraint vftable:0x20CE170, Size:0x10, CRC32:0x3D9C4B1E +class uActorModel::Constraint /*: MtObject*/ { + u32 'mParentJntNo' ; // Offset:0x8, Var, CRC32:0x509DC5E9, Flags:0x0 + u32 'mJntNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16D4C40, Setter:0x16D4FF0, CRC32:0xD3E25CCE, Flags:0x800000 +}; + +// uAdhesion vftable:0x20CE0F8, Size:0x88, CRC32:0x7A9A76AE +class uAdhesion /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mLightGroup' ; // Offset:0x64, Var, CRC32:0xE3993DD6, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uAimCheck vftable:0x1CB10A8, Size:0x1D70, CRC32:0x57DCCE00 +class uAimCheck /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uAmbientLight vftable:0x20C9178, Size:0x3E0, CRC32:0x7DCCE7A6 +class uAmbientLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + f32 'mLightMapAtten' ; // Offset:0x3D0, Var, CRC32:0x65F29ACA, Flags:0x0 + f32 'mEnvMapAtten' ; // Offset:0x3D4, Var, CRC32:0x2D92A7E8, Flags:0x0 + custom 'mpEnvCubeTexture' ; // Offset:0x3D8, Var, CRC32:0xBA8817E1, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uAnimal vftable:0x1CB1C78, Size:0x1D00, CRC32:0x65887 +class uAnimal /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uAnimal::ActApproach vftable:0x1CB1B60, Size:0x20, CRC32:0x6A3C406D +class uAnimal::ActApproach /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActBase vftable:0x1CB1968, Size:0x18, CRC32:0x69B97E43 +class uAnimal::ActBase /*: cAction, MtObject*/ { +}; + +// uAnimal::ActCollapse vftable:0x1CB1AD0, Size:0x1C, CRC32:0x5B0390AC +class uAnimal::ActCollapse /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActEscape vftable:0x1CB1B18, Size:0x30, CRC32:0x2E3BCE7C +class uAnimal::ActEscape /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActFlap vftable:0x1CB1BA8, Size:0x18, CRC32:0x7B2AEE7F +class uAnimal::ActFlap /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActFootwork vftable:0x1CB19B0, Size:0x1C, CRC32:0x594CC06D +class uAnimal::ActFootwork /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActGhost vftable:0x1CB1C38, Size:0x30, CRC32:0x4983348 +class uAnimal::ActGhost /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActRun vftable:0x1CB1A40, Size:0x30, CRC32:0x6E32A50A +class uAnimal::ActRun /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActSleep vftable:0x1CB1BF0, Size:0x20, CRC32:0x8F86145 +class uAnimal::ActSleep /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActTurn vftable:0x1CB1A88, Size:0x20, CRC32:0x92D9565 +class uAnimal::ActTurn /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uAnimal::ActWalk vftable:0x1CB19F8, Size:0x30, CRC32:0x249CFA77 +class uAnimal::ActWalk /*: uAnimal::ActBase, cAction, MtObject*/ { +}; + +// uArmor vftable:0x1CB2578, Size:0x1D20, CRC32:0x2D16E4CB +class uArmor /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + classref 'mpSimSoftBody' ; // Offset:0x1D00, Var, CRC32:0xD2EA6934, Flags:0x0 + classref 'mpOwner' ; // Offset:0x1D04, Var, CRC32:0x4B533E00, Flags:0x0 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uBackLight vftable:0x20C9478, Size:0x460, CRC32:0x54A47FFE +class uBackLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBakuenseSpark vftable:0x1D778F8, Size:0x2370, CRC32:0x1E7353E +class uBakuenseSpark /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uBaseModel vftable:0x20C34B0, Size:0xE80, CRC32:0x35FFAC6E +class uBaseModel /*: uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBlinkPointLight vftable:0x1D66F20, Size:0x520, CRC32:0x1B77FFBD +class uBlinkPointLight /*: uPointLightExt, uPointLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x460, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4AC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4AD, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoPLE' ; // Offset:0x4AF, Var, CRC32:0xBA351187, Flags:0x10000 + bool 'mBlinkEnable' ; // Offset:0x4E0, Var, CRC32:0x8EF6E168, Flags:0x0 + f32 'mBlinkIntensityMax' ; // Offset:0x500, Var, CRC32:0x30969234, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x504, Var, CRC32:0xC9BAD6D, Flags:0x0 + f32 'mBlinkSpeed' ; // Offset:0x508, Var, CRC32:0x51FB655F, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x50C, Var, CRC32:0xF2E6836B, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x510, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x514, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x518, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x51C, Var, CRC32:0x472F5292, Flags:0x10000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + vector3 'LightColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDA0, Setter:0x102B880, CRC32:0xFB42335F, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBlinkSpotLight vftable:0x1D66FA0, Size:0x560, CRC32:0x510CC7F0 +class uBlinkSpotLight /*: uSpotLightExt, uSpotLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + bool 'mBlinkEnable' ; // Offset:0x520, Var, CRC32:0x8EF6E168, Flags:0x0 + f32 'mBlinkIntensityMax' ; // Offset:0x540, Var, CRC32:0x30969234, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x544, Var, CRC32:0xC9BAD6D, Flags:0x0 + f32 'mBlinkSpeed' ; // Offset:0x548, Var, CRC32:0x51FB655F, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x54C, Var, CRC32:0xF2E6836B, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x550, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x554, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x558, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x55C, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'LightColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028250, Setter:0x102B8B0, CRC32:0xFB42335F, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBloomFilter vftable:0x20BF300, Size:0xD0, CRC32:0x54E6A16B +class uBloomFilter /*: uFilter, cUnit, MtObject*/ { + bool 'mCTREmulation' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDAC4FFAF, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + classref 'mpRTBloom[0]' ; // Offset:0x60, Var, CRC32:0xF8FD0BAD, Flags:0x30000 + vector3 'mBloomColor' ; // Offset:0x70, Var, CRC32:0x8ECA326E, Flags:0x0 + f32 'mBloomDispersion' ; // Offset:0x80, Var, CRC32:0xBF1B760, Flags:0x0 + f32 'mBloomThrethold' ; // Offset:0x84, Var, CRC32:0x22D3E5C2, Flags:0x0 + s32 'mStencilID' ; // Offset:0xC4, Var, CRC32:0x39A2016D, Flags:0x0 + bool 'mConeFilter' ; // Offset:0xCD, Var, CRC32:0x2C2A4DB9, Flags:0x0 + bool 'mLegacy' ; // Offset:0xCE, Var, CRC32:0x2957A0DF, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBloomFilterEm021004 vftable:0x1DA3D78, Size:0xE0, CRC32:0x16BCF0C4 +class uBloomFilterEm021004 /*: uBloomFilterExt, uBloomFilter, uFilter, cUnit, MtObject*/ { + bool 'mCTREmulation' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDAC4FFAF, Flags:0x0 + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + classref 'mpRTBloom[0]' ; // Offset:0x60, Var, CRC32:0xF8FD0BAD, Flags:0x30000 + vector3 'mBloomColor' ; // Offset:0x70, Var, CRC32:0x8ECA326E, Flags:0x0 + f32 'mBloomDispersion' ; // Offset:0x80, Var, CRC32:0xBF1B760, Flags:0x0 + f32 'mBloomThrethold' ; // Offset:0x84, Var, CRC32:0x22D3E5C2, Flags:0x0 + s32 'mStencilID' ; // Offset:0xC4, Var, CRC32:0x39A2016D, Flags:0x0 + bool 'mConeFilter' ; // Offset:0xCD, Var, CRC32:0x2C2A4DB9, Flags:0x0 + bool 'mLegacy' ; // Offset:0xCE, Var, CRC32:0x2957A0DF, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBloomFilterExt vftable:0x1DA3D10, Size:0xE0, CRC32:0x7C28E700 +class uBloomFilterExt /*: uBloomFilter, uFilter, cUnit, MtObject*/ { + bool 'mCTREmulation' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDAC4FFAF, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + classref 'mpRTBloom[0]' ; // Offset:0x60, Var, CRC32:0xF8FD0BAD, Flags:0x30000 + vector3 'mBloomColor' ; // Offset:0x70, Var, CRC32:0x8ECA326E, Flags:0x0 + f32 'mBloomDispersion' ; // Offset:0x80, Var, CRC32:0xBF1B760, Flags:0x0 + f32 'mBloomThrethold' ; // Offset:0x84, Var, CRC32:0x22D3E5C2, Flags:0x0 + s32 'mStencilID' ; // Offset:0xC4, Var, CRC32:0x39A2016D, Flags:0x0 + bool 'mConeFilter' ; // Offset:0xCD, Var, CRC32:0x2C2A4DB9, Flags:0x0 + bool 'mLegacy' ; // Offset:0xCE, Var, CRC32:0x2957A0DF, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBlurFilter vftable:0x20BF1B0, Size:0xE0, CRC32:0x6DF8B0F1 +class uBlurFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x50, Var, CRC32:0x55D79C15, Flags:0x0 + vector4 'mColor' ; // Offset:0x60, Var, CRC32:0x9BE2D228, Flags:0x0 + u32 'mBlurCount' ; // Offset:0x70, Var, CRC32:0x35CC4901, Flags:0x0 + f32 'mBlurParam' ; // Offset:0x74, Var, CRC32:0x14EF71EA, Flags:0x0 + classref 'mpTempTexture'[2] ; // Offset:0x78, Array, CRC32:0xB37CFFC8, Flags:0x230000 + u32 'mBlendStateType' ; // Offset:0x80, Var, CRC32:0x4A10AC4B, Flags:0x0 + f32 'mNearDistance' ; // Offset:0x88, Var, CRC32:0x2133FE6A, Flags:0x0 + f32 'mAttenuation' ; // Offset:0x8C, Var, CRC32:0x20F782D9, Flags:0x0 + sphere 'mSpheres'[4] ; // Offset:0x90, Array, CRC32:0xEB6553F0, Flags:0x200000 + s32 'mStencilID' ; // Offset:0xD0, Var, CRC32:0x39A2016D, Flags:0x0 + bool 'mUseAlphaMask' ; // Offset:0xD4, Var, CRC32:0x51ABC7C4, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBlurFilterExt vftable:0x1CB2848, Size:0xE0, CRC32:0x257AC4EC +class uBlurFilterExt /*: uBlurFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x50, Var, CRC32:0x55D79C15, Flags:0x0 + vector4 'mColor' ; // Offset:0x60, Var, CRC32:0x9BE2D228, Flags:0x0 + u32 'mBlurCount' ; // Offset:0x70, Var, CRC32:0x35CC4901, Flags:0x0 + f32 'mBlurParam' ; // Offset:0x74, Var, CRC32:0x14EF71EA, Flags:0x0 + classref 'mpTempTexture'[2] ; // Offset:0x78, Array, CRC32:0xB37CFFC8, Flags:0x230000 + u32 'mBlendStateType' ; // Offset:0x80, Var, CRC32:0x4A10AC4B, Flags:0x0 + f32 'mNearDistance' ; // Offset:0x88, Var, CRC32:0x2133FE6A, Flags:0x0 + f32 'mAttenuation' ; // Offset:0x8C, Var, CRC32:0x20F782D9, Flags:0x0 + sphere 'mSpheres'[4] ; // Offset:0x90, Array, CRC32:0xEB6553F0, Flags:0x200000 + s32 'mStencilID' ; // Offset:0xD0, Var, CRC32:0x39A2016D, Flags:0x0 + bool 'mUseAlphaMask' ; // Offset:0xD4, Var, CRC32:0x51ABC7C4, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uBokehFilter vftable:0x20BF458, Size:0x1D0, CRC32:0x21C5780B +class uBokehFilter /*: uDOFFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mGradateColor' ; // Offset:0x60, Var, CRC32:0x59A153F2, Flags:0x0 + classref 'mpTempTexture[0]' ; // Offset:0x74, Var, CRC32:0xFF5EDDC5, Flags:0x20000 + classref 'mpTempTexture[1]' ; // Offset:0x78, Var, CRC32:0xE645EC84, Flags:0x20000 + f32 'mAperture' ; // Offset:0x7C, Var, CRC32:0xF018A16F, Flags:0x0 + f32 'mFocalLength' ; // Offset:0x80, Var, CRC32:0xAE6CD9D5, Flags:0x0 + f32 'mLowCoCScale' ; // Offset:0x84, Var, CRC32:0xE22E52E2, Flags:0x0 + f32 'mCoCScale' ; // Offset:0x88, Var, CRC32:0xC5FF1FF, Flags:0x10000 + f32 'mCoCBias' ; // Offset:0x8C, Var, CRC32:0x81D07F77, Flags:0x10000 + f32 'mFarBlurLimit' ; // Offset:0x90, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x94, Var, CRC32:0x76F01E5E, Flags:0x0 + u32 'mPattern' ; // Offset:0xC0, Var, CRC32:0x205E8F90, Flags:0x0 + u32 'mTapCount' ; // Offset:0xC4, Var, CRC32:0xC16FA675, Flags:0x0 + float2 'mTapPattern'[25] ; // Offset:0xC8, Array, CRC32:0xA9E2AD05, Flags:0x200000 + classref 'mpNearTexture' ; // Offset:0x198, Var, CRC32:0x5B3497EE, Flags:0x20000 + classref 'mpFarTexture' ; // Offset:0x19C, Var, CRC32:0x2A8B99F8, Flags:0x20000 + f32 'mScale' ; // Offset:0x1A0, Var, CRC32:0x11F2BF45, Flags:0x0 + f32 'mScaleNear' ; // Offset:0x1A4, Var, CRC32:0xD9C8DEDC, Flags:0x0 + f32 'mScaleFar' ; // Offset:0x1A8, Var, CRC32:0xF045D5F9, Flags:0x0 + f32 'mAlphaScale' ; // Offset:0x1AC, Var, CRC32:0xF8133972, Flags:0x0 + f32 'mMipScale' ; // Offset:0x1B0, Var, CRC32:0xF8EBA3F4, Flags:0x0 + f32 'mMipScaleNear' ; // Offset:0x1B4, Var, CRC32:0x2BEC5EF3, Flags:0x0 + f32 'mMipScaleFar' ; // Offset:0x1B8, Var, CRC32:0xB6C5B4AA, Flags:0x0 + f32 'mMipBias' ; // Offset:0x1BC, Var, CRC32:0xE1372561, Flags:0x0 + bool 'mUseFarReduction' ; // Offset:0x1C4, Var, CRC32:0x72241236, Flags:0x0 + bool 'mCorrectReductionNoise' ; // Offset:0x1C5, Var, CRC32:0x7C644156, Flags:0x0 + bool 'mDisableNear' ; // Offset:0x1C7, Var, CRC32:0x692C4877, Flags:0x0 + bool 'mDisableFar' ; // Offset:0x1C8, Var, CRC32:0xC44B5C83, Flags:0x0 + bool 'mFast' ; // Offset:0x1C9, Var, CRC32:0xFC6F82F8, Flags:0x0 + bool 'mFP16' ; // Offset:0x1CA, Var, CRC32:0x835B0064, Flags:0x0 + bool 'mDithering' ; // Offset:0x1CB, Var, CRC32:0x777C5A8A, Flags:0x0 + u32 'mPreset' ; // Offset:0x1CC, Var, CRC32:0x12C34D03, Flags:0x0 + f32 'mFar' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6830, Setter:0x14E07B0, CRC32:0xA10DB4B9, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mNear' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFC0, Setter:0x14E0960, CRC32:0xAF45D72D, Flags:0x800000 + f32 'mFocal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6840, Setter:0x14E0800, CRC32:0x3CD20A88, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCameraBase vftable:0x1CB2E00, Size:0xA90, CRC32:0x148233BA +class uCameraBase /*: uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mQuake' ; // Offset:0x150, Var, CRC32:0x510172A1, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCameraEffect vftable:0x20CEFD8, Size:0x240, CRC32:0x70A0F5E2 +class uCameraEffect /*: uEffect, uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + bool 'mRepeatFlag' ; // Offset:0x230, Var, CRC32:0x4E8BF428, Flags:0x0 + bool 'mYAngleFlag' ; // Offset:0x231, Var, CRC32:0x76C643AC, Flags:0x0 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 +}; + +// uCameraGame vftable:0x1CB3B30, Size:0x1070, CRC32:0x771DFC57 +class uCameraGame /*: uCameraBase, uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mQuake' ; // Offset:0x150, Var, CRC32:0x510172A1, Flags:0x0 + f32 'mCalcPitch' ; // Offset:0xA80, Var, CRC32:0x2138BA0B, Flags:0x0 + f32 'mCalcHead' ; // Offset:0xA84, Var, CRC32:0xB9284BFF, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCapsuleCubeMapLight vftable:0x20C9378, Size:0x4A0, CRC32:0x137CB3C6 +class uCapsuleCubeMapLight /*: uCubeMapLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector4 'FactorR'[3] ; // Offset:0x3D0, Array, CRC32:0x67C821DA, Flags:0x210000 + vector4 'FactorG'[3] ; // Offset:0x400, Array, CRC32:0xA15C531, Flags:0x210000 + vector4 'FactorB'[3] ; // Offset:0x430, Array, CRC32:0x7A7F31BE, Flags:0x210000 + vector3 'mPosA' ; // Offset:0x470, Var, CRC32:0xD5306392, Flags:0x0 + vector3 'mPosB' ; // Offset:0x480, Var, CRC32:0x4C393228, Flags:0x0 + f32 'mStart' ; // Offset:0x490, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x494, Var, CRC32:0xD007A37E, Flags:0x0 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + custom 'mpCubeMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162ED90, Setter:0x1635630, CRC32:0x8D2DF9F1, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCapsuleLight vftable:0x20C8FF0, Size:0x420, CRC32:0x22F683F8 +class uCapsuleLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos0' ; // Offset:0x3D0, Var, CRC32:0xF2322238, Flags:0x0 + vector3 'mPos1' ; // Offset:0x3E0, Var, CRC32:0x853512AE, Flags:0x0 + f32 'mStart' ; // Offset:0x410, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x414, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x418, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x41C, Var, CRC32:0xE0F3333C, Flags:0x0 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCharacter vftable:0x1CB42B0, Size:0x1E00, CRC32:0x7B97FF6C +class uCharacter /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uCharacterEdit vftable:0x1CB4FC8, Size:0x1250, CRC32:0x5B44E527 +class uCharacterEdit /*: uCharacterEditBase, cUnit, MtObject*/ { +}; + +// uCharacterEditCamera vftable:0x1CB4E80, Size:0x2D0, CRC32:0x6245220A +class uCharacterEditCamera /*: uCharacterEditCameraBase, uFreeCamera, uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + classref 'mpParent' ; // Offset:0xA0, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0xA4, Var, CRC32:0xE0F3333C, Flags:0x0 + classref 'mpTarget' ; // Offset:0xA8, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mTargetNo' ; // Offset:0xAC, Var, CRC32:0xC978E9A7, Flags:0x0 + s32 'mControlPad' ; // Offset:0xB0, Var, CRC32:0x52D4F4B1, Flags:0x0 + vector3 'mControlSpeed' ; // Offset:0xC0, Var, CRC32:0xBB9CE196, Flags:0x0 + bool 'mPadControl' ; // Offset:0xD0, Var, CRC32:0x169FE26B, Flags:0x0 + custom 'mpCameraParam' ; // Offset:0xE0, Var, CRC32:0xC2F0E348, Flags:0x0 + f32 'mLength' ; // Offset:0xEC, Var, CRC32:0x3FE13783, Flags:0x0 + vector3 'mRotateRS' ; // Offset:0x120, Var, CRC32:0x3A6855A7, Flags:0x0 + vector3 'mRotateLS' ; // Offset:0x130, Var, CRC32:0xEE296A78, Flags:0x0 + f32 'mZoomSpeed' ; // Offset:0x144, Var, CRC32:0x178A67D1, Flags:0x0 + f32 'mRotateSpeed' ; // Offset:0x148, Var, CRC32:0xCB3C11AC, Flags:0x0 + vector3 'mResetAngle' ; // Offset:0x230, Var, CRC32:0xC8AD2044, Flags:0x0 + f32 'mResetMaxSpeed' ; // Offset:0x240, Var, CRC32:0x41E8B059, Flags:0x0 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCharacterEditCameraBase vftable:0x1CB4E08, Size:0x2D0, CRC32:0x56BCC4BD +class uCharacterEditCameraBase /*: uFreeCamera, uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + classref 'mpParent' ; // Offset:0xA0, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0xA4, Var, CRC32:0xE0F3333C, Flags:0x0 + classref 'mpTarget' ; // Offset:0xA8, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mTargetNo' ; // Offset:0xAC, Var, CRC32:0xC978E9A7, Flags:0x0 + s32 'mControlPad' ; // Offset:0xB0, Var, CRC32:0x52D4F4B1, Flags:0x0 + vector3 'mControlSpeed' ; // Offset:0xC0, Var, CRC32:0xBB9CE196, Flags:0x0 + bool 'mPadControl' ; // Offset:0xD0, Var, CRC32:0x169FE26B, Flags:0x0 + custom 'mpCameraParam' ; // Offset:0xE0, Var, CRC32:0xC2F0E348, Flags:0x0 + f32 'mLength' ; // Offset:0xEC, Var, CRC32:0x3FE13783, Flags:0x0 + vector3 'mRotateRS' ; // Offset:0x120, Var, CRC32:0x3A6855A7, Flags:0x0 + vector3 'mRotateLS' ; // Offset:0x130, Var, CRC32:0xEE296A78, Flags:0x0 + f32 'mZoomSpeed' ; // Offset:0x144, Var, CRC32:0x178A67D1, Flags:0x0 + f32 'mRotateSpeed' ; // Offset:0x148, Var, CRC32:0xCB3C11AC, Flags:0x0 + vector3 'mResetAngle' ; // Offset:0x230, Var, CRC32:0xC8AD2044, Flags:0x0 + f32 'mResetMaxSpeed' ; // Offset:0x240, Var, CRC32:0x41E8B059, Flags:0x0 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCharacterEditCameraBase::cLimit vftable:0x1C51508, Size:0xC, CRC32:0x7017D93D +class uCharacterEditCameraBase::cLimit /*: MtObject*/ { + f32 'max' ; // Offset:0x4, Var, CRC32:0x6289DD76, Flags:0x0 + f32 'min' ; // Offset:0x8, Var, CRC32:0x5E84E22F, Flags:0x0 +}; + +// uCharacterSelect vftable:0x1CB5F58, Size:0x820, CRC32:0x51C803D4 +class uCharacterSelect /*: uCharacterEditBase, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCharacterSelectCamera vftable:0x1CB5EE0, Size:0x2D0, CRC32:0x7CCFF797 +class uCharacterSelectCamera /*: uCharacterEditCameraBase, uFreeCamera, uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + classref 'mpParent' ; // Offset:0xA0, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0xA4, Var, CRC32:0xE0F3333C, Flags:0x0 + classref 'mpTarget' ; // Offset:0xA8, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mTargetNo' ; // Offset:0xAC, Var, CRC32:0xC978E9A7, Flags:0x0 + s32 'mControlPad' ; // Offset:0xB0, Var, CRC32:0x52D4F4B1, Flags:0x0 + vector3 'mControlSpeed' ; // Offset:0xC0, Var, CRC32:0xBB9CE196, Flags:0x0 + bool 'mPadControl' ; // Offset:0xD0, Var, CRC32:0x169FE26B, Flags:0x0 + custom 'mpCameraParam' ; // Offset:0xE0, Var, CRC32:0xC2F0E348, Flags:0x0 + f32 'mLength' ; // Offset:0xEC, Var, CRC32:0x3FE13783, Flags:0x0 + vector3 'mRotateRS' ; // Offset:0x120, Var, CRC32:0x3A6855A7, Flags:0x0 + vector3 'mRotateLS' ; // Offset:0x130, Var, CRC32:0xEE296A78, Flags:0x0 + f32 'mZoomSpeed' ; // Offset:0x144, Var, CRC32:0x178A67D1, Flags:0x0 + f32 'mRotateSpeed' ; // Offset:0x148, Var, CRC32:0xCB3C11AC, Flags:0x0 + vector3 'mResetAngle' ; // Offset:0x230, Var, CRC32:0xC8AD2044, Flags:0x0 + f32 'mResetMaxSpeed' ; // Offset:0x240, Var, CRC32:0x41E8B059, Flags:0x0 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uChromaticAberrationFilter vftable:0x20BF590, Size:0x150, CRC32:0x57D3DD05 +class uChromaticAberrationFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + f32 'mDistortion' ; // Offset:0x50, Var, CRC32:0xC3D59531, Flags:0x0 + f32 'mSoftness' ; // Offset:0x54, Var, CRC32:0x98896C8B, Flags:0x0 + f32 'mScaler' ; // Offset:0x58, Var, CRC32:0xB8AC57B0, Flags:0x0 + f32 'mFocusBegin' ; // Offset:0x5C, Var, CRC32:0xFA2C609, Flags:0x0 + f32 'mFocusEnd' ; // Offset:0x60, Var, CRC32:0x27FECBBE, Flags:0x0 + bool 'mUseMask' ; // Offset:0x64, Var, CRC32:0x82A367AC, Flags:0x0 + custom 'mpDistortionTexture' ; // Offset:0x68, Var, CRC32:0x8A59EC95, Flags:0x0 + bool 'mToneCurve' ; // Offset:0x6C, Var, CRC32:0xCDD396DB, Flags:0x0 + u32 'mSampleCount' ; // Offset:0x70, Var, CRC32:0x7AC7537D, Flags:0x0 + hermitecurve 'mToneCurveR' ; // Offset:0x74, Var, CRC32:0x94A9E812, Flags:0x0 + hermitecurve 'mToneCurveG' ; // Offset:0xB4, Var, CRC32:0xF9740CF9, Flags:0x0 + hermitecurve 'mToneCurveB' ; // Offset:0xF4, Var, CRC32:0x891EF876, Flags:0x0 + classref 'mpToneMap' ; // Offset:0x134, Var, CRC32:0x48E9974D, Flags:0x20000 + classref 'mpTexture' ; // Offset:0x138, Var, CRC32:0xC83DF7A2, Flags:0x20000 + classref 'mpTempTexture[0]' ; // Offset:0x13C, Var, CRC32:0xFF5EDDC5, Flags:0x20000 + classref 'mpTempTexture[1]' ; // Offset:0x140, Var, CRC32:0xE645EC84, Flags:0x20000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsBoneScale vftable:0x1CB60E0, Size:0xA0, CRC32:0x1ECB5D15 +class uCnsBoneScale /*: uConstraint, cUnit, MtObject*/ { + vector3 'mScl' ; // Offset:0x80, Var, CRC32:0x73D98AC3, Flags:0x0 + u32 'mJoint' ; // Offset:0x90, Var, CRC32:0x6041E6C6, Flags:0x10000 +}; + +// uCnsBowUpper vftable:0x1CB61B0, Size:0xD0, CRC32:0x18B4B829 +class uCnsBowUpper /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + vector3 'mRot' ; // Offset:0x90, Var, CRC32:0xCDC237AE, Flags:0x0 + vector3 'mScl' ; // Offset:0xA0, Var, CRC32:0x73D98AC3, Flags:0x0 + vector3 'mTrans' ; // Offset:0xB0, Var, CRC32:0x8D95847C, Flags:0x0 + u32 'mOrder' ; // Offset:0xC0, Var, CRC32:0x89D0959, Flags:0x0 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpCnsBowUpperRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC4EF83, Setter:0xC4EF8B, CRC32:0x51D6520F, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsChain vftable:0x20CF748, Size:0xD20, CRC32:0x640E20C1 +class uCnsChain /*: uConstraint, cUnit, MtObject*/ { + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event32 'Stabilize' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x5812490B, Flags:0xA0000 + event32 'StabilizeForDemo' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x34960D10, Flags:0xA0000 + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + bool 'mForcedInvalid' ; // Offset:0x99, Var, CRC32:0x254E66CC, Flags:0x10000 + u32 'mCP.mChainInfoNum' ; // Offset:0xB0, Var, CRC32:0xBA3F38FD, Flags:0x10000 + u32 'mCP.mColInfoNum' ; // Offset:0xB4, Var, CRC32:0x3408B1F3, Flags:0x10000 + f32 'mCP.mGravity' ; // Offset:0xC0, Var, CRC32:0xCD7882CE, Flags:0x0 + f32 'mCP.mSpeedDump' ; // Offset:0xC4, Var, CRC32:0x153C3430, Flags:0x0 + u32 'mCP.mSolve' ; // Offset:0xC8, Var, CRC32:0xB83BA1A5, Flags:0x0 + bool 'mCP.mTransApplyWorld' ; // Offset:0xCC, Var, CRC32:0x46852216, Flags:0x0 + bool 'mCP.mExforceFlag' ; // Offset:0xCD, Var, CRC32:0xB0536EC5, Flags:0x0 + bool 'mCP.mExforceApplyWorld' ; // Offset:0xCE, Var, CRC32:0x70464277, Flags:0x0 + bool 'mCP.mRandomDumpingFlag' ; // Offset:0xCF, Var, CRC32:0x97184699, Flags:0x0 + f32 'mCP.mMotionBlendRatio' ; // Offset:0xD0, Var, CRC32:0x8C173947, Flags:0x0 + vector3 'mCP.mRandomExforce' ; // Offset:0xE0, Var, CRC32:0x7C23F9B5, Flags:0x0 + vector3 'mCP.mConstantExforce' ; // Offset:0xF0, Var, CRC32:0x86E0549C, Flags:0x0 + f32 'mCP.mRandomForceStep' ; // Offset:0x100, Var, CRC32:0x81F3849D, Flags:0x0 + f32 'mCP.mTimeScale' ; // Offset:0x10C, Var, CRC32:0x604B1089, Flags:0x0 + f32 'mCP.mLooseRange' ; // Offset:0x110, Var, CRC32:0xD7443036, Flags:0x0 + f32 'mCP.mBendRegistRatio' ; // Offset:0x114, Var, CRC32:0xAFCB6293, Flags:0x0 + bool 'mScrCollision' ; // Offset:0x1B0, Var, CRC32:0xF60E9B8E, Flags:0x0 + u32 'mSbcType' ; // Offset:0x1B4, Var, CRC32:0x5508E211, Flags:0x0 + u32 'mSbcFilter' ; // Offset:0x1B8, Var, CRC32:0x92896FCC, Flags:0x0 + u32 'mColliderType' ; // Offset:0x1C8, Var, CRC32:0x2AD74BC6, Flags:0x0 + u32 'mColliderFilter' ; // Offset:0x1CC, Var, CRC32:0xF3FA5887, Flags:0x0 + classref 'mpColModel' ; // Offset:0x1D0, Var, CRC32:0xBD63477F, Flags:0x100000 + bool 'mStaticColEnable' ; // Offset:0x1E4, Var, CRC32:0x4D04A01C, Flags:0x10000 + classref 'mpColliderNode' ; // Offset:0x324, Var, CRC32:0x35B5F239, Flags:0x100000 + class 'mChainJob' ; // Offset:0x350, Var, CRC32:0x1B367CD7, Flags:0x0 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpChain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1713D40, Setter:0x1715D50, CRC32:0x3531C0B6, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + bool 'mColliderCollision' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1713D60, Setter:0x17160A0, CRC32:0xDA284C6A, Flags:0x800000 + custom 'mpCollision' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1713D50, Setter:0x1715F70, CRC32:0xC644A507, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsChain::cCnsChild vftable:0x20CF6B0, Size:0x88, CRC32:0x64A5BD88 +class uCnsChain::cCnsChild /*: uConstraint, cUnit, MtObject*/ { +}; + +// uCnsDDOIK vftable:0x1CB6368, Size:0xDD0, CRC32:0x50997758 +class uCnsDDOIK /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + s32 'mJointNum' ; // Offset:0xD8, Var, CRC32:0x8792FF62, Flags:0x10000 + s32 'mEffNo' ; // Offset:0xDC, Var, CRC32:0x8BA494EE, Flags:0x10000 + s32 'Dir' ; // Offset:0x194, Var, CRC32:0x7D19C30F, Flags:0x0 + s32 'Up' ; // Offset:0x198, Var, CRC32:0x29EF352D, Flags:0x0 + s32 'mFitUp' ; // Offset:0x19C, Var, CRC32:0xAFFB4F19, Flags:0x0 + s32 'mFitDir' ; // Offset:0x1A0, Var, CRC32:0x5C2B23C0, Flags:0x0 + bool 'mEffectorLimitEnable' ; // Offset:0xB70, Var, CRC32:0xEB30D5B8, Flags:0x8000000 + f32 'mEffPitchMin' ; // Offset:0xB74, Var, CRC32:0xFB8488B6, Flags:0x0 + f32 'mEffPitchMax' ; // Offset:0xB78, Var, CRC32:0xC789B7EF, Flags:0x0 + f32 'mEffDistMin' ; // Offset:0xB7C, Var, CRC32:0xEDB128D4, Flags:0x0 + f32 'mEffDistMax' ; // Offset:0xB80, Var, CRC32:0xD1BC178D, Flags:0x0 + f32 'mEffRotMin' ; // Offset:0xB84, Var, CRC32:0x8A85726B, Flags:0x0 + f32 'mEffRotMax' ; // Offset:0xB88, Var, CRC32:0xB6884D32, Flags:0x0 + bool 'mJointLimitEnable' ; // Offset:0xB8C, Var, CRC32:0xA423CD94, Flags:0x8000000 + bool 'mCollisionEnable' ; // Offset:0xB8D, Var, CRC32:0xCA3A5B52, Flags:0x8000000 + f32 'mHeelOffset' ; // Offset:0xB90, Var, CRC32:0xAFD8F098, Flags:0x8000000 + f32 'mHeelHeight' ; // Offset:0xB94, Var, CRC32:0x39FDF47, Flags:0x8000000 + bool 'Fit Heel' ; // Offset:0xB98, Var, CRC32:0x76414991, Flags:0x0 + bool 'Ground Distance Adapt' ; // Offset:0xB99, Var, CRC32:0x720F2726, Flags:0x0 + f32 'Check Upper' ; // Offset:0xB9C, Var, CRC32:0xB6D30C66, Flags:0x8000000 + f32 'Check Lower' ; // Offset:0xBA0, Var, CRC32:0xD616A8D9, Flags:0x8000000 + vector3 'Ground Normal' ; // Offset:0xBB0, Var, CRC32:0xB31E1C5D, Flags:0x8000000 + f32 'mGroundDistance' ; // Offset:0xBC0, Var, CRC32:0xF3149114, Flags:0x30000 + f32 'Ground Level' ; // Offset:0xBC4, Var, CRC32:0xDC7A9EF9, Flags:0x8000000 + s32 'Effector Limit Mode' ; // Offset:0xBD0, Var, CRC32:0x89AD2484, Flags:0x8000000 + s32 'Joint Limit Mode' ; // Offset:0xBD4, Var, CRC32:0xCE39D60E, Flags:0x8000000 + s32 'Collision Mode' ; // Offset:0xBD8, Var, CRC32:0xFE8C5F9E, Flags:0x8000000 + s32 'Effector Behavior' ; // Offset:0xBDC, Var, CRC32:0x1D79B760, Flags:0x8000000 + s32 'Limit Coordinate' ; // Offset:0xBE0, Var, CRC32:0xDA8E083D, Flags:0x0 + vector3 'Limit Coordinate Offset' ; // Offset:0xBF0, Var, CRC32:0x42014628, Flags:0x0 + u32 'mEffectorControl' ; // Offset:0xC00, Var, CRC32:0x54FAA36C, Flags:0x0 + matrix44 'mOffsetMat' ; // Offset:0xC10, Var, CRC32:0xAC5045B5, Flags:0x0 + vector3 'mTransScale' ; // Offset:0xC50, Var, CRC32:0xC0494D22, Flags:0x0 + vector3 'mCenterPosOffset' ; // Offset:0xC60, Var, CRC32:0xB9ACDF1C, Flags:0x0 + s32 'mCenterRefJntNo' ; // Offset:0xC70, Var, CRC32:0xE78EAF38, Flags:0x0 + u32 'CollisionType' ; // Offset:0xC84, Var, CRC32:0x2526AC72, Flags:0x0 + u32 'CollisionCheckGroupBit' ; // Offset:0xC88, Var, CRC32:0xE1B2C32A, Flags:0x0 + u32 'CollisionFilter' ; // Offset:0xC8C, Var, CRC32:0x4D3D4B11, Flags:0x0 + vector3 'mEffectorPos' ; // Offset:0xD70, Var, CRC32:0x492F2B67, Flags:0x0 + vector3 'mUpVectorPos' ; // Offset:0xD80, Var, CRC32:0xE358DED1, Flags:0x0 + vector3 'mEffectorTargetPosOffset' ; // Offset:0xDA0, Var, CRC32:0x62F744FE, Flags:0x0 + bool 'Manipulate EffectorPos' ; // Offset:0xDB5, Var, CRC32:0xAF906C3D, Flags:0x0 + bool 'Manipulate EffectorRot' ; // Offset:0xDB6, Var, CRC32:0x32702DF0, Flags:0x0 + bool 'Manipulate Up Vector' ; // Offset:0xDB7, Var, CRC32:0x312D89C, Flags:0x0 + bool 'mEffectorTargetModelEnable' ; // Offset:0xDB8, Var, CRC32:0xE09A71AB, Flags:0x0 + bool 'mUpVectorTargetModelEnable' ; // Offset:0xDB9, Var, CRC32:0x744CF17C, Flags:0x0 + bool 'mUseScale' ; // Offset:0xDBA, Var, CRC32:0xC700D9C2, Flags:0x0 + u32 'IK Status' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC643C0, Setter:0x0, CRC32:0x1DE378A3, Flags:0x830000 + classref 'mJointInfo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC64350, Setter:0xC65060, GetCount:0xC64370, Reallocate:0xC65090 CRC32:0x106643A1, Flags:0xA00000 + classref 'mpUpVectorTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC643E0, Setter:0xC65610, CRC32:0x9752547E, Flags:0x900000 + custom 'mpCnsIKRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC52B2C, Setter:0xC52B27, CRC32:0x9EAAF6FB, Flags:0x800000 + u32 'mEffectorTargetJointNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC64320, Setter:0xC64F90, CRC32:0x9184BD9D, Flags:0x800000 + u32 'mUpVectorTargetJointNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC643D0, Setter:0xC65600, CRC32:0x8B43D49F, Flags:0x800000 + classref 'mpEffectorTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC64330, Setter:0xC64FA0, CRC32:0x9D3D246E, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + matrix44 'mEffectorRot' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC64250, Setter:0xC64EF0, CRC32:0xD4CF6AAA, Flags:0x8800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsDDOIK::JointInfo vftable:0x1CB6328, Size:0x270, CRC32:0x78E6FFA2 +class uCnsDDOIK::JointInfo /*: MtObject*/ { + f32 'mOffset' ; // Offset:0x1A4, Var, CRC32:0x679663E1, Flags:0x0 + f32 'mScaleOffset' ; // Offset:0x1A8, Var, CRC32:0x13ED7D34, Flags:0x0 + class 'mCnsJoint' ; // Offset:0x1B0, Var, CRC32:0xDFE1A465, Flags:0x20000 + f32 'mLen' ; // Offset:0x254, Var, CRC32:0xDCF7A824, Flags:0x10000 + f32 'mRotMin' ; // Offset:0x25C, Var, CRC32:0x50FCF12D, Flags:0x0 + f32 'mRotMax' ; // Offset:0x260, Var, CRC32:0x6CF1CE74, Flags:0x0 + bool 'mReverse' ; // Offset:0x264, Var, CRC32:0x2995E209, Flags:0x0 + s32 'mJntNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC64340, Setter:0xC65050, CRC32:0xD3E25CCE, Flags:0x800000 +}; + +// uCnsDDOIK::uCnsJoint vftable:0x1CB6288, Size:0x88, CRC32:0x1E30B17 +class uCnsDDOIK::uCnsJoint /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + bool 'mIsEffector' ; // Offset:0x80, Var, CRC32:0x84D81863, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsEdit vftable:0x1CB68E8, Size:0x130, CRC32:0x7418A8B +class uCnsEdit /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mTransFlag' ; // Offset:0x78, Var, CRC32:0x868B602, Flags:0x0 + vector3 'mOrgTrans' ; // Offset:0x90, Var, CRC32:0x5DA365A7, Flags:0x0 + vector3 'mOrgScl' ; // Offset:0xA0, Var, CRC32:0x37314CF6, Flags:0x0 + quaternion 'mOrgQuat' ; // Offset:0xB0, Var, CRC32:0x48DBA44, Flags:0x0 + vector3 'mPresetTrans' ; // Offset:0xC0, Var, CRC32:0xB201645E, Flags:0x0 + vector3 'mPresetScl' ; // Offset:0xD0, Var, CRC32:0x21D299F7, Flags:0x0 + quaternion 'mPresetQuat' ; // Offset:0xE0, Var, CRC32:0x739C6907, Flags:0x0 + vector3 'mTrans' ; // Offset:0xF0, Var, CRC32:0x8D95847C, Flags:0x0 + vector3 'mScl' ; // Offset:0x100, Var, CRC32:0x73D98AC3, Flags:0x0 + quaternion 'mQuat' ; // Offset:0x110, Var, CRC32:0x527A96A1, Flags:0x0 + u32 'mJoint' ; // Offset:0x12C, Var, CRC32:0x6041E6C6, Flags:0x0 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsGroup vftable:0x20D96A0, Size:0x88, CRC32:0x38CC7CCE +class uCnsGroup /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x192C871, Setter:0x192D720, CRC32:0xE80A92B5, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsGroup::cCnsChild vftable:0x20D9608, Size:0x80, CRC32:0x13F66715 +class uCnsGroup::cCnsChild /*: uConstraint, cUnit, MtObject*/ { +}; + +// uCnsGroup::cGroup vftable:0x20D95B8, Size:0x1C, CRC32:0x4FC29653 +class uCnsGroup::cGroup /*: MtObject*/ { + event32 'Remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x90D3E7F9, Flags:0xA0000 + event 'Depend Reset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x9C3B760B, Flags:0xA0000 + event32 'Update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6076CFB1, Flags:0xA0000 + u32 'NodeNum' ; // Offset:0xC, Var, CRC32:0xF400750A, Flags:0x8030000 + classref 'Nodes'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x192C86C, Setter:0x192C867, GetCount:0x165F400, Reallocate:0x192D570 CRC32:0x2303D507, Flags:0xA00000 +}; + +// uCnsGroup::cNode vftable:0x20D959C, Size:0x8, CRC32:0xAD1B7D5 +class uCnsGroup::cNode /*: MtObject*/ { + u32 'mJointNo' ; // Offset:0x4, Var, CRC32:0x673E4986, Flags:0x0 +}; + +// uCnsHeadCtrl vftable:0x1CB69F0, Size:0xA0, CRC32:0x7ED1CD79 +class uCnsHeadCtrl /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mJoint' ; // Offset:0x78, Var, CRC32:0x6041E6C6, Flags:0x0 + u32 'mLocalAxis' ; // Offset:0x80, Var, CRC32:0x284CBC5E, Flags:0x0 + f32 'mRightLimit' ; // Offset:0x84, Var, CRC32:0xC8A82028, Flags:0x0 + f32 'mLeftLimit' ; // Offset:0x88, Var, CRC32:0x986140F4, Flags:0x0 + f32 'mUpperLimit' ; // Offset:0x8C, Var, CRC32:0xEBE77594, Flags:0x0 + f32 'mLowerLimit' ; // Offset:0x90, Var, CRC32:0x49E05B0F, Flags:0x0 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsIK vftable:0x20D0718, Size:0xDB0, CRC32:0x477ADADA +class uCnsIK /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + s32 'mJointNum' ; // Offset:0xD8, Var, CRC32:0x8792FF62, Flags:0x10000 + s32 'mEffNo' ; // Offset:0xDC, Var, CRC32:0x8BA494EE, Flags:0x10000 + s32 'Dir' ; // Offset:0x194, Var, CRC32:0x7D19C30F, Flags:0x0 + s32 'Up' ; // Offset:0x198, Var, CRC32:0x29EF352D, Flags:0x0 + s32 'mFitUp' ; // Offset:0x19C, Var, CRC32:0xAFFB4F19, Flags:0x0 + s32 'mFitDir' ; // Offset:0x1A0, Var, CRC32:0x5C2B23C0, Flags:0x0 + bool 'mEffectorLimitEnable' ; // Offset:0xB70, Var, CRC32:0xEB30D5B8, Flags:0x8000000 + f32 'mEffPitchMin' ; // Offset:0xB74, Var, CRC32:0xFB8488B6, Flags:0x0 + f32 'mEffPitchMax' ; // Offset:0xB78, Var, CRC32:0xC789B7EF, Flags:0x0 + f32 'mEffDistMin' ; // Offset:0xB7C, Var, CRC32:0xEDB128D4, Flags:0x0 + f32 'mEffDistMax' ; // Offset:0xB80, Var, CRC32:0xD1BC178D, Flags:0x0 + f32 'mEffRotMin' ; // Offset:0xB84, Var, CRC32:0x8A85726B, Flags:0x0 + f32 'mEffRotMax' ; // Offset:0xB88, Var, CRC32:0xB6884D32, Flags:0x0 + bool 'mJointLimitEnable' ; // Offset:0xB8C, Var, CRC32:0xA423CD94, Flags:0x8000000 + bool 'mCollisionEnable' ; // Offset:0xB8D, Var, CRC32:0xCA3A5B52, Flags:0x8000000 + f32 'mHeelOffset' ; // Offset:0xB90, Var, CRC32:0xAFD8F098, Flags:0x8000000 + f32 'mHeelHeight' ; // Offset:0xB94, Var, CRC32:0x39FDF47, Flags:0x8000000 + bool 'Fit Heel' ; // Offset:0xB98, Var, CRC32:0x76414991, Flags:0x0 + bool 'Ground Distance Adapt' ; // Offset:0xB99, Var, CRC32:0x720F2726, Flags:0x0 + f32 'Check Upper' ; // Offset:0xB9C, Var, CRC32:0xB6D30C66, Flags:0x8000000 + f32 'Check Lower' ; // Offset:0xBA0, Var, CRC32:0xD616A8D9, Flags:0x8000000 + vector3 'Ground Normal' ; // Offset:0xBB0, Var, CRC32:0xB31E1C5D, Flags:0x8000000 + f32 'mGroundDistance' ; // Offset:0xBC0, Var, CRC32:0xF3149114, Flags:0x30000 + f32 'Ground Level' ; // Offset:0xBC4, Var, CRC32:0xDC7A9EF9, Flags:0x8000000 + s32 'Effector Limit Mode' ; // Offset:0xBD0, Var, CRC32:0x89AD2484, Flags:0x8000000 + s32 'Joint Limit Mode' ; // Offset:0xBD4, Var, CRC32:0xCE39D60E, Flags:0x8000000 + s32 'Collision Mode' ; // Offset:0xBD8, Var, CRC32:0xFE8C5F9E, Flags:0x8000000 + s32 'Effector Behavior' ; // Offset:0xBDC, Var, CRC32:0x1D79B760, Flags:0x8000000 + s32 'Limit Coordinate' ; // Offset:0xBE0, Var, CRC32:0xDA8E083D, Flags:0x0 + vector3 'Limit Coordinate Offset' ; // Offset:0xBF0, Var, CRC32:0x42014628, Flags:0x0 + u32 'mEffectorControl' ; // Offset:0xC00, Var, CRC32:0x54FAA36C, Flags:0x0 + matrix44 'mOffsetMat' ; // Offset:0xC10, Var, CRC32:0xAC5045B5, Flags:0x0 + vector3 'mTransScale' ; // Offset:0xC50, Var, CRC32:0xC0494D22, Flags:0x0 + vector3 'mCenterPosOffset' ; // Offset:0xC60, Var, CRC32:0xB9ACDF1C, Flags:0x0 + s32 'mCenterRefJntNo' ; // Offset:0xC70, Var, CRC32:0xE78EAF38, Flags:0x0 + u32 'CollisionType' ; // Offset:0xC84, Var, CRC32:0x2526AC72, Flags:0x0 + u32 'CollisionCheckGroupBit' ; // Offset:0xC88, Var, CRC32:0xE1B2C32A, Flags:0x0 + u32 'CollisionFilter' ; // Offset:0xC8C, Var, CRC32:0x4D3D4B11, Flags:0x0 + vector3 'mEffectorPos' ; // Offset:0xD70, Var, CRC32:0x492F2B67, Flags:0x0 + vector3 'mUpVectorPos' ; // Offset:0xD80, Var, CRC32:0xE358DED1, Flags:0x0 + bool 'Manipulate EffectorPos' ; // Offset:0xDA5, Var, CRC32:0xAF906C3D, Flags:0x0 + bool 'Manipulate EffectorRot' ; // Offset:0xDA6, Var, CRC32:0x32702DF0, Flags:0x0 + bool 'Manipulate Up Vector' ; // Offset:0xDA7, Var, CRC32:0x312D89C, Flags:0x0 + bool 'mEffectorTargetModelEnable' ; // Offset:0xDA8, Var, CRC32:0xE09A71AB, Flags:0x0 + bool 'mUpVectorTargetModelEnable' ; // Offset:0xDA9, Var, CRC32:0x744CF17C, Flags:0x0 + bool 'mUseScale' ; // Offset:0xDAA, Var, CRC32:0xC700D9C2, Flags:0x0 + classref 'mpEffectorTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F0F0, Setter:0x173FD60, CRC32:0x9D3D246E, Flags:0x900000 + u32 'mEffectorTargetJointNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F0E0, Setter:0x173FD50, CRC32:0x9184BD9D, Flags:0x800000 + u32 'mUpVectorTargetJointNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F190, Setter:0x1740400, CRC32:0x8B43D49F, Flags:0x800000 + u32 'IK Status' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F180, Setter:0x0, CRC32:0x1DE378A3, Flags:0x830000 + classref 'mJointInfo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x173F110, Setter:0x173FE20, GetCount:0x173F130, Reallocate:0x173FE50 CRC32:0x106643A1, Flags:0xA00000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpUpVectorTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F1A0, Setter:0x1740410, CRC32:0x9752547E, Flags:0x900000 + custom 'mpCnsIKRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172DC18, Setter:0x172DC13, CRC32:0x9EAAF6FB, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + matrix44 'mEffectorRot' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F010, Setter:0x173FCB0, CRC32:0xD4CF6AAA, Flags:0x8800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsIK::JointInfo vftable:0x20D0700, Size:0x270, CRC32:0x7E087781 +class uCnsIK::JointInfo /*: MtObject*/ { + f32 'mOffset' ; // Offset:0x1A4, Var, CRC32:0x679663E1, Flags:0x0 + f32 'mScaleOffset' ; // Offset:0x1A8, Var, CRC32:0x13ED7D34, Flags:0x0 + class 'mCnsJoint' ; // Offset:0x1B0, Var, CRC32:0xDFE1A465, Flags:0x20000 + f32 'mLen' ; // Offset:0x254, Var, CRC32:0xDCF7A824, Flags:0x10000 + f32 'mRotMin' ; // Offset:0x25C, Var, CRC32:0x50FCF12D, Flags:0x0 + f32 'mRotMax' ; // Offset:0x260, Var, CRC32:0x6CF1CE74, Flags:0x0 + bool 'mReverse' ; // Offset:0x264, Var, CRC32:0x2995E209, Flags:0x0 + s32 'mJntNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x173F100, Setter:0x173FE10, CRC32:0xD3E25CCE, Flags:0x800000 +}; + +// uCnsIK::uCnsJoint vftable:0x20D0660, Size:0x88, CRC32:0x70D8334 +class uCnsIK::uCnsJoint /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + bool 'mIsEffector' ; // Offset:0x80, Var, CRC32:0x84D81863, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsIKHandle vftable:0x1CB6AE0, Size:0x88, CRC32:0x26590740 +class uCnsIKHandle /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsIKTarget vftable:0x1CB6B98, Size:0x88, CRC32:0x71B60865 +class uCnsIKTarget /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsJointOffset vftable:0x20C8410, Size:0xC0, CRC32:0x5107CE62 +class uCnsJointOffset /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + vector3 'mRot' ; // Offset:0x80, Var, CRC32:0xCDC237AE, Flags:0x0 + vector3 'mScl' ; // Offset:0x90, Var, CRC32:0x73D98AC3, Flags:0x0 + vector3 'mTrans' ; // Offset:0xA0, Var, CRC32:0x8D95847C, Flags:0x0 + u32 'mOrder' ; // Offset:0xB0, Var, CRC32:0x89D0959, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x90E800, Setter:0x15DC8D0, CRC32:0xA3CBACFC, Flags:0x800000 + custom 'mpCnsJointOffsetRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15D9458, Setter:0x15D9453, CRC32:0x3BBE5800, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsLegCtrl vftable:0x1CB6C50, Size:0x120, CRC32:0x2B2AEBA5 +class uCnsLegCtrl /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + bool 'mEnableCenterRot' ; // Offset:0x78, Var, CRC32:0x99861F67, Flags:0x0 + matrix44 'mRotMat' ; // Offset:0xC0, Var, CRC32:0x6547825F, Flags:0x0 + vector3 'mOffset' ; // Offset:0x100, Var, CRC32:0x679663E1, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsLookAt vftable:0x20CF4F0, Size:0xB0, CRC32:0x9DEBCD6 +class uCnsLookAt /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x80, Var, CRC32:0x97CFE05E, Flags:0x0 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1707D90, Setter:0x17080B0, CRC32:0xA3CBACFC, Flags:0x800000 + custom 'mpCnsLookAtRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17072BC, Setter:0x17072B7, CRC32:0xE6666172, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + vector3 'TargetWPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1707DD0, Setter:0x1708170, CRC32:0x2925679, Flags:0x820000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mpTargetJoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1707DB0, Setter:0x1708150, CRC32:0xBC0C893B, Flags:0x800000 + classref 'mpTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1707DC0, Setter:0x1708160, CRC32:0xF66C87E5, Flags:0x900000 + u8 'mUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1707EF0, Setter:0xD28920, CRC32:0xD778A6B3, Flags:0x800000 + u8 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1707D80, Setter:0xD27E80, CRC32:0x6A50EADF, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsMatrix vftable:0x20CF5C8, Size:0xD0, CRC32:0x3DB67BF2 +class uCnsMatrix /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + matrix44 'mMat' ; // Offset:0x90, Var, CRC32:0x443BFE6D, Flags:0x0 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x170A870, Setter:0x170A920, CRC32:0xA3CBACFC, Flags:0x800000 + custom 'mpCnsMatrixRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17086B6, Setter:0x17086B1, CRC32:0x1EF02719, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsMotFilter vftable:0x1CB6D20, Size:0x88, CRC32:0x78EAC9B8 +class uCnsMotFilter /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mMulMode' ; // Offset:0x7C, Var, CRC32:0xE57EB0F2, Flags:0x0 + classref 'mpMotFlt' ; // Offset:0x80, Var, CRC32:0x9B95EBCE, Flags:0x0 + bool 'mSleep' ; // Offset:0x84, Var, CRC32:0xF287586D, Flags:0x0 + u32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC6EFD0, Setter:0xC6F0D0, CRC32:0xA3CBACFC, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsRagdoll vftable:0x20D93A0, Size:0xF0, CRC32:0x7E8DAAE9 +class uCnsRagdoll /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + matrix44 'mMat' ; // Offset:0xA0, Var, CRC32:0x443BFE6D, Flags:0x0 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1929650, Setter:0x1929720, CRC32:0xA3CBACFC, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsScaleFix vftable:0x1CB6DF0, Size:0x80, CRC32:0x1DFA4004 +class uCnsScaleFix /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mJoint' ; // Offset:0x7C, Var, CRC32:0x6041E6C6, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsShakeCtrl vftable:0x1CB6EA8, Size:0xF0, CRC32:0x5AD4175F +class uCnsShakeCtrl /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsTinyChain vftable:0x20CA4A0, Size:0x340, CRC32:0x2E2E90C7 +class uCnsTinyChain /*: uCnsGroup, uConstraint, cUnit, MtObject*/ { + event 'Reset Depned' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x27FC57AD, Flags:0xA0000 + event 'Reset Param' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6ED3E193, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Warp' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x8C78DCA7, Flags:0xA0000 + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mAttr' ; // Offset:0x88, Var, CRC32:0xDD77E828, Flags:0x0 + f32 'mStepTime' ; // Offset:0x8C, Var, CRC32:0x385D1BFE, Flags:0x0 + f32 'mGravityScaling' ; // Offset:0x90, Var, CRC32:0xD8530AE3, Flags:0x0 + f32 'mGlobalTransForceCoef' ; // Offset:0x94, Var, CRC32:0x322689AB, Flags:0x0 + f32 'mGlobalDamping' ; // Offset:0x98, Var, CRC32:0x34788518, Flags:0x0 + f32 'mSpringScaling' ; // Offset:0x9C, Var, CRC32:0x660B4EF8, Flags:0x0 + f32 'mWindScaling' ; // Offset:0xA0, Var, CRC32:0xA8F19DF9, Flags:0x0 + f32 'mReflectScaling' ; // Offset:0xA4, Var, CRC32:0x826F5747, Flags:0x0 + u8 'mSolveStrNum' ; // Offset:0xA8, Var, CRC32:0xA6B05D96, Flags:0x0 + u8 'mSolveAngNum' ; // Offset:0xA9, Var, CRC32:0xA539D688, Flags:0x0 + u8 'mSolveMdlColNum' ; // Offset:0xAA, Var, CRC32:0x278FD02E, Flags:0x0 + u8 'mSolveSelColNum' ; // Offset:0xAB, Var, CRC32:0x8F274953, Flags:0x0 + u8 'mSolveScrColNum' ; // Offset:0xAC, Var, CRC32:0x7EA9A747, Flags:0x0 + u8 'mSolveChnColNum' ; // Offset:0xAD, Var, CRC32:0x2F7D0FDA, Flags:0x0 + u32 'mStabilizeNum' ; // Offset:0xB8, Var, CRC32:0xF86660EC, Flags:0x0 + matrix44 'mTransParentMat' ; // Offset:0xD0, Var, CRC32:0x2765473, Flags:0x0 + f32 'mTransParentBlend' ; // Offset:0x150, Var, CRC32:0xB46BD88D, Flags:0x0 + f32 'mGroundLevel' ; // Offset:0x230, Var, CRC32:0x8D97B2C0, Flags:0x0 + vector3 'mLocalWind' ; // Offset:0x240, Var, CRC32:0x8C486E5A, Flags:0x0 + vector3 'mWindAmp'[5] ; // Offset:0x250, Array, CRC32:0x7BF2360E, Flags:0x200000 + u32 'mWindCycle'[5] ; // Offset:0x2A0, Array, CRC32:0x1E72FC18, Flags:0x200000 + u32 'mWindNum' ; // Offset:0x2B4, Var, CRC32:0x91B385B3, Flags:0x0 + custom 'mpModelColRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F3E0, Setter:0x1661580, CRC32:0x285C4405, Flags:0x800000 + classref 'mpModelCol' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F3D0, Setter:0x1661550, CRC32:0x6053A4E4, Flags:0x900000 + classref 'mpTransParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165FD30, Setter:0x16616C0, CRC32:0x7FDC50A8, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x192C871, Setter:0x192D720, CRC32:0xE80A92B5, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsTinyChain::cChainGroup vftable:0x20CA458, Size:0x180, CRC32:0x2DBACFE4 +class uCnsTinyChain::cChainGroup /*: uCnsGroup::cGroup, MtObject*/ { + event32 'Remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x90D3E7F9, Flags:0xA0000 + event 'Depend Reset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x9C3B760B, Flags:0xA0000 + event32 'Update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6076CFB1, Flags:0xA0000 + u32 'NodeNum' ; // Offset:0xC, Var, CRC32:0xF400750A, Flags:0x8030000 + u32 'mColAttribute' ; // Offset:0x20, Var, CRC32:0x68DC99AB, Flags:0x0 + u32 'mColGroup' ; // Offset:0x24, Var, CRC32:0x7B23275D, Flags:0x0 + u32 'mColType' ; // Offset:0x28, Var, CRC32:0xC18FAD0, Flags:0x0 + vector3 'mGravity' ; // Offset:0x30, Var, CRC32:0xD9FF56B9, Flags:0x0 + f32 'mDamping' ; // Offset:0x40, Var, CRC32:0xC7EC4974, Flags:0x0 + f32 'mTransForceCoef' ; // Offset:0x44, Var, CRC32:0xA84F496C, Flags:0x0 + f32 'mSpringCoef' ; // Offset:0x48, Var, CRC32:0x327E115F, Flags:0x0 + f32 'mWindCoef' ; // Offset:0x4C, Var, CRC32:0xDD2AE1AD, Flags:0x0 + f32 'mFrictionCoef' ; // Offset:0x50, Var, CRC32:0x17BDAA1A, Flags:0x0 + f32 'mReflectCoef' ; // Offset:0x54, Var, CRC32:0xA03BCA85, Flags:0x0 + f32 'mLimitForce' ; // Offset:0x58, Var, CRC32:0x2E86ED47, Flags:0x0 + u32 'AttrForce' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F060, Setter:0x1661140, CRC32:0x364360BC, Flags:0x800000 + u32 'AttrCollision' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F050, Setter:0x1661130, CRC32:0x34AE8ABF, Flags:0x800000 + classref 'Nodes'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x192C86C, Setter:0x192C867, GetCount:0x165F400, Reallocate:0x192D570 CRC32:0x2303D507, Flags:0xA00000 +}; + +// uCnsTinyChain::cChainNode vftable:0x20CA43C, Size:0x1A0, CRC32:0x4AF2141C +class uCnsTinyChain::cChainNode /*: uCnsGroup::cNode, MtObject*/ { + u32 'mJointNo' ; // Offset:0x4, Var, CRC32:0x673E4986, Flags:0x0 + f32 'mR' ; // Offset:0x10, Var, CRC32:0xEB10C832, Flags:0x0 + matrix44 'mAngleAxis' ; // Offset:0x20, Var, CRC32:0x50680E2B, Flags:0x0 + f32 'mMass' ; // Offset:0x60, Var, CRC32:0xB50A905A, Flags:0x0 + f32 'mElasticCoef' ; // Offset:0x64, Var, CRC32:0xA8EB81C7, Flags:0x0 + f32 'mWindCoef' ; // Offset:0x68, Var, CRC32:0xDD2AE1AD, Flags:0x0 + matrix44 'mMat' ; // Offset:0x70, Var, CRC32:0x443BFE6D, Flags:0x0 + vector3 'mJointScale' ; // Offset:0x190, Var, CRC32:0x6A417252, Flags:0x10000 + f32 'mAngleLimit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F000, Setter:0x1661080, CRC32:0x5C958227, Flags:0x800000 + u32 'mAngleMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F020, Setter:0x1661100, CRC32:0x42ADCF7A, Flags:0x800000 + u32 'ShapeScroll' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165FBE0, Setter:0x16616B0, CRC32:0xD2AB4C91, Flags:0x800000 + u32 'ShapeObject' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165FBD0, Setter:0x1661690, CRC32:0x9711D9FE, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F040, Setter:0x1661120, CRC32:0xDD77E828, Flags:0x800000 + u32 'mRefJntNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165FBA0, Setter:0x1661610, CRC32:0x8D4FE80A, Flags:0x800000 + u32 'mRotMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165FBC0, Setter:0x1661680, CRC32:0x8635A16B, Flags:0x800000 + u32 'mAttach' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x165F030, Setter:0x1661110, CRC32:0xE055D5B0, Flags:0x800000 +}; + +// uCnsTinyIK vftable:0x20CF338, Size:0x2D0, CRC32:0x30BA7ECE +class uCnsTinyIK /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + f32 'm3BonePullResist' ; // Offset:0x80, Var, CRC32:0x2231AB3C, Flags:0x0 + f32 'm3BonePushResist' ; // Offset:0x84, Var, CRC32:0x73E5ACA8, Flags:0x0 + u32 'mCollisionMode' ; // Offset:0x88, Var, CRC32:0xDBDA7CC7, Flags:0x0 + f32 'mGroundOffset' ; // Offset:0x8C, Var, CRC32:0x94C5DB4D, Flags:0x0 + f32 'mGroundBlendDist' ; // Offset:0x90, Var, CRC32:0xC6987A05, Flags:0x0 + f32 'mCheckGroundLengthUpper' ; // Offset:0x94, Var, CRC32:0xC045320B, Flags:0x0 + f32 'mCheckGroundLengthLower' ; // Offset:0x98, Var, CRC32:0xA08096B4, Flags:0x0 + u32 'col_type' ; // Offset:0xA4, Var, CRC32:0xD1A8A4CC, Flags:0x8000000 + u32 'col_group' ; // Offset:0xA8, Var, CRC32:0x6FFFCB4C, Flags:0x8000000 + u32 'col_filter' ; // Offset:0xAC, Var, CRC32:0x39A0B49B, Flags:0x8000000 + u32 'mCashTargetJntNo' ; // Offset:0x170, Var, CRC32:0x52CABF09, Flags:0x0 + f32 'mCashRange' ; // Offset:0x174, Var, CRC32:0x6E71427F, Flags:0x0 + vector3 'mEffPos' ; // Offset:0x180, Var, CRC32:0x988DC517, Flags:0x0 + f32 'mGroundLevel' ; // Offset:0x2A8, Var, CRC32:0x8D97B2C0, Flags:0x0 + f32 'mFitBlendRate' ; // Offset:0x2AC, Var, CRC32:0x1C499199, Flags:0x0 + classref 'mpCashShareIK' ; // Offset:0x2B0, Var, CRC32:0x3BE6FB7F, Flags:0x100000 + u32 'mFitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF400, Setter:0x1706B70, CRC32:0xC3FDFAAB, Flags:0x800000 + u32 'mEffRotMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF3D0, Setter:0x1706AE0, CRC32:0x19503C4D, Flags:0x800000 + u32 'mJntRotMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF450, Setter:0x1706F10, CRC32:0x6D1DF38E, Flags:0x800000 + u32 'mBlendMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF3B0, Setter:0x1706AC0, CRC32:0xDE326D50, Flags:0x800000 + u32 'mFitUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF410, Setter:0x1706B90, CRC32:0xAFFB4F19, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'mFitDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF3F0, Setter:0x1706B20, CRC32:0x5C2B23C0, Flags:0x800000 + u32 'mIKUp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF440, Setter:0x1706EC0, CRC32:0x556516A5, Flags:0x800000 + u32 'mIKDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF420, Setter:0x1706BE0, CRC32:0x9E06423E, Flags:0x800000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u8 'mJointNo'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x16FF460, Setter:0x1706F30, GetCount:0x16FF470, Reallocate:0x1706F50 CRC32:0x673E4986, Flags:0xA00000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF430, Setter:0x1706C30, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF3A0, Setter:0x1706AA0, CRC32:0xDD77E828, Flags:0x800000 + u32 'mFitBlendMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16FF3E0, Setter:0x1706B00, CRC32:0x546FE90B, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsTurnUpper vftable:0x1CB6F60, Size:0xE0, CRC32:0x64CAB76C +class uCnsTurnUpper /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + vector3 'mTargetRot' ; // Offset:0x90, Var, CRC32:0xA2FA193, Flags:0x0 + vector3 'mRot' ; // Offset:0xA0, Var, CRC32:0xCDC237AE, Flags:0x0 + vector3 'mScl' ; // Offset:0xB0, Var, CRC32:0x73D98AC3, Flags:0x0 + vector3 'mTrans' ; // Offset:0xC0, Var, CRC32:0x8D95847C, Flags:0x0 + f32 'mTurnSpeed' ; // Offset:0xD0, Var, CRC32:0xB2AE1E00, Flags:0x0 + u32 'mOrder' ; // Offset:0xD4, Var, CRC32:0x89D0959, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + custom 'mpCnsTurnUpperRes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC70FE3, Setter:0xC4EF8B, CRC32:0x1110F729, Flags:0x800000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCnsWeapon vftable:0x1CB7040, Size:0x80, CRC32:0x2CB69DDB +class uCnsWeapon /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uColorCorrectFilter vftable:0x20BF230, Size:0x900, CRC32:0x1265A094 +class uColorCorrectFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + class 'mCorrector'[16] ; // Offset:0x90, Array, CRC32:0x9C72FF70, Flags:0x200000 + vector3 'mPos' ; // Offset:0x790, Var, CRC32:0x50227663, Flags:0x10000 + hermitecurve 'mToneCurveR' ; // Offset:0x7E0, Var, CRC32:0x94A9E812, Flags:0x0 + hermitecurve 'mToneCurveG' ; // Offset:0x820, Var, CRC32:0xF9740CF9, Flags:0x0 + hermitecurve 'mToneCurveB' ; // Offset:0x860, Var, CRC32:0x891EF876, Flags:0x0 + vector3 'mGamma' ; // Offset:0x8A0, Var, CRC32:0x39F74AB0, Flags:0x0 + classref 'mpToneMap' ; // Offset:0x8B0, Var, CRC32:0x48E9974D, Flags:0x30000 + u32 'mAttenuationEnable' ; // Offset:0x8BC, Var, CRC32:0x9825AA4C, Flags:0x10000 + u32 'mVolumeInterpolateQuality' ; // Offset:0x8E8, Var, CRC32:0xA77BED8E, Flags:0x0 + custom 'mpVolumeColorCorrect' ; // Offset:0x8EC, Var, CRC32:0x6A3DD44, Flags:0x0 + f32 'mEndZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6640, Setter:0x14E0570, CRC32:0x3CD3E372, Flags:0x800000 + f32 'mStartZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6650, Setter:0x14E05B0, CRC32:0x1AB819B2, Flags:0x800000 + hermitecurve 'ToneCurveRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE000, Setter:0x14E14B0, CRC32:0xCCB14D83, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uColorCorrectFilter::Corrector vftable:0x20BF21C, Size:0x40, CRC32:0x2ACD1930 +class uColorCorrectFilter::Corrector /*: MtObject*/ { + bool 'mEnable' ; // Offset:0x10, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mType' ; // Offset:0x14, Var, CRC32:0x55D79C15, Flags:0x0 + vector3 'mFactor' ; // Offset:0x20, Var, CRC32:0xD3A44531, Flags:0x0 + vector3 'mFactor2' ; // Offset:0x30, Var, CRC32:0x99DAF5FF, Flags:0x0 +}; + +// uColorCorrectFilterEm021004 vftable:0x1DA3CA0, Size:0x910, CRC32:0x59173609 +class uColorCorrectFilterEm021004 /*: uColorCorrectFilterExt, uColorCorrectFilter, uFilter, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + u32 'mResource.mPass' ; // Offset:0x10, Var, CRC32:0x89808E59, Flags:0x0 + vector3 'mResource.mGamma' ; // Offset:0x20, Var, CRC32:0x38B2C227, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + hermitecurve 'mResource.mToneCurve' ; // Offset:0x30, Var, CRC32:0xF86B8E28, Flags:0x0 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mResource.mCorrector[0].mType' ; // Offset:0x70, Var, CRC32:0xE6D76401, Flags:0x0 + vector3 'mResource.mCorrector[0].mFactor' ; // Offset:0x80, Var, CRC32:0x4E6C5B4A, Flags:0x0 + vector3 'mResource.mCorrector[0].mFactor2' ; // Offset:0x90, Var, CRC32:0x5E909555, Flags:0x0 + class 'mCorrector'[16] ; // Offset:0x90, Array, CRC32:0x9C72FF70, Flags:0x200000 + u32 'mResource.mCorrector[1].mType' ; // Offset:0xA0, Var, CRC32:0x2A7D649F, Flags:0x0 + vector3 'mResource.mCorrector[1].mFactor' ; // Offset:0xB0, Var, CRC32:0xA1AE3074, Flags:0x0 + vector3 'mResource.mCorrector[1].mFactor2' ; // Offset:0xC0, Var, CRC32:0x9F1E4A95, Flags:0x0 + vector3 'mPos' ; // Offset:0x790, Var, CRC32:0x50227663, Flags:0x10000 + hermitecurve 'mToneCurveR' ; // Offset:0x7E0, Var, CRC32:0x94A9E812, Flags:0x0 + hermitecurve 'mToneCurveG' ; // Offset:0x820, Var, CRC32:0xF9740CF9, Flags:0x0 + hermitecurve 'mToneCurveB' ; // Offset:0x860, Var, CRC32:0x891EF876, Flags:0x0 + vector3 'mGamma' ; // Offset:0x8A0, Var, CRC32:0x39F74AB0, Flags:0x0 + classref 'mpToneMap' ; // Offset:0x8B0, Var, CRC32:0x48E9974D, Flags:0x30000 + u32 'mAttenuationEnable' ; // Offset:0x8BC, Var, CRC32:0x9825AA4C, Flags:0x10000 + u32 'mVolumeInterpolateQuality' ; // Offset:0x8E8, Var, CRC32:0xA77BED8E, Flags:0x0 + custom 'mpVolumeColorCorrect' ; // Offset:0x8EC, Var, CRC32:0x6A3DD44, Flags:0x0 + f32 'mStartZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6650, Setter:0x14E05B0, CRC32:0x1AB819B2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mEndZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6640, Setter:0x14E0570, CRC32:0x3CD3E372, Flags:0x800000 + hermitecurve 'ToneCurveRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE000, Setter:0x14E14B0, CRC32:0xCCB14D83, Flags:0x820000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uColorCorrectFilterExt vftable:0x1DA3C38, Size:0x910, CRC32:0x2F1A3070 +class uColorCorrectFilterExt /*: uColorCorrectFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + class 'mCorrector'[16] ; // Offset:0x90, Array, CRC32:0x9C72FF70, Flags:0x200000 + vector3 'mPos' ; // Offset:0x790, Var, CRC32:0x50227663, Flags:0x10000 + hermitecurve 'mToneCurveR' ; // Offset:0x7E0, Var, CRC32:0x94A9E812, Flags:0x0 + hermitecurve 'mToneCurveG' ; // Offset:0x820, Var, CRC32:0xF9740CF9, Flags:0x0 + hermitecurve 'mToneCurveB' ; // Offset:0x860, Var, CRC32:0x891EF876, Flags:0x0 + vector3 'mGamma' ; // Offset:0x8A0, Var, CRC32:0x39F74AB0, Flags:0x0 + classref 'mpToneMap' ; // Offset:0x8B0, Var, CRC32:0x48E9974D, Flags:0x30000 + u32 'mAttenuationEnable' ; // Offset:0x8BC, Var, CRC32:0x9825AA4C, Flags:0x10000 + u32 'mVolumeInterpolateQuality' ; // Offset:0x8E8, Var, CRC32:0xA77BED8E, Flags:0x0 + custom 'mpVolumeColorCorrect' ; // Offset:0x8EC, Var, CRC32:0x6A3DD44, Flags:0x0 + f32 'mEndZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6640, Setter:0x14E0570, CRC32:0x3CD3E372, Flags:0x800000 + f32 'mStartZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6650, Setter:0x14E05B0, CRC32:0x1AB819B2, Flags:0x800000 + hermitecurve 'ToneCurveRGB' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE000, Setter:0x14E14B0, CRC32:0xCCB14D83, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uColorFog vftable:0x20CCD58, Size:0x2E0, CRC32:0x19E8A182 +class uColorFog /*: uFog, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + s32 'mDistanceType' ; // Offset:0x1A0, Var, CRC32:0x44BBE72, Flags:0x0 + s32 'mFogColorType' ; // Offset:0x1A4, Var, CRC32:0x43C7EED5, Flags:0x8000000 + f32 'mStart' ; // Offset:0x1A8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x1AC, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mExponentDensity' ; // Offset:0x1B0, Var, CRC32:0xF899A742, Flags:0x0 + f32 'mDensity' ; // Offset:0x1B4, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x1C0, Var, CRC32:0x9BE2D228, Flags:0x8000000 + bool 'mRangeBase' ; // Offset:0x1D0, Var, CRC32:0xA6E1AFB8, Flags:0x0 + bool 'mDiffuseBlend' ; // Offset:0x1D1, Var, CRC32:0x9F5FC9EC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x1D4, Var, CRC32:0xBBF4F9FF, Flags:0x0 + classref 'mpFogTable' ; // Offset:0x1D8, Var, CRC32:0xBEF84447, Flags:0x30000 + hermitecurve 'mCurve' ; // Offset:0x1E0, Var, CRC32:0xAA2DC776, Flags:0x8000000 + hermitecurve 'mRCurve' ; // Offset:0x220, Var, CRC32:0x99CE21F6, Flags:0x0 + hermitecurve 'mGCurve' ; // Offset:0x260, Var, CRC32:0xCAD5B2DE, Flags:0x0 + hermitecurve 'mBCurve' ; // Offset:0x2A0, Var, CRC32:0x9A18236D, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uColorFogExt vftable:0x1CF2D30, Size:0x2E0, CRC32:0x3DA32165 +class uColorFogExt /*: uColorFog, uFog, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + s32 'mDistanceType' ; // Offset:0x1A0, Var, CRC32:0x44BBE72, Flags:0x0 + s32 'mFogColorType' ; // Offset:0x1A4, Var, CRC32:0x43C7EED5, Flags:0x8000000 + f32 'mStart' ; // Offset:0x1A8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x1AC, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mExponentDensity' ; // Offset:0x1B0, Var, CRC32:0xF899A742, Flags:0x0 + f32 'mDensity' ; // Offset:0x1B4, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x1C0, Var, CRC32:0x9BE2D228, Flags:0x8000000 + bool 'mRangeBase' ; // Offset:0x1D0, Var, CRC32:0xA6E1AFB8, Flags:0x0 + bool 'mDiffuseBlend' ; // Offset:0x1D1, Var, CRC32:0x9F5FC9EC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x1D4, Var, CRC32:0xBBF4F9FF, Flags:0x0 + classref 'mpFogTable' ; // Offset:0x1D8, Var, CRC32:0xBEF84447, Flags:0x30000 + hermitecurve 'mCurve' ; // Offset:0x1E0, Var, CRC32:0xAA2DC776, Flags:0x8000000 + hermitecurve 'mRCurve' ; // Offset:0x220, Var, CRC32:0x99CE21F6, Flags:0x0 + hermitecurve 'mGCurve' ; // Offset:0x260, Var, CRC32:0xCAD5B2DE, Flags:0x0 + hermitecurve 'mBCurve' ; // Offset:0x2A0, Var, CRC32:0x9A18236D, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uColorFogFilter vftable:0x20BF148, Size:0x90, CRC32:0x369C12D5 +class uColorFogFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x50, Var, CRC32:0x55D79C15, Flags:0x0 + vector4 'mColor' ; // Offset:0x60, Var, CRC32:0x9BE2D228, Flags:0x0 + easecurve 'mEaseCurve' ; // Offset:0x70, Var, CRC32:0x65EB2FD5, Flags:0x0 + f32 'mDensity' ; // Offset:0x78, Var, CRC32:0x434A19E4, Flags:0x0 + f32 'mDepthStart' ; // Offset:0x7C, Var, CRC32:0x46D79314, Flags:0x0 + f32 'mDepthEnd' ; // Offset:0x80, Var, CRC32:0xFE911A96, Flags:0x0 + f32 'mHeightStart' ; // Offset:0x84, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0x88, Var, CRC32:0x441D8659, Flags:0x0 + u32 'mBlendStateType' ; // Offset:0x8C, Var, CRC32:0x4A10AC4B, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uConstraint::cConstraint vftable:0x1CB6010, Size:0x8, CRC32:0x20EB23B5 +class uConstraint::cConstraint /*: uModel::Constraint, MtObject*/ { + classref 'mpParent' ; // Offset:0x4, Var, CRC32:0xB6BB810D, Flags:0x20000 +}; + +// uControl vftable:0x1CB75A8, Size:0x1F0, CRC32:0x416775CB +class uControl /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'RPC' ; // Offset:0x40, Var, CRC32:0x3AE8914D, Flags:0x10000 + classref 'Ǘf' ; // Offset:0x44, Var, CRC32:0x10DE7037, Flags:0x10000 + classref 'LReLXg' ; // Offset:0x48, Var, CRC32:0x8351A194, Flags:0x10000 + classref 'CX^XReLXg' ; // Offset:0x4C, Var, CRC32:0xD8A4B93C, Flags:0x10000 + bool 'ʐM邩H' ; // Offset:0x51, Var, CRC32:0xE0A8A65D, Flags:0x0 + bool 'mIsUpdateAction' ; // Offset:0x53, Var, CRC32:0xB7154921, Flags:0x10000 + s32 'mForcePeriodic' ; // Offset:0x54, Var, CRC32:0xCAD81938, Flags:0x0 + f32 'mSendActIntervalTimer' ; // Offset:0x58, Var, CRC32:0x8DEF64E1, Flags:0x10000 + bool 'mIsSaveSendAct' ; // Offset:0x5C, Var, CRC32:0x8C6DFEB, Flags:0x10000 + f32 'mCorePointSendInterval' ; // Offset:0x60, Var, CRC32:0xE14CE39F, Flags:0x0 + f32 'mBossCondSendInterval' ; // Offset:0x64, Var, CRC32:0xFBF70B5, Flags:0x10000 + class 'CAEg' ; // Offset:0x160, Var, CRC32:0xDFD5458B, Flags:0x0 + vector3 'W' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC75590, Setter:0x0, CRC32:0xA91E624D, Flags:0x830000 + bool 'uControl::isMaster' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC75680, Setter:0x0, CRC32:0xC7A26089, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uControlEnemy vftable:0x1CB7BD0, Size:0x280, CRC32:0x2121307E +class uControlEnemy /*: uControl, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'RPC' ; // Offset:0x40, Var, CRC32:0x3AE8914D, Flags:0x10000 + classref 'Ǘf' ; // Offset:0x44, Var, CRC32:0x10DE7037, Flags:0x10000 + classref 'LReLXg' ; // Offset:0x48, Var, CRC32:0x8351A194, Flags:0x10000 + classref 'CX^XReLXg' ; // Offset:0x4C, Var, CRC32:0xD8A4B93C, Flags:0x10000 + bool 'ʐM邩H' ; // Offset:0x51, Var, CRC32:0xE0A8A65D, Flags:0x0 + bool 'mIsUpdateAction' ; // Offset:0x53, Var, CRC32:0xB7154921, Flags:0x10000 + s32 'mForcePeriodic' ; // Offset:0x54, Var, CRC32:0xCAD81938, Flags:0x0 + f32 'mSendActIntervalTimer' ; // Offset:0x58, Var, CRC32:0x8DEF64E1, Flags:0x10000 + bool 'mIsSaveSendAct' ; // Offset:0x5C, Var, CRC32:0x8C6DFEB, Flags:0x10000 + f32 'mCorePointSendInterval' ; // Offset:0x60, Var, CRC32:0xE14CE39F, Flags:0x0 + f32 'mBossCondSendInterval' ; // Offset:0x64, Var, CRC32:0xFBF70B5, Flags:0x10000 + class 'CAEg' ; // Offset:0x160, Var, CRC32:0xDFD5458B, Flags:0x0 + vector3 'W' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC75590, Setter:0x0, CRC32:0xA91E624D, Flags:0x830000 + bool 'uControl::isMaster' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC75680, Setter:0x0, CRC32:0xC7A26089, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uControlNpc vftable:0x1CB8130, Size:0x278, CRC32:0x1DE4E9F6 +class uControlNpc /*: uControl, cUnit, MtObject*/ { + event 'p' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB7B1B3E3, Flags:0xA0000 + event 'p쉻' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB8CD425C, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'RPC' ; // Offset:0x40, Var, CRC32:0x3AE8914D, Flags:0x10000 + classref 'Ǘf' ; // Offset:0x44, Var, CRC32:0x10DE7037, Flags:0x10000 + classref 'LReLXg' ; // Offset:0x48, Var, CRC32:0x8351A194, Flags:0x10000 + classref 'CX^XReLXg' ; // Offset:0x4C, Var, CRC32:0xD8A4B93C, Flags:0x10000 + bool 'ʐM邩H' ; // Offset:0x51, Var, CRC32:0xE0A8A65D, Flags:0x0 + bool 'mIsUpdateAction' ; // Offset:0x53, Var, CRC32:0xB7154921, Flags:0x10000 + s32 'mForcePeriodic' ; // Offset:0x54, Var, CRC32:0xCAD81938, Flags:0x0 + f32 'mSendActIntervalTimer' ; // Offset:0x58, Var, CRC32:0x8DEF64E1, Flags:0x10000 + bool 'mIsSaveSendAct' ; // Offset:0x5C, Var, CRC32:0x8C6DFEB, Flags:0x10000 + f32 'mCorePointSendInterval' ; // Offset:0x60, Var, CRC32:0xE14CE39F, Flags:0x0 + f32 'mBossCondSendInterval' ; // Offset:0x64, Var, CRC32:0xFBF70B5, Flags:0x10000 + class 'CAEg' ; // Offset:0x160, Var, CRC32:0xDFD5458B, Flags:0x0 + bool 'mIsScrAdjOff' ; // Offset:0x224, Var, CRC32:0xFC7D8BFC, Flags:0x0 + bool 'mIsDisableTouchAction' ; // Offset:0x22C, Var, CRC32:0xC1E99203, Flags:0x0 + bool 'mIsAttend' ; // Offset:0x22D, Var, CRC32:0x8C3EDC7C, Flags:0x0 + bool 'mIsDispWepMain' ; // Offset:0x22E, Var, CRC32:0x2B758E03, Flags:0x0 + bool 'mIsDispWepSub' ; // Offset:0x22F, Var, CRC32:0x6E101173, Flags:0x0 + bool 'mIsInvincible' ; // Offset:0x235, Var, CRC32:0xE4C028BF, Flags:0x0 + bool 'mIsEyeClose' ; // Offset:0x256, Var, CRC32:0xF0EFD813, Flags:0x0 + s32 'mOutlineType' ; // Offset:0x26C, Var, CRC32:0x3DA66884, Flags:0x0 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + vector3 'W' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC75590, Setter:0x0, CRC32:0xA91E624D, Flags:0x830000 + bool 'uControl::isMaster' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC75680, Setter:0x0, CRC32:0xC7A26089, Flags:0x830000 + bool 'uControlNpc::isUseMotionListLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC77C20, Setter:0x0, CRC32:0xD38B63C3, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCorePointSearch vftable:0x1CB8700, Size:0x1D10, CRC32:0x2AA7AE0C +class uCorePointSearch /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uCorePointSearch::cCoreSearchInfo vftable:0x1BA7D1C, Size:0x30, CRC32:0x511840BC +class uCorePointSearch::cCoreSearchInfo /*: MtObject*/ { +}; + +// uCrossFadeFilter vftable:0x20BEE70, Size:0x58, CRC32:0x6752005F +class uCrossFadeFilter /*: uFilter, cUnit, MtObject*/ { + event 'Capture' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xBBBC6086, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + f32 'mBlend' ; // Offset:0x50, Var, CRC32:0x5629EBE9, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCubeMapLight vftable:0x20C9278, Size:0x470, CRC32:0x24BCE4BF +class uCubeMapLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector4 'FactorR'[3] ; // Offset:0x3D0, Array, CRC32:0x67C821DA, Flags:0x210000 + vector4 'FactorG'[3] ; // Offset:0x400, Array, CRC32:0xA15C531, Flags:0x210000 + vector4 'FactorB'[3] ; // Offset:0x430, Array, CRC32:0x7A7F31BE, Flags:0x210000 + custom 'mpCubeMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162ED90, Setter:0x1635630, CRC32:0x8D2DF9F1, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCuboidCubeMapLight vftable:0x20C93F8, Size:0x590, CRC32:0x14D8E98F +class uCuboidCubeMapLight /*: uCubeMapLight, uLight, cUnit, MtObject*/ { + event 'Adjust center' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xC6643525, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector4 'FactorR'[3] ; // Offset:0x3D0, Array, CRC32:0x67C821DA, Flags:0x210000 + vector4 'FactorG'[3] ; // Offset:0x400, Array, CRC32:0xA15C531, Flags:0x210000 + vector4 'FactorB'[3] ; // Offset:0x430, Array, CRC32:0x7A7F31BE, Flags:0x210000 + f32 'mTopFace' ; // Offset:0x470, Var, CRC32:0x82BB0E5D, Flags:0x0 + f32 'mBottomFace' ; // Offset:0x474, Var, CRC32:0x3AF262A0, Flags:0x0 + f32 'mFrontFace' ; // Offset:0x478, Var, CRC32:0xBCA1EB45, Flags:0x0 + f32 'mBackFace' ; // Offset:0x47C, Var, CRC32:0x16433F8E, Flags:0x0 + f32 'mLeftFace' ; // Offset:0x480, Var, CRC32:0x45FB984F, Flags:0x0 + f32 'mRightFace' ; // Offset:0x484, Var, CRC32:0x89EA783F, Flags:0x0 + vector3 'mCenter' ; // Offset:0x490, Var, CRC32:0x7E6C4215, Flags:0x0 + quaternion 'mQuat' ; // Offset:0x4A0, Var, CRC32:0x527A96A1, Flags:0x0 + vector3 'mDecayStart' ; // Offset:0x570, Var, CRC32:0x498FC78B, Flags:0x0 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162EBE0, Setter:0x1635190, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpCubeMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162ED90, Setter:0x1635630, CRC32:0x8D2DF9F1, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCuboidLight vftable:0x20C90F0, Size:0x460, CRC32:0x7DE525E7 +class uCuboidLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mUpDir' ; // Offset:0x3F0, Var, CRC32:0x1C3C471D, Flags:0x0 + f32 'mWidth' ; // Offset:0x440, Var, CRC32:0x71AEDFEE, Flags:0x0 + f32 'mHeight' ; // Offset:0x444, Var, CRC32:0xCBD14C3E, Flags:0x0 + f32 'mIncreaseStart' ; // Offset:0x448, Var, CRC32:0xC2044584, Flags:0x0 + f32 'mIncreaseEnd' ; // Offset:0x44C, Var, CRC32:0xB43BE283, Flags:0x0 + f32 'mDecreaseStart' ; // Offset:0x450, Var, CRC32:0xF4BA81F4, Flags:0x0 + f32 'mDecreaseEnd' ; // Offset:0x454, Var, CRC32:0x874F5473, Flags:0x0 + f32 'mSpread' ; // Offset:0x458, Var, CRC32:0x42290949, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x45C, Var, CRC32:0x15FAC435, Flags:0x0 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uCustomSimSoftBody vftable:0x1AF2398, Size:0xC30, CRC32:0x2AFD90F9 +class uCustomSimSoftBody /*: uSimSoftBody, cUnit, MtObject*/ { + event 'Start' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xA1478574, Flags:0xA0000 + event 'Stop' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE69B4677, Flags:0xA0000 + event 'Rebuild Skinning Data' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2B06B2CE, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAlpha' ; // Offset:0xB4, Var, CRC32:0x2D54A3AB, Flags:0x0 + f32 'mGravity'[3] ; // Offset:0xC0, Array, CRC32:0xD9FF56B9, Flags:0x200000 + f32 'Sim TimeStep' ; // Offset:0xD0, Var, CRC32:0xAA8B8A1F, Flags:0x10000 + f32 'mWeightOffset' ; // Offset:0xE4, Var, CRC32:0x31896800, Flags:0x0 + u32 'mMaxIterate' ; // Offset:0xEC, Var, CRC32:0xBE8B619B, Flags:0x0 + vector3 'mBlowSpPos' ; // Offset:0x100, Var, CRC32:0x77CCEB90, Flags:0x0 + f32 'mBlowSpRad' ; // Offset:0x110, Var, CRC32:0x691897B7, Flags:0x0 + f32 'mMaxForce' ; // Offset:0x114, Var, CRC32:0x5C79C952, Flags:0x0 + f32 'mSphereFriction' ; // Offset:0x118, Var, CRC32:0x124F4DC3, Flags:0x0 + bool 'Simulation' ; // Offset:0x11E, Var, CRC32:0x7B78BA54, Flags:0x10000 + bool 'mResetRestart' ; // Offset:0x11F, Var, CRC32:0xDE2F5C4B, Flags:0x0 + bool 'mSimCulling' ; // Offset:0x120, Var, CRC32:0x8AA549EE, Flags:0x0 + bool 'mColTest' ; // Offset:0x122, Var, CRC32:0x58B9D3F5, Flags:0x0 + bool 'mColMode' ; // Offset:0x123, Var, CRC32:0x170CEA52, Flags:0x0 + bool 'mRecalcNormal' ; // Offset:0x125, Var, CRC32:0x93AEF8DD, Flags:0x10000 + bool 'mIsDbDisp' ; // Offset:0x126, Var, CRC32:0x2FD49649, Flags:0x0 + f32 'mSoundThreashold' ; // Offset:0x128, Var, CRC32:0xC3BC3F01, Flags:0x0 + bool 'mSoundTrace' ; // Offset:0x12D, Var, CRC32:0x44250EAA, Flags:0x0 + u32 'mDevelopDrawOffset' ; // Offset:0x154, Var, CRC32:0x6E4964DA, Flags:0x0 + f32 'mDevelopDrawScale' ; // Offset:0x158, Var, CRC32:0x78B9AF49, Flags:0x0 + bool 'mEnableVTF' ; // Offset:0x174, Var, CRC32:0x7896B602, Flags:0x10000 + bool 'mEnableR2VB' ; // Offset:0x175, Var, CRC32:0xFF5EE5B2, Flags:0x10000 + u32 'mSimState' ; // Offset:0x1D0, Var, CRC32:0x614766D7, Flags:0x10000 + classref 'mpTargetUnit' ; // Offset:0x1F0, Var, CRC32:0x9ED0F541, Flags:0x10000 + bool 'mApproxScrCollision' ; // Offset:0x1F9, Var, CRC32:0x4C63E0A0, Flags:0x0 + bool 'mScrCollision' ; // Offset:0x1FA, Var, CRC32:0xF60E9B8E, Flags:0x0 + bool 'mGrassWind' ; // Offset:0x1FC, Var, CRC32:0xD2926697, Flags:0x0 + bool 'mDetailedWind' ; // Offset:0x1FD, Var, CRC32:0x84CF314, Flags:0x0 + bool 'mPseudoWind' ; // Offset:0x1FE, Var, CRC32:0x7123342B, Flags:0x0 + u32 'mWindGroupMask' ; // Offset:0x214, Var, CRC32:0x7B930C4E, Flags:0x0 + vector3 'mSbRayDirection0' ; // Offset:0x220, Var, CRC32:0x840C6CF0, Flags:0x0 + vector3 'mSbRayStartPos0' ; // Offset:0x230, Var, CRC32:0x466EBFF6, Flags:0x0 + f32 'mSbRayRadius0' ; // Offset:0x240, Var, CRC32:0x92601036, Flags:0x0 + f32 'mSbRayAttenuator0' ; // Offset:0x244, Var, CRC32:0x95937FC6, Flags:0x0 + f32 'mSbRayPower0' ; // Offset:0x248, Var, CRC32:0xAB44356E, Flags:0x0 + vector3 'mSbRayDirection1' ; // Offset:0x250, Var, CRC32:0xF30B5C66, Flags:0x0 + vector3 'mSbRayStartPos1' ; // Offset:0x260, Var, CRC32:0x31698F60, Flags:0x0 + f32 'mSbRayRadius1' ; // Offset:0x270, Var, CRC32:0xE56720A0, Flags:0x0 + f32 'mSbRayAttenuator1' ; // Offset:0x274, Var, CRC32:0xE2944F50, Flags:0x0 + f32 'mSbRayPower1' ; // Offset:0x278, Var, CRC32:0xDC4305F8, Flags:0x0 + u32 'mSbcType' ; // Offset:0x27C, Var, CRC32:0x5508E211, Flags:0x0 + u32 'mSbcFilter' ; // Offset:0x280, Var, CRC32:0x92896FCC, Flags:0x0 + u32 'mColliderType' ; // Offset:0x284, Var, CRC32:0x2AD74BC6, Flags:0x0 + u32 'mColliderFilter' ; // Offset:0x288, Var, CRC32:0xF3FA5887, Flags:0x0 + classref 'mpColliderNode' ; // Offset:0x28C, Var, CRC32:0x35B5F239, Flags:0x100000 + f32 'mWindScalePoint' ; // Offset:0x320, Var, CRC32:0xF33793FA, Flags:0x0 + f32 'mWindScaleDirection' ; // Offset:0x324, Var, CRC32:0xA3946634, Flags:0x0 + classref 'mpTexColTerrain[0]' ; // Offset:0x420, Var, CRC32:0x4917074F, Flags:0x30000 + bool 'mImageSpaceCollision' ; // Offset:0x42C, Var, CRC32:0x3CB2CE40, Flags:0x0 + bool 'mNCollision' ; // Offset:0x938, Var, CRC32:0xB07E178C, Flags:0x0 + f32 'mNCGlobalWeight' ; // Offset:0x93C, Var, CRC32:0xB1C14FDC, Flags:0x0 + f32 'mVtxColSize' ; // Offset:0x940, Var, CRC32:0xCFFD67B0, Flags:0x0 + f32 'mAvoidZFight' ; // Offset:0x944, Var, CRC32:0x669D4D4B, Flags:0x0 + classref 'mpTexDepthNorm[0]' ; // Offset:0x98C, Var, CRC32:0x23126930, Flags:0x30000 + classref 'mpTexDepthNorm[1]' ; // Offset:0x990, Var, CRC32:0x3A095871, Flags:0x30000 + bool 'mLocalOnly' ; // Offset:0xAE0, Var, CRC32:0x4D9A09F4, Flags:0x0 + bool 'mUseLOD' ; // Offset:0xB54, Var, CRC32:0x19EBAB29, Flags:0x0 + bool 'mUse16bit' ; // Offset:0xB55, Var, CRC32:0xCDA06891, Flags:0x10000 + bool 'mUse8Weight' ; // Offset:0xB56, Var, CRC32:0x2B0F930E, Flags:0x0 + f32 'mWorldCoeffTrans' ; // Offset:0xB60, Var, CRC32:0xD436A94A, Flags:0x0 + f32 'mWorldCoeffRot' ; // Offset:0xB64, Var, CRC32:0x7991134, Flags:0x0 + s32 'BaseJointNo' ; // Offset:0xB68, Var, CRC32:0xC3510CC6, Flags:0x0 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + classref 'mpISC' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1563080, Setter:0x156EA00, CRC32:0x3248B370, Flags:0x900000 + bool 'mColliderCollision' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1562B30, Setter:0x156E860, CRC32:0xDA284C6A, Flags:0x800000 + custom 'mpResWeightMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1562B50, Setter:0x156E8B0, CRC32:0xDF734F06, Flags:0x800000 + custom 'mpResSPS' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1562B60, Setter:0x156E920, CRC32:0x7266D697, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 +}; + +// uDDOActorModel vftable:0x1CB9380, Size:0x1E30, CRC32:0x1C87B518 +class uDDOActorModel /*: uActorModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mConstraint'[64] ; // Offset:0x19D0, Array, CRC32:0x9AA57078, Flags:0x200000 + custom 'mpMontage' ; // Offset:0x1DD0, Var, CRC32:0x58DA8243, Flags:0x0 + u32 'mMontageNo' ; // Offset:0x1DD4, Var, CRC32:0xAA08B0AF, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x1DE0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mOffsetAngle' ; // Offset:0x1DF0, Var, CRC32:0xE86712B0, Flags:0x0 + bool 'mEditEnable' ; // Offset:0x1E00, Var, CRC32:0xE469AA6F, Flags:0x0 + bool 'mMayaScale' ; // Offset:0x1E01, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mParentScale' ; // Offset:0x1E02, Var, CRC32:0x928D2662, Flags:0x0 + classref 'mpResetCtrl' ; // Offset:0x1E08, Var, CRC32:0x3761C493, Flags:0x0 + classref 'mpDDMrlMgr' ; // Offset:0x1E0C, Var, CRC32:0x788D57A4, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1E20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + s32 'mEquipMontageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B590, Setter:0xC7BA30, CRC32:0x1FAACB02, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpEquipMontage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B580, Setter:0xC7B9F0, CRC32:0x345B3EDF, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mEquipColorId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B570, Setter:0xC7B9C0, CRC32:0xED1FE47C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uDDOActorModelEm vftable:0x1CB9978, Size:0x1E60, CRC32:0x71DE578 +class uDDOActorModelEm /*: uDDOActorModel, uActorModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mConstraint'[64] ; // Offset:0x19D0, Array, CRC32:0x9AA57078, Flags:0x200000 + custom 'mpMontage' ; // Offset:0x1DD0, Var, CRC32:0x58DA8243, Flags:0x0 + u32 'mMontageNo' ; // Offset:0x1DD4, Var, CRC32:0xAA08B0AF, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x1DE0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mOffsetAngle' ; // Offset:0x1DF0, Var, CRC32:0xE86712B0, Flags:0x0 + bool 'mEditEnable' ; // Offset:0x1E00, Var, CRC32:0xE469AA6F, Flags:0x0 + bool 'mMayaScale' ; // Offset:0x1E01, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mParentScale' ; // Offset:0x1E02, Var, CRC32:0x928D2662, Flags:0x0 + classref 'mpResetCtrl' ; // Offset:0x1E08, Var, CRC32:0x3761C493, Flags:0x0 + classref 'mpDDMrlMgr' ; // Offset:0x1E0C, Var, CRC32:0x788D57A4, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1E20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + classref 'mpSoftBody' ; // Offset:0x1E44, Var, CRC32:0xE6B9C26D, Flags:0x0 + bool 'mSoftBodyPause' ; // Offset:0x1E50, Var, CRC32:0xC6244F88, Flags:0x0 + bool 'mChainActive' ; // Offset:0x1E52, Var, CRC32:0x1D082E44, Flags:0x0 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + custom 'mprCnsTinyChain' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7BF80, Setter:0xC7C2D0, CRC32:0x5FA55750, Flags:0x800000 + custom 'mpDDOMontage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7BF90, Setter:0xC7C310, CRC32:0x6837BD64, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + s32 'mMontageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7BFD0, Setter:0xC7C3A0, CRC32:0x729BFFE0, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mEnemyId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7BFB0, Setter:0xC7C350, CRC32:0x5D247439, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + s32 'mEquipColorId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B570, Setter:0xC7B9C0, CRC32:0xED1FE47C, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mEquipMontageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B590, Setter:0xC7BA30, CRC32:0x1FAACB02, Flags:0x800000 + custom 'mpEquipMontage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B580, Setter:0xC7B9F0, CRC32:0x345B3EDF, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + custom 'mprJointEx2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7BFC0, Setter:0xC7C360, CRC32:0x564354EE, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uDDOActorModelPl vftable:0x1CB9F98, Size:0x2790, CRC32:0x47AF33FA +class uDDOActorModelPl /*: uDDOActorModel, uActorModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mConstraint'[64] ; // Offset:0x19D0, Array, CRC32:0x9AA57078, Flags:0x200000 + custom 'mpMontage' ; // Offset:0x1DD0, Var, CRC32:0x58DA8243, Flags:0x0 + u32 'mMontageNo' ; // Offset:0x1DD4, Var, CRC32:0xAA08B0AF, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x1DE0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mOffsetAngle' ; // Offset:0x1DF0, Var, CRC32:0xE86712B0, Flags:0x0 + bool 'mEditEnable' ; // Offset:0x1E00, Var, CRC32:0xE469AA6F, Flags:0x0 + bool 'mMayaScale' ; // Offset:0x1E01, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mParentScale' ; // Offset:0x1E02, Var, CRC32:0x928D2662, Flags:0x0 + classref 'mpResetCtrl' ; // Offset:0x1E08, Var, CRC32:0x3761C493, Flags:0x0 + classref 'mpDDMrlMgr' ; // Offset:0x1E0C, Var, CRC32:0x788D57A4, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1E20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + classref 'mpCharacterEdit' ; // Offset:0x1E30, Var, CRC32:0xE7BFC685, Flags:0x0 + classref 'mpFBIK' ; // Offset:0x1E44, Var, CRC32:0xE51900C, Flags:0x0 + bool 'mEnable' ; // Offset:0x1E4C, Var, CRC32:0xCD3C6103, Flags:0x10000 + u32 'mUnitType' ; // Offset:0x1E50, Var, CRC32:0x5C94782E, Flags:0x0 + u32 'mUnitNo' ; // Offset:0x1E54, Var, CRC32:0x54923B8B, Flags:0x0 + bool 'mIsMyPlayer' ; // Offset:0x1E58, Var, CRC32:0x41A6DA62, Flags:0x0 + u32 'mPlayerNo' ; // Offset:0x1E5C, Var, CRC32:0x72FAA3F9, Flags:0x0 + u32 'mWeaponHold' ; // Offset:0x1E60, Var, CRC32:0xF331B57E, Flags:0x0 + u32 'mWeaponCategory' ; // Offset:0x1E68, Var, CRC32:0xA4861046, Flags:0x10000 + u32 'mWpnDispOff' ; // Offset:0x1E6C, Var, CRC32:0xC7708E8B, Flags:0x0 + u32 'mBakeJointType' ; // Offset:0x1E70, Var, CRC32:0x50239E13, Flags:0x0 + class 'mAlbedoCtrl'[24] ; // Offset:0x1E80, Array, CRC32:0x8404E30E, Flags:0x200000 + class 'mAlbedoBlendCtrl'[24] ; // Offset:0x2180, Array, CRC32:0x9B6E4867, Flags:0x200000 + class 'mEmissionCtrl'[24] ; // Offset:0x2480, Array, CRC32:0xE0D2296, Flags:0x200000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'NpcEquip' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7D0F0, Setter:0xC7DE80, CRC32:0x3152463F, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mEquipColorId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B570, Setter:0xC7B9C0, CRC32:0xED1FE47C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mEquipMontageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B590, Setter:0xC7BA30, CRC32:0x1FAACB02, Flags:0x800000 + custom 'mpEquipMontage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B580, Setter:0xC7B9F0, CRC32:0x345B3EDF, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uDDOActorModelPl::cColorCtrl vftable:0x1CB9F80, Size:0x20, CRC32:0x4EEAC207 +class uDDOActorModelPl::cColorCtrl /*: MtObject*/ { + s32 'MaterialID' ; // Offset:0x4, Var, CRC32:0x8D281847, Flags:0x0 + vector4 'Color' ; // Offset:0x10, Var, CRC32:0x58689812, Flags:0x0 +}; + +// uDDOActorModelPubPl vftable:0x1CBA5E8, Size:0x27A0, CRC32:0x12AC5AF4 +class uDDOActorModelPubPl /*: uDDOActorModelPl, uDDOActorModel, uActorModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mConstraint'[64] ; // Offset:0x19D0, Array, CRC32:0x9AA57078, Flags:0x200000 + custom 'mpMontage' ; // Offset:0x1DD0, Var, CRC32:0x58DA8243, Flags:0x0 + u32 'mMontageNo' ; // Offset:0x1DD4, Var, CRC32:0xAA08B0AF, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0x1DE0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mOffsetAngle' ; // Offset:0x1DF0, Var, CRC32:0xE86712B0, Flags:0x0 + bool 'mEditEnable' ; // Offset:0x1E00, Var, CRC32:0xE469AA6F, Flags:0x0 + bool 'mMayaScale' ; // Offset:0x1E01, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mParentScale' ; // Offset:0x1E02, Var, CRC32:0x928D2662, Flags:0x0 + classref 'mpResetCtrl' ; // Offset:0x1E08, Var, CRC32:0x3761C493, Flags:0x0 + classref 'mpDDMrlMgr' ; // Offset:0x1E0C, Var, CRC32:0x788D57A4, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1E20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + classref 'mpCharacterEdit' ; // Offset:0x1E30, Var, CRC32:0xE7BFC685, Flags:0x0 + classref 'mpFBIK' ; // Offset:0x1E44, Var, CRC32:0xE51900C, Flags:0x0 + bool 'mEnable' ; // Offset:0x1E4C, Var, CRC32:0xCD3C6103, Flags:0x10000 + u32 'mUnitType' ; // Offset:0x1E50, Var, CRC32:0x5C94782E, Flags:0x0 + u32 'mUnitNo' ; // Offset:0x1E54, Var, CRC32:0x54923B8B, Flags:0x0 + bool 'mIsMyPlayer' ; // Offset:0x1E58, Var, CRC32:0x41A6DA62, Flags:0x0 + u32 'mPlayerNo' ; // Offset:0x1E5C, Var, CRC32:0x72FAA3F9, Flags:0x0 + u32 'mWeaponHold' ; // Offset:0x1E60, Var, CRC32:0xF331B57E, Flags:0x0 + u32 'mWeaponCategory' ; // Offset:0x1E68, Var, CRC32:0xA4861046, Flags:0x10000 + u32 'mWpnDispOff' ; // Offset:0x1E6C, Var, CRC32:0xC7708E8B, Flags:0x0 + u32 'mBakeJointType' ; // Offset:0x1E70, Var, CRC32:0x50239E13, Flags:0x0 + class 'mAlbedoCtrl'[24] ; // Offset:0x1E80, Array, CRC32:0x8404E30E, Flags:0x200000 + class 'mAlbedoBlendCtrl'[24] ; // Offset:0x2180, Array, CRC32:0x9B6E4867, Flags:0x200000 + class 'mEmissionCtrl'[24] ; // Offset:0x2480, Array, CRC32:0xE0D2296, Flags:0x200000 + bool 'mSoftBodyPause' ; // Offset:0x2790, Var, CRC32:0xC6244F88, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + s32 'mEquipMontageId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B590, Setter:0xC7BA30, CRC32:0x1FAACB02, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + s32 'mEquipColorId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B570, Setter:0xC7B9C0, CRC32:0xED1FE47C, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + custom 'NpcEquip' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7D0F0, Setter:0xC7DE80, CRC32:0x3152463F, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + custom 'mpEquipMontage' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC7B580, Setter:0xC7B9F0, CRC32:0x345B3EDF, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uDDOBaseModel vftable:0x1CBAB68, Size:0xE90, CRC32:0x54FFB91E +class uDDOBaseModel /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + class 'mComponentMgr' ; // Offset:0xE80, Var, CRC32:0x4DEE5EF4, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDDOModel vftable:0x1CBB118, Size:0x1CD0, CRC32:0x1029E2CF +class uDDOModel /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uDNInfLightStateTransSpritDragon vftable:0x1DA6228, Size:0x550, CRC32:0x34119F49 +class uDNInfLightStateTransSpritDragon /*: uDayNightInfiniteLight, uInfiniteLightExt, uInfiniteLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + class 'mBind' ; // Offset:0x3E0, Var, CRC32:0x9FC5386F, Flags:0x0 + class 'mStateTransSpritDragon' ; // Offset:0x4F0, Var, CRC32:0xD0C8B2E0, Flags:0x0 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDNPointLightSetManager vftable:0x1DA6028, Size:0x6A0, CRC32:0x79504 +class uDNPointLightSetManager /*: uDayNightPointLight, uPointLightExt, uPointLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x460, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4AC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4AD, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoPLE' ; // Offset:0x4AF, Var, CRC32:0xBA351187, Flags:0x10000 + class 'mSetManagerTCS' ; // Offset:0x5B0, Var, CRC32:0x5043C19F, Flags:0x0 + bool 'mVisible' ; // Offset:0x690, Var, CRC32:0xF9529B47, Flags:0x0 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDNSpotLightDarkSky vftable:0x1DA6128, Size:0x6C0, CRC32:0x36A4FFD9 +class uDNSpotLightDarkSky /*: uDayNightSpotLight, uSpotLightExt, uSpotLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + class 'mDarkSkyTCS' ; // Offset:0x5F0, Var, CRC32:0x84F96014, Flags:0x0 + bool 'mVisible' ; // Offset:0x6B0, Var, CRC32:0xF9529B47, Flags:0x0 + bool 'mIsAlreadyStart' ; // Offset:0x6B1, Var, CRC32:0xBC82A46E, Flags:0x10000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDNSpotLightSetManager vftable:0x1DA60A8, Size:0x6E0, CRC32:0x4DBD5EC7 +class uDNSpotLightSetManager /*: uDayNightSpotLight, uSpotLightExt, uSpotLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + class 'mSetManagerTCS' ; // Offset:0x5F0, Var, CRC32:0x5043C19F, Flags:0x0 + bool 'mVisible' ; // Offset:0x6D0, Var, CRC32:0xF9529B47, Flags:0x0 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDNSpotLightStateTransSpritDragon vftable:0x1DA62A8, Size:0x6A0, CRC32:0x7C2FA219 +class uDNSpotLightStateTransSpritDragon /*: uDayNightSpotLight, uSpotLightExt, uSpotLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + class 'mStateTransSpritDragon' ; // Offset:0x5F0, Var, CRC32:0xD0C8B2E0, Flags:0x0 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDOFFilter vftable:0x20BED38, Size:0xC0, CRC32:0x11A7E0D4 +class uDOFFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x54, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mBlurType' ; // Offset:0x58, Var, CRC32:0x46216675, Flags:0x0 + vector3 'mGradateColor' ; // Offset:0x60, Var, CRC32:0x59A153F2, Flags:0x0 + f32 'mBlurSize' ; // Offset:0x70, Var, CRC32:0x3D3F1536, Flags:0x0 + classref 'mpTempTexture[0]' ; // Offset:0x74, Var, CRC32:0xFF5EDDC5, Flags:0x30000 + classref 'mpTempTexture[1]' ; // Offset:0x78, Var, CRC32:0xE645EC84, Flags:0x30000 + f32 'mAperture' ; // Offset:0x7C, Var, CRC32:0xF018A16F, Flags:0x0 + f32 'mFocalLength' ; // Offset:0x80, Var, CRC32:0xAE6CD9D5, Flags:0x0 + f32 'mLowCoCScale' ; // Offset:0x84, Var, CRC32:0xE22E52E2, Flags:0x0 + f32 'mCoCScale' ; // Offset:0x88, Var, CRC32:0xC5FF1FF, Flags:0x10000 + f32 'mCoCBias' ; // Offset:0x8C, Var, CRC32:0x81D07F77, Flags:0x10000 + f32 'mFarBlurLimit' ; // Offset:0x90, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x94, Var, CRC32:0x76F01E5E, Flags:0x0 + classref 'mpTempAccTexture' ; // Offset:0xA4, Var, CRC32:0xDAF22E31, Flags:0x30000 + custom 'mpDiaphragm' ; // Offset:0xB0, Var, CRC32:0xAB96A6B6, Flags:0x0 + f32 'mNear' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFC0, Setter:0x14E0960, CRC32:0xAF45D72D, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mFar' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6830, Setter:0x14E07B0, CRC32:0xA10DB4B9, Flags:0x800000 + bool 'mbGSDOF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE570, Setter:0x14E0820, CRC32:0x61681593, Flags:0x810000 + u32 'mBlurCount' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6670, Setter:0x14E0600, CRC32:0x35CC4901, Flags:0x800000 + f32 'mFocal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6840, Setter:0x14E0800, CRC32:0x3CD20A88, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDOFFilterAfterlife vftable:0x1DA3B60, Size:0xD0, CRC32:0x3AE59BB6 +class uDOFFilterAfterlife /*: uDOFFilterExt, uDOFFilter, uFilter, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + f32 'mResource.mBlurSize' ; // Offset:0x10, Var, CRC32:0x308F1C1E, Flags:0x0 + f32 'mResource.mFarBlurLimit' ; // Offset:0x14, Var, CRC32:0x2209E01, Flags:0x0 + f32 'mResource.mNearBlurLimit' ; // Offset:0x18, Var, CRC32:0x8AB9B54C, Flags:0x0 + f32 'mResource.mFocal' ; // Offset:0x1C, Var, CRC32:0x3D97821F, Flags:0x0 + f32 'mResource.mNear' ; // Offset:0x20, Var, CRC32:0x31BC466C, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mResource.mFar' ; // Offset:0x24, Var, CRC32:0x3C0956BE, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x28, Var, CRC32:0x24318DCD, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x54, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mBlurType' ; // Offset:0x58, Var, CRC32:0x46216675, Flags:0x0 + vector3 'mGradateColor' ; // Offset:0x60, Var, CRC32:0x59A153F2, Flags:0x0 + f32 'mBlurSize' ; // Offset:0x70, Var, CRC32:0x3D3F1536, Flags:0x0 + classref 'mpTempTexture[0]' ; // Offset:0x74, Var, CRC32:0xFF5EDDC5, Flags:0x30000 + classref 'mpTempTexture[1]' ; // Offset:0x78, Var, CRC32:0xE645EC84, Flags:0x30000 + f32 'mAperture' ; // Offset:0x7C, Var, CRC32:0xF018A16F, Flags:0x0 + f32 'mFocalLength' ; // Offset:0x80, Var, CRC32:0xAE6CD9D5, Flags:0x0 + f32 'mLowCoCScale' ; // Offset:0x84, Var, CRC32:0xE22E52E2, Flags:0x0 + f32 'mCoCScale' ; // Offset:0x88, Var, CRC32:0xC5FF1FF, Flags:0x10000 + f32 'mCoCBias' ; // Offset:0x8C, Var, CRC32:0x81D07F77, Flags:0x10000 + f32 'mFarBlurLimit' ; // Offset:0x90, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x94, Var, CRC32:0x76F01E5E, Flags:0x0 + classref 'mpTempAccTexture' ; // Offset:0xA4, Var, CRC32:0xDAF22E31, Flags:0x30000 + custom 'mpDiaphragm' ; // Offset:0xB0, Var, CRC32:0xAB96A6B6, Flags:0x0 + u32 'mBlurCount' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6670, Setter:0x14E0600, CRC32:0x35CC4901, Flags:0x800000 + f32 'mFocal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6840, Setter:0x14E0800, CRC32:0x3CD20A88, Flags:0x800000 + f32 'mNear' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFC0, Setter:0x14E0960, CRC32:0xAF45D72D, Flags:0x800000 + f32 'mFar' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6830, Setter:0x14E07B0, CRC32:0xA10DB4B9, Flags:0x800000 + bool 'mbGSDOF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE570, Setter:0x14E0820, CRC32:0x61681593, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDOFFilterEm021004 vftable:0x1DA3BC8, Size:0xD0, CRC32:0x2F0144F2 +class uDOFFilterEm021004 /*: uDOFFilterExt, uDOFFilter, uFilter, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + f32 'mResource.mBlurSize' ; // Offset:0x10, Var, CRC32:0x308F1C1E, Flags:0x0 + f32 'mResource.mFarBlurLimit' ; // Offset:0x14, Var, CRC32:0x2209E01, Flags:0x0 + f32 'mResource.mNearBlurLimit' ; // Offset:0x18, Var, CRC32:0x8AB9B54C, Flags:0x0 + f32 'mResource.mFocal' ; // Offset:0x1C, Var, CRC32:0x3D97821F, Flags:0x0 + f32 'mResource.mNear' ; // Offset:0x20, Var, CRC32:0x31BC466C, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mResource.mFar' ; // Offset:0x24, Var, CRC32:0x3C0956BE, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x28, Var, CRC32:0x24318DCD, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x54, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mBlurType' ; // Offset:0x58, Var, CRC32:0x46216675, Flags:0x0 + vector3 'mGradateColor' ; // Offset:0x60, Var, CRC32:0x59A153F2, Flags:0x0 + f32 'mBlurSize' ; // Offset:0x70, Var, CRC32:0x3D3F1536, Flags:0x0 + classref 'mpTempTexture[0]' ; // Offset:0x74, Var, CRC32:0xFF5EDDC5, Flags:0x30000 + classref 'mpTempTexture[1]' ; // Offset:0x78, Var, CRC32:0xE645EC84, Flags:0x30000 + f32 'mAperture' ; // Offset:0x7C, Var, CRC32:0xF018A16F, Flags:0x0 + f32 'mFocalLength' ; // Offset:0x80, Var, CRC32:0xAE6CD9D5, Flags:0x0 + f32 'mLowCoCScale' ; // Offset:0x84, Var, CRC32:0xE22E52E2, Flags:0x0 + f32 'mCoCScale' ; // Offset:0x88, Var, CRC32:0xC5FF1FF, Flags:0x10000 + f32 'mCoCBias' ; // Offset:0x8C, Var, CRC32:0x81D07F77, Flags:0x10000 + f32 'mFarBlurLimit' ; // Offset:0x90, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x94, Var, CRC32:0x76F01E5E, Flags:0x0 + classref 'mpTempAccTexture' ; // Offset:0xA4, Var, CRC32:0xDAF22E31, Flags:0x30000 + custom 'mpDiaphragm' ; // Offset:0xB0, Var, CRC32:0xAB96A6B6, Flags:0x0 + u32 'mBlurCount' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6670, Setter:0x14E0600, CRC32:0x35CC4901, Flags:0x800000 + f32 'mFocal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6840, Setter:0x14E0800, CRC32:0x3CD20A88, Flags:0x800000 + f32 'mNear' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFC0, Setter:0x14E0960, CRC32:0xAF45D72D, Flags:0x800000 + f32 'mFar' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6830, Setter:0x14E07B0, CRC32:0xA10DB4B9, Flags:0x800000 + bool 'mbGSDOF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE570, Setter:0x14E0820, CRC32:0x61681593, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDOFFilterEvilEye vftable:0x1DA3AF8, Size:0xD0, CRC32:0x15DD0855 +class uDOFFilterEvilEye /*: uDOFFilterExt, uDOFFilter, uFilter, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + f32 'mResource.mBlurSize' ; // Offset:0x10, Var, CRC32:0x308F1C1E, Flags:0x0 + f32 'mResource.mFarBlurLimit' ; // Offset:0x14, Var, CRC32:0x2209E01, Flags:0x0 + f32 'mResource.mNearBlurLimit' ; // Offset:0x18, Var, CRC32:0x8AB9B54C, Flags:0x0 + f32 'mResource.mFocal' ; // Offset:0x1C, Var, CRC32:0x3D97821F, Flags:0x0 + f32 'mResource.mNear' ; // Offset:0x20, Var, CRC32:0x31BC466C, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mResource.mFar' ; // Offset:0x24, Var, CRC32:0x3C0956BE, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x28, Var, CRC32:0x24318DCD, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x54, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mBlurType' ; // Offset:0x58, Var, CRC32:0x46216675, Flags:0x0 + vector3 'mGradateColor' ; // Offset:0x60, Var, CRC32:0x59A153F2, Flags:0x0 + f32 'mBlurSize' ; // Offset:0x70, Var, CRC32:0x3D3F1536, Flags:0x0 + classref 'mpTempTexture[0]' ; // Offset:0x74, Var, CRC32:0xFF5EDDC5, Flags:0x30000 + classref 'mpTempTexture[1]' ; // Offset:0x78, Var, CRC32:0xE645EC84, Flags:0x30000 + f32 'mAperture' ; // Offset:0x7C, Var, CRC32:0xF018A16F, Flags:0x0 + f32 'mFocalLength' ; // Offset:0x80, Var, CRC32:0xAE6CD9D5, Flags:0x0 + f32 'mLowCoCScale' ; // Offset:0x84, Var, CRC32:0xE22E52E2, Flags:0x0 + f32 'mCoCScale' ; // Offset:0x88, Var, CRC32:0xC5FF1FF, Flags:0x10000 + f32 'mCoCBias' ; // Offset:0x8C, Var, CRC32:0x81D07F77, Flags:0x10000 + f32 'mFarBlurLimit' ; // Offset:0x90, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x94, Var, CRC32:0x76F01E5E, Flags:0x0 + classref 'mpTempAccTexture' ; // Offset:0xA4, Var, CRC32:0xDAF22E31, Flags:0x30000 + custom 'mpDiaphragm' ; // Offset:0xB0, Var, CRC32:0xAB96A6B6, Flags:0x0 + u32 'mBlurCount' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6670, Setter:0x14E0600, CRC32:0x35CC4901, Flags:0x800000 + f32 'mFocal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6840, Setter:0x14E0800, CRC32:0x3CD20A88, Flags:0x800000 + f32 'mNear' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFC0, Setter:0x14E0960, CRC32:0xAF45D72D, Flags:0x800000 + f32 'mFar' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6830, Setter:0x14E07B0, CRC32:0xA10DB4B9, Flags:0x800000 + bool 'mbGSDOF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE570, Setter:0x14E0820, CRC32:0x61681593, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDOFFilterExt vftable:0x1DA3A90, Size:0xD0, CRC32:0x5A93512A +class uDOFFilterExt /*: uDOFFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mType' ; // Offset:0x54, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mBlurType' ; // Offset:0x58, Var, CRC32:0x46216675, Flags:0x0 + vector3 'mGradateColor' ; // Offset:0x60, Var, CRC32:0x59A153F2, Flags:0x0 + f32 'mBlurSize' ; // Offset:0x70, Var, CRC32:0x3D3F1536, Flags:0x0 + classref 'mpTempTexture[0]' ; // Offset:0x74, Var, CRC32:0xFF5EDDC5, Flags:0x30000 + classref 'mpTempTexture[1]' ; // Offset:0x78, Var, CRC32:0xE645EC84, Flags:0x30000 + f32 'mAperture' ; // Offset:0x7C, Var, CRC32:0xF018A16F, Flags:0x0 + f32 'mFocalLength' ; // Offset:0x80, Var, CRC32:0xAE6CD9D5, Flags:0x0 + f32 'mLowCoCScale' ; // Offset:0x84, Var, CRC32:0xE22E52E2, Flags:0x0 + f32 'mCoCScale' ; // Offset:0x88, Var, CRC32:0xC5FF1FF, Flags:0x10000 + f32 'mCoCBias' ; // Offset:0x8C, Var, CRC32:0x81D07F77, Flags:0x10000 + f32 'mFarBlurLimit' ; // Offset:0x90, Var, CRC32:0xF203F05A, Flags:0x0 + f32 'mNearBlurLimit' ; // Offset:0x94, Var, CRC32:0x76F01E5E, Flags:0x0 + classref 'mpTempAccTexture' ; // Offset:0xA4, Var, CRC32:0xDAF22E31, Flags:0x30000 + custom 'mpDiaphragm' ; // Offset:0xB0, Var, CRC32:0xAB96A6B6, Flags:0x0 + f32 'mNear' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFC0, Setter:0x14E0960, CRC32:0xAF45D72D, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mFar' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6830, Setter:0x14E07B0, CRC32:0xA10DB4B9, Flags:0x800000 + bool 'mbGSDOF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE570, Setter:0x14E0820, CRC32:0x61681593, Flags:0x810000 + u32 'mBlurCount' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6670, Setter:0x14E0600, CRC32:0x35CC4901, Flags:0x800000 + f32 'mFocal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6840, Setter:0x14E0800, CRC32:0x3CD20A88, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightColorFog vftable:0x1DA4728, Size:0x540, CRC32:0x3D9316E3 +class uDayNightColorFog /*: uColorFogExt, uColorFog, uFog, cUnit, MtObject*/ { + f32 'mHeightStart' ; // Offset:0x4, Var, CRC32:0xF30C3D76, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mHeightEnd' ; // Offset:0x8, Var, CRC32:0x441D8659, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mHeightDensity' ; // Offset:0xC, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0x10, Var, CRC32:0xA232010, Flags:0x8000000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mStart' ; // Offset:0x20, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x24, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mDensity' ; // Offset:0x28, Var, CRC32:0x434A19E4, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mColor' ; // Offset:0x30, Var, CRC32:0x9BE2D228, Flags:0x8000000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + f32 'mDiffuseBlendFactor' ; // Offset:0x40, Var, CRC32:0xBBF4F9FF, Flags:0x0 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + s32 'mDistanceType' ; // Offset:0x1A0, Var, CRC32:0x44BBE72, Flags:0x0 + s32 'mFogColorType' ; // Offset:0x1A4, Var, CRC32:0x43C7EED5, Flags:0x8000000 + f32 'mStart' ; // Offset:0x1A8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x1AC, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mExponentDensity' ; // Offset:0x1B0, Var, CRC32:0xF899A742, Flags:0x0 + f32 'mDensity' ; // Offset:0x1B4, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x1C0, Var, CRC32:0x9BE2D228, Flags:0x8000000 + bool 'mRangeBase' ; // Offset:0x1D0, Var, CRC32:0xA6E1AFB8, Flags:0x0 + bool 'mDiffuseBlend' ; // Offset:0x1D1, Var, CRC32:0x9F5FC9EC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x1D4, Var, CRC32:0xBBF4F9FF, Flags:0x0 + classref 'mpFogTable' ; // Offset:0x1D8, Var, CRC32:0xBEF84447, Flags:0x30000 + hermitecurve 'mCurve' ; // Offset:0x1E0, Var, CRC32:0xAA2DC776, Flags:0x8000000 + hermitecurve 'mRCurve' ; // Offset:0x220, Var, CRC32:0x99CE21F6, Flags:0x0 + hermitecurve 'mGCurve' ; // Offset:0x260, Var, CRC32:0xCAD5B2DE, Flags:0x0 + hermitecurve 'mBCurve' ; // Offset:0x2A0, Var, CRC32:0x9A18236D, Flags:0x0 + f32 'NightHeightStart' ; // Offset:0x344, Var, CRC32:0x72831926, Flags:0x0 + f32 'NightHeightEnd' ; // Offset:0x348, Var, CRC32:0x180EBDF7, Flags:0x0 + f32 'NightHeightDensity' ; // Offset:0x34C, Var, CRC32:0x81DE9FE4, Flags:0x0 + vector3 'NightHeightColor' ; // Offset:0x350, Var, CRC32:0x8BAC0440, Flags:0x8000000 + f32 'NightStart' ; // Offset:0x360, Var, CRC32:0x698FE04, Flags:0x0 + f32 'NightEnd' ; // Offset:0x364, Var, CRC32:0x27FA6199, Flags:0x0 + f32 'NightDensity' ; // Offset:0x368, Var, CRC32:0x1802DA04, Flags:0x0 + vector3 'NightColor' ; // Offset:0x370, Var, CRC32:0xFFB7E362, Flags:0x8000000 + f32 'NightDiffuseBlendFactor' ; // Offset:0x380, Var, CRC32:0x624FA175, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightColorFogEm021004 vftable:0x1DA47D8, Size:0x540, CRC32:0xD9B2659 +class uDayNightColorFogEm021004 /*: uDayNightColorFog, uColorFogExt, uColorFog, uFog, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mHeightStart' ; // Offset:0x4, Var, CRC32:0xF30C3D76, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0x8, Var, CRC32:0x441D8659, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xC, Var, CRC32:0x766A7EE, Flags:0x0 + class 'mResource.mParam' ; // Offset:0x10, Var, CRC32:0x580B6EDF, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0x10, Var, CRC32:0xA232010, Flags:0x8000000 + f32 'mStart' ; // Offset:0x20, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mEnd' ; // Offset:0x24, Var, CRC32:0xD007A37E, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mDensity' ; // Offset:0x28, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x30, Var, CRC32:0x9BE2D228, Flags:0x8000000 + f32 'mDiffuseBlendFactor' ; // Offset:0x40, Var, CRC32:0xBBF4F9FF, Flags:0x0 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + s32 'mDistanceType' ; // Offset:0x1A0, Var, CRC32:0x44BBE72, Flags:0x0 + s32 'mFogColorType' ; // Offset:0x1A4, Var, CRC32:0x43C7EED5, Flags:0x8000000 + f32 'mStart' ; // Offset:0x1A8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x1AC, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mExponentDensity' ; // Offset:0x1B0, Var, CRC32:0xF899A742, Flags:0x0 + f32 'mDensity' ; // Offset:0x1B4, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x1C0, Var, CRC32:0x9BE2D228, Flags:0x8000000 + bool 'mRangeBase' ; // Offset:0x1D0, Var, CRC32:0xA6E1AFB8, Flags:0x0 + bool 'mDiffuseBlend' ; // Offset:0x1D1, Var, CRC32:0x9F5FC9EC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x1D4, Var, CRC32:0xBBF4F9FF, Flags:0x0 + classref 'mpFogTable' ; // Offset:0x1D8, Var, CRC32:0xBEF84447, Flags:0x30000 + hermitecurve 'mCurve' ; // Offset:0x1E0, Var, CRC32:0xAA2DC776, Flags:0x8000000 + hermitecurve 'mRCurve' ; // Offset:0x220, Var, CRC32:0x99CE21F6, Flags:0x0 + hermitecurve 'mGCurve' ; // Offset:0x260, Var, CRC32:0xCAD5B2DE, Flags:0x0 + hermitecurve 'mBCurve' ; // Offset:0x2A0, Var, CRC32:0x9A18236D, Flags:0x0 + f32 'NightHeightStart' ; // Offset:0x344, Var, CRC32:0x72831926, Flags:0x0 + f32 'NightHeightEnd' ; // Offset:0x348, Var, CRC32:0x180EBDF7, Flags:0x0 + f32 'NightHeightDensity' ; // Offset:0x34C, Var, CRC32:0x81DE9FE4, Flags:0x0 + vector3 'NightHeightColor' ; // Offset:0x350, Var, CRC32:0x8BAC0440, Flags:0x8000000 + f32 'NightStart' ; // Offset:0x360, Var, CRC32:0x698FE04, Flags:0x0 + f32 'NightEnd' ; // Offset:0x364, Var, CRC32:0x27FA6199, Flags:0x0 + f32 'NightDensity' ; // Offset:0x368, Var, CRC32:0x1802DA04, Flags:0x0 + vector3 'NightColor' ; // Offset:0x370, Var, CRC32:0xFFB7E362, Flags:0x8000000 + f32 'NightDiffuseBlendFactor' ; // Offset:0x380, Var, CRC32:0x624FA175, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightHemiSphereLight vftable:0x1DA5FA8, Size:0x4D0, CRC32:0x6C43369 +class uDayNightHemiSphereLight /*: uHemiSphereLightExt, uHemiSphereLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x3D0, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightInfiniteLight vftable:0x1DA5F28, Size:0x4F0, CRC32:0x6FBAD59F +class uDayNightInfiniteLight /*: uInfiniteLightExt, uInfiniteLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + class 'mBind' ; // Offset:0x3E0, Var, CRC32:0x9FC5386F, Flags:0x0 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightPointLight vftable:0x1DA5DA8, Size:0x5B0, CRC32:0x6047E73C +class uDayNightPointLight /*: uPointLightExt, uPointLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x460, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4AC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4AD, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoPLE' ; // Offset:0x4AF, Var, CRC32:0xBA351187, Flags:0x10000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightPointLightOmConst vftable:0x1DA5E28, Size:0x5B0, CRC32:0x3322849F +class uDayNightPointLightOmConst /*: uDayNightPointLight, uPointLightExt, uPointLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x460, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4AC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4AD, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoPLE' ; // Offset:0x4AF, Var, CRC32:0xBA351187, Flags:0x10000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDayNightSpotLight vftable:0x1DA5EA8, Size:0x5F0, CRC32:0x503FE83A +class uDayNightSpotLight /*: uSpotLightExt, uSpotLight, uLight, cUnit, MtObject*/ { + f32 'mBlinkIntensityMax' ; // Offset:0x4, Var, CRC32:0x30969234, Flags:0x0 + bool 'mEnableTimeCtrl' ; // Offset:0x4, Var, CRC32:0x68DDBAE5, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + bool 'mEnableBlink' ; // Offset:0x5, Var, CRC32:0xA2C41285, Flags:0x0 + bool 'mEnableNightColor' ; // Offset:0x6, Var, CRC32:0x3C45E276, Flags:0x0 + f32 'mBlinkIntensityMin' ; // Offset:0x8, Var, CRC32:0xC9BAD6D, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mBlinkSpeed' ; // Offset:0xC, Var, CRC32:0x51FB655F, Flags:0x0 + vector3 'mNightColor' ; // Offset:0x10, Var, CRC32:0xECFAE1C7, Flags:0x0 + f32 'mBlinkAmpRandom' ; // Offset:0x10, Var, CRC32:0xF2E6836B, Flags:0x0 + vector3 'mLightColor' ; // Offset:0x10, Var, CRC32:0xE80F31FA, Flags:0x0 + f32 'mBlinkSpeedRandom' ; // Offset:0x14, Var, CRC32:0x3046E97E, Flags:0x0 + f32 'mBlinkTimer' ; // Offset:0x18, Var, CRC32:0x340D45B3, Flags:0x10000 + f32 'mBlinkAmpScale' ; // Offset:0x1C, Var, CRC32:0x30BAE02E, Flags:0x10000 + f32 'mBlinkSpeedScale' ; // Offset:0x20, Var, CRC32:0x472F5292, Flags:0x10000 + vector3 'mNightRevColor' ; // Offset:0x20, Var, CRC32:0x83200EFB, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x20, Var, CRC32:0xC6996477, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mLightDir' ; // Offset:0x30, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'LightShadowGroup0' ; // Offset:0x40, Var, CRC32:0x1108DC50, Flags:0x0 + f32 'LightShadowGroup1' ; // Offset:0x44, Var, CRC32:0x660FECC6, Flags:0x0 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + u32 'On Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27F0, Setter:0x98D7A0, CRC32:0xD2870553, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'Off Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2760, Setter:0x10C5300, CRC32:0xF3A7D749, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'Off Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27A0, Setter:0x10C5370, CRC32:0x5D28AC0A, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Off Hour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2770, Setter:0x10C5310, CRC32:0x6C022B27, Flags:0x800000 + u32 'On Change msec' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C27E0, Setter:0x98D790, CRC32:0x528D417C, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'On Minute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x976FD0, Setter:0x10C53C0, CRC32:0xCAADA3B2, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uDynamicSbc vftable:0x20D4D80, Size:0x1C0, CRC32:0x5CAD6F55 +class uDynamicSbc /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + bool 'mFlgPartsActive'[256] ; // Offset:0xB8, Array, CRC32:0x77C0C5E0, Flags:0x200000 + bool 'mFlgMultiThread' ; // Offset:0x1B9, Var, CRC32:0xE175875C, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + custom 'mpStaticData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1821F10, Setter:0x18224A0, CRC32:0xEA132D44, Flags:0x800000 + classref 'mpOwner' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1821EE0, Setter:0x1822470, CRC32:0x4B533E00, Flags:0x800000 + u32 'mSbcGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1821EF0, Setter:0x1822480, CRC32:0x9719C563, Flags:0x800000 + u32 'mSbcType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1821F00, Setter:0x1822490, CRC32:0x5508E211, Flags:0x800000 +}; + +// uEdgeAntiAliasingFilter vftable:0x20BF4C0, Size:0x70, CRC32:0x604366C3 +class uEdgeAntiAliasingFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + s32 'mEdgeDetectionType' ; // Offset:0x50, Var, CRC32:0x2C7FA239, Flags:0x0 + s32 'mAntiAliasingType' ; // Offset:0x54, Var, CRC32:0xBDE2144F, Flags:0x0 + f32 'mDepthFactor' ; // Offset:0x58, Var, CRC32:0x583EE787, Flags:0x0 + f32 'mDepthMinimum' ; // Offset:0x5C, Var, CRC32:0xB8F5EA4C, Flags:0x0 + f32 'mSamplingFactor' ; // Offset:0x60, Var, CRC32:0xBDF14209, Flags:0x0 + classref 'mpTempTexture' ; // Offset:0x64, Var, CRC32:0xB37CFFC8, Flags:0x30000 + bool 'mEnableTransparent' ; // Offset:0x68, Var, CRC32:0x6B0FBF58, Flags:0x0 + bool 'mCheckEdgeWeight' ; // Offset:0x69, Var, CRC32:0xB3B71ADE, Flags:0x20000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEditSaveLoadFlow vftable:0x1CBC860, Size:0x140, CRC32:0x2AD5F114 +class uEditSaveLoadFlow /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEfCam vftable:0x1CBCD88, Size:0x3C0, CRC32:0x26B5C952 +class uEfCam /*: uEffectExt, uEffect, uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x270, Var, CRC32:0x957783C0, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x274, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTime' ; // Offset:0x2A0, Var, CRC32:0xB33C1205, Flags:0x0 + f32 'mFollowSunDist' ; // Offset:0x2DC, Var, CRC32:0x894DF419, Flags:0x0 + vector3 'mEpvPos' ; // Offset:0x310, Var, CRC32:0x2734F0AA, Flags:0x0 + u32 'mRDCFC.mDispCtrlFlag' ; // Offset:0x370, Var, CRC32:0x158F8611, Flags:0x0 + f32 'mRDCFC.mApplicationRate' ; // Offset:0x378, Var, CRC32:0x1C89EC79, Flags:0x0 + bool 'mRepeatFlag' ; // Offset:0x3A0, Var, CRC32:0x4E8BF428, Flags:0x0 + bool 'mYAngleFlag' ; // Offset:0x3A1, Var, CRC32:0x76C643AC, Flags:0x0 + vector3 'mCamOfs' ; // Offset:0x3B0, Var, CRC32:0xED4D221F, Flags:0x0 + bool 'Color Update Dist Cancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA80, Setter:0xB4E440, CRC32:0x873D3F1B, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA90, Setter:0xB4E470, CRC32:0x4779AA79, Flags:0x800000 + bool 'Zone Check Generator' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E180, Setter:0xB52D30, CRC32:0x8E6C71D4, Flags:0x800000 + bool 'RainWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE20, Setter:0xC902D0, CRC32:0x5DB4B31F, Flags:0x800000 + bool 'CloudyWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9F0, Setter:0xC8FEA0, CRC32:0x11390787, Flags:0x800000 + bool 'FineWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC70, Setter:0xC90110, CRC32:0x2F10BDCE, Flags:0x800000 + bool 'Follow Moon' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC80, Setter:0xB517A0, CRC32:0x7FF81CBD, Flags:0x800000 + bool 'Follow Sun' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DCF0, Setter:0xB517C0, CRC32:0x43834215, Flags:0x800000 + vector3 'CorrectColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DAA0, Setter:0xC8FEE0, CRC32:0xFF41A718, Flags:0x800000 + f32 'CorrectColorAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBB0, Setter:0xC8FFE0, CRC32:0xB5530609, Flags:0x800000 + f32 'CorrectColorRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBE0, Setter:0xC90030, CRC32:0xD360EA47, Flags:0x800000 + f32 'CCTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9B0, Setter:0xC8FD10, CRC32:0x87D92FA1, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC50, Setter:0xB4F9D0, CRC32:0x9A6AB9AE, Flags:0x800000 + bool 'mWorkRateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E020, Setter:0xB52CE0, CRC32:0xF30EAB75, Flags:0x800000 + bool 'mHitStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DD90, Setter:0xC90260, CRC32:0xBA37B6B, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + bool 'mParentTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDE0, Setter:0xB52090, CRC32:0x994BABD9, Flags:0x800000 + bool 'mParentBaseModelFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDD0, Setter:0xC88C10, CRC32:0xA30C0A51, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 +}; + +// uEfCamNoPause vftable:0x1CBCEE0, Size:0x3C0, CRC32:0xF658F00 +class uEfCamNoPause /*: uEfCam, uEffectExt, uEffect, uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x270, Var, CRC32:0x957783C0, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x274, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTime' ; // Offset:0x2A0, Var, CRC32:0xB33C1205, Flags:0x0 + f32 'mFollowSunDist' ; // Offset:0x2DC, Var, CRC32:0x894DF419, Flags:0x0 + vector3 'mEpvPos' ; // Offset:0x310, Var, CRC32:0x2734F0AA, Flags:0x0 + u32 'mRDCFC.mDispCtrlFlag' ; // Offset:0x370, Var, CRC32:0x158F8611, Flags:0x0 + f32 'mRDCFC.mApplicationRate' ; // Offset:0x378, Var, CRC32:0x1C89EC79, Flags:0x0 + bool 'mRepeatFlag' ; // Offset:0x3A0, Var, CRC32:0x4E8BF428, Flags:0x0 + bool 'mYAngleFlag' ; // Offset:0x3A1, Var, CRC32:0x76C643AC, Flags:0x0 + vector3 'mCamOfs' ; // Offset:0x3B0, Var, CRC32:0xED4D221F, Flags:0x0 + bool 'Color Update Dist Cancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA80, Setter:0xB4E440, CRC32:0x873D3F1B, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA90, Setter:0xB4E470, CRC32:0x4779AA79, Flags:0x800000 + bool 'Zone Check Generator' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E180, Setter:0xB52D30, CRC32:0x8E6C71D4, Flags:0x800000 + bool 'RainWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE20, Setter:0xC902D0, CRC32:0x5DB4B31F, Flags:0x800000 + bool 'CloudyWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9F0, Setter:0xC8FEA0, CRC32:0x11390787, Flags:0x800000 + bool 'FineWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC70, Setter:0xC90110, CRC32:0x2F10BDCE, Flags:0x800000 + bool 'Follow Moon' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC80, Setter:0xB517A0, CRC32:0x7FF81CBD, Flags:0x800000 + bool 'Follow Sun' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DCF0, Setter:0xB517C0, CRC32:0x43834215, Flags:0x800000 + vector3 'CorrectColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DAA0, Setter:0xC8FEE0, CRC32:0xFF41A718, Flags:0x800000 + f32 'CorrectColorAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBB0, Setter:0xC8FFE0, CRC32:0xB5530609, Flags:0x800000 + f32 'CorrectColorRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBE0, Setter:0xC90030, CRC32:0xD360EA47, Flags:0x800000 + f32 'CCTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9B0, Setter:0xC8FD10, CRC32:0x87D92FA1, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC50, Setter:0xB4F9D0, CRC32:0x9A6AB9AE, Flags:0x800000 + bool 'mWorkRateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E020, Setter:0xB52CE0, CRC32:0xF30EAB75, Flags:0x800000 + bool 'mHitStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DD90, Setter:0xC90260, CRC32:0xBA37B6B, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + bool 'mParentTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDE0, Setter:0xB52090, CRC32:0x994BABD9, Flags:0x800000 + bool 'mParentBaseModelFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDD0, Setter:0xC88C10, CRC32:0xA30C0A51, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 +}; + +// uEffect vftable:0x20C7500, Size:0x230, CRC32:0x5CCDEA6A +class uEffect /*: uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffect2D vftable:0x20CBA30, Size:0x190, CRC32:0x430C857E +class uEffect2D /*: uCoord, cUnit, MtObject*/ { + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x104, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x110, Var, CRC32:0x6971F996, Flags:0x10000 + u32 'mDrawPriority' ; // Offset:0x11C, Var, CRC32:0x786AC4AA, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x138, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x13C, Var, CRC32:0x50275F62, Flags:0x0 + float2 'mScreenPos' ; // Offset:0x140, Var, CRC32:0xC3E79C1A, Flags:0x4000000 + f32 'mEffectScale' ; // Offset:0x14C, Var, CRC32:0x3F0B272F, Flags:0x0 + color 'mRTBaseMapColor' ; // Offset:0x150, Var, CRC32:0x2A0C0E9B, Flags:0x0 + color 'mRTNormalMapColor' ; // Offset:0x154, Var, CRC32:0x9D7BEFE4, Flags:0x0 + f32 'mAlphaRate' ; // Offset:0x15C, Var, CRC32:0x84C6F603, Flags:0x0 + u32 'mSizeAdjustType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691420, Setter:0x1691E70, CRC32:0xA82E474A, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691110, Setter:0x1691D90, CRC32:0xFA85868A, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691460, Setter:0x1691EE0, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691120, Setter:0x1691DA0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691130, Setter:0xB51C50, CRC32:0xCDC68F54, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691440, Setter:0x1691E90, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910A0, Setter:0x1691D10, CRC32:0x94E4578E, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1690F40, Setter:0xC8A680, CRC32:0x6A591D67, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168E802, Setter:0x168E807, CRC32:0x55ABB394, Flags:0x800000 + bool 'WorldPosMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691470, Setter:0xB52D00, CRC32:0x61169817, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691450, Setter:0x1691EB0, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A4C0, Setter:0x1691D30, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691410, Setter:0x1691E40, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168E7F8, Setter:0x168E7FD, CRC32:0xBBB409FB, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910C0, Setter:0x1691C10, CRC32:0xA7E7BE7C, Flags:0x810000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x168E7F3, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910D0, Setter:0x1691C10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910E0, Setter:0x1691C10, CRC32:0x97EAB10C, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpEffect2D' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691090, Setter:0x1691C20, CRC32:0x28013329, Flags:0x800000 + u32 'mRTMaskMapAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691400, Setter:0x1691E10, CRC32:0x26EC3BFB, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1691140, Setter:0x1691DE0, GetCount:0x16910B0, Reallocate:0x1691C10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x16910F0, Setter:0x1691D60, GetCount:0x16910B0, Reallocate:0x1691C10 CRC32:0x53FE943E, Flags:0xA20000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffect2DExt vftable:0x1CBD520, Size:0x1F0, CRC32:0x57F26CCC +class uEffect2DExt /*: uEffect2D, uCoord, cUnit, MtObject*/ { + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x104, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x110, Var, CRC32:0x6971F996, Flags:0x10000 + u32 'mDrawPriority' ; // Offset:0x11C, Var, CRC32:0x786AC4AA, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x138, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x13C, Var, CRC32:0x50275F62, Flags:0x0 + float2 'mScreenPos' ; // Offset:0x140, Var, CRC32:0xC3E79C1A, Flags:0x4000000 + f32 'mEffectScale' ; // Offset:0x14C, Var, CRC32:0x3F0B272F, Flags:0x0 + color 'mRTBaseMapColor' ; // Offset:0x150, Var, CRC32:0x2A0C0E9B, Flags:0x0 + color 'mRTNormalMapColor' ; // Offset:0x154, Var, CRC32:0x9D7BEFE4, Flags:0x0 + f32 'mAlphaRate' ; // Offset:0x15C, Var, CRC32:0x84C6F603, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x1B8, Var, CRC32:0x957783C0, Flags:0x0 + bool 'mHitStopMode' ; // Offset:0x1BC, Var, CRC32:0xBA37B6B, Flags:0x0 + bool 'mWorkRateMode' ; // Offset:0x1BD, Var, CRC32:0xF30EAB75, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x1C0, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTimer' ; // Offset:0x1DC, Var, CRC32:0xCED2D88D, Flags:0x10000 + f32 'mColorUpdateTime' ; // Offset:0x1E0, Var, CRC32:0xB33C1205, Flags:0x0 + u32 'mSizeAdjustType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691420, Setter:0x1691E70, CRC32:0xA82E474A, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691110, Setter:0x1691D90, CRC32:0xFA85868A, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691460, Setter:0x1691EE0, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691120, Setter:0x1691DA0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691130, Setter:0xB51C50, CRC32:0xCDC68F54, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691440, Setter:0x1691E90, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910A0, Setter:0x1691D10, CRC32:0x94E4578E, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A480, Setter:0xB4E460, CRC32:0x4779AA79, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A4B0, Setter:0xB4F9B0, CRC32:0x9A6AB9AE, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1690F40, Setter:0xC8A680, CRC32:0x6A591D67, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168E802, Setter:0x168E807, CRC32:0x55ABB394, Flags:0x800000 + bool 'WorldPosMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691470, Setter:0xB52D00, CRC32:0x61169817, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691450, Setter:0x1691EB0, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A4C0, Setter:0x1691D30, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691410, Setter:0x1691E40, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168E7F8, Setter:0x168E7FD, CRC32:0xBBB409FB, Flags:0x800000 + u32 'mRTMaskMapAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691400, Setter:0x1691E10, CRC32:0x26EC3BFB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x168E7F3, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910C0, Setter:0x1691C10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910D0, Setter:0x1691C10, CRC32:0xD7929C40, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910E0, Setter:0x1691C10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffect2D' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691090, Setter:0x1691C20, CRC32:0x28013329, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1691140, Setter:0x1691DE0, GetCount:0x16910B0, Reallocate:0x1691C10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x16910F0, Setter:0x1691D60, GetCount:0x16910B0, Reallocate:0x1691C10 CRC32:0x53FE943E, Flags:0xA20000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffect2DExtNoPause vftable:0x1CBD5C8, Size:0x1F0, CRC32:0x4013419C +class uEffect2DExtNoPause /*: uEffect2DExt, uEffect2D, uCoord, cUnit, MtObject*/ { + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x104, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x110, Var, CRC32:0x6971F996, Flags:0x10000 + u32 'mDrawPriority' ; // Offset:0x11C, Var, CRC32:0x786AC4AA, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x138, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x13C, Var, CRC32:0x50275F62, Flags:0x0 + float2 'mScreenPos' ; // Offset:0x140, Var, CRC32:0xC3E79C1A, Flags:0x4000000 + f32 'mEffectScale' ; // Offset:0x14C, Var, CRC32:0x3F0B272F, Flags:0x0 + color 'mRTBaseMapColor' ; // Offset:0x150, Var, CRC32:0x2A0C0E9B, Flags:0x0 + color 'mRTNormalMapColor' ; // Offset:0x154, Var, CRC32:0x9D7BEFE4, Flags:0x0 + f32 'mAlphaRate' ; // Offset:0x15C, Var, CRC32:0x84C6F603, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x1B8, Var, CRC32:0x957783C0, Flags:0x0 + bool 'mHitStopMode' ; // Offset:0x1BC, Var, CRC32:0xBA37B6B, Flags:0x0 + bool 'mWorkRateMode' ; // Offset:0x1BD, Var, CRC32:0xF30EAB75, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x1C0, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTimer' ; // Offset:0x1DC, Var, CRC32:0xCED2D88D, Flags:0x10000 + f32 'mColorUpdateTime' ; // Offset:0x1E0, Var, CRC32:0xB33C1205, Flags:0x0 + u32 'mSizeAdjustType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691420, Setter:0x1691E70, CRC32:0xA82E474A, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691110, Setter:0x1691D90, CRC32:0xFA85868A, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691460, Setter:0x1691EE0, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691120, Setter:0x1691DA0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691130, Setter:0xB51C50, CRC32:0xCDC68F54, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691440, Setter:0x1691E90, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910A0, Setter:0x1691D10, CRC32:0x94E4578E, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A480, Setter:0xB4E460, CRC32:0x4779AA79, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A4B0, Setter:0xB4F9B0, CRC32:0x9A6AB9AE, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1690F40, Setter:0xC8A680, CRC32:0x6A591D67, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168E802, Setter:0x168E807, CRC32:0x55ABB394, Flags:0x800000 + bool 'WorldPosMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691470, Setter:0xB52D00, CRC32:0x61169817, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691450, Setter:0x1691EB0, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8A4C0, Setter:0x1691D30, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691410, Setter:0x1691E40, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168E7F8, Setter:0x168E7FD, CRC32:0xBBB409FB, Flags:0x800000 + u32 'mRTMaskMapAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691400, Setter:0x1691E10, CRC32:0x26EC3BFB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x168E7F3, CRC32:0xB6BB810D, Flags:0x900000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910C0, Setter:0x1691C10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910D0, Setter:0x1691C10, CRC32:0xD7929C40, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16910E0, Setter:0x1691C10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffect2D' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1691090, Setter:0x1691C20, CRC32:0x28013329, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1691140, Setter:0x1691DE0, GetCount:0x16910B0, Reallocate:0x1691C10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x16910F0, Setter:0x1691D60, GetCount:0x16910B0, Reallocate:0x1691C10 CRC32:0x53FE943E, Flags:0xA20000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffectEmitter vftable:0x20D1EB8, Size:0xF0, CRC32:0x42412AD7 +class uEffectEmitter /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + bool 'mEmitFlag' ; // Offset:0x40, Var, CRC32:0x4CEDEF2B, Flags:0x0 + bool 'mEventMode' ; // Offset:0x41, Var, CRC32:0x37C8BAF8, Flags:0x0 + bool 'mSyncUpdateMode' ; // Offset:0x42, Var, CRC32:0xF961FB58, Flags:0x0 + bool 'mTimerControlMode' ; // Offset:0x43, Var, CRC32:0x84339162, Flags:0x0 + bool 'mUGInvalidMode' ; // Offset:0x44, Var, CRC32:0xA10D3483, Flags:0x0 + bool 'mEffectTrans' ; // Offset:0x45, Var, CRC32:0xA36C1C16, Flags:0x0 + bool 'mChainResetFlag' ; // Offset:0x46, Var, CRC32:0xB5B2E230, Flags:0x0 + bool 'mShowMatrix' ; // Offset:0x47, Var, CRC32:0xD4F93233, Flags:0x0 + u32 'mControlFlag' ; // Offset:0x48, Var, CRC32:0x6F3FCC40, Flags:0x0 + classref 'mpParent' ; // Offset:0x5C, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpCamera' ; // Offset:0x60, Var, CRC32:0xB0290F47, Flags:0x100000 + f32 'mShowSize' ; // Offset:0x6C, Var, CRC32:0x13CCAE1D, Flags:0x0 + s32 'mParentNo' ; // Offset:0x70, Var, CRC32:0xE0F3333C, Flags:0x0 + f32 'mPlaySpeed' ; // Offset:0x84, Var, CRC32:0xC453D17C, Flags:0x0 + u32 'mTimer' ; // Offset:0x88, Var, CRC32:0x976444DB, Flags:0x0 + f32 'mParticleScale' ; // Offset:0x8C, Var, CRC32:0xA7DC75CE, Flags:0x0 + vector3 'mParticle3DScale' ; // Offset:0x90, Var, CRC32:0x941243D4, Flags:0x0 + vector3 'mGeneratorScale' ; // Offset:0xA0, Var, CRC32:0x5B4894, Flags:0x0 + vector3 'mPos' ; // Offset:0xB0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mOfs' ; // Offset:0xC0, Var, CRC32:0x969A2967, Flags:0x0 + quaternion 'mQuat' ; // Offset:0xD0, Var, CRC32:0x527A96A1, Flags:0x0 + vector3 'mDir' ; // Offset:0xE0, Var, CRC32:0x6A50EADF, Flags:0x0 + u32 'mCameraConstType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC5E0, Setter:0x17DD1B0, CRC32:0x314F856D, Flags:0x800000 + u32 'mParentConstType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC700, Setter:0x17DD350, CRC32:0x924C1F14, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC6C0, Setter:0x17DD300, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC5B0, Setter:0x17DD180, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC610, Setter:0x17DD1E0, CRC32:0xFEF9C82D, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC5F0, Setter:0x17DD1C0, CRC32:0x3D4BAEE3, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC600, Setter:0x17DD1D0, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mEffectDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC630, Setter:0x17DD200, CRC32:0xC4A5536C, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC6A0, Setter:0x17DD2E0, CRC32:0xFA85868A, Flags:0x800000 + u32 'mEffectMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC650, Setter:0x17DD250, CRC32:0x9FCEB0D5, Flags:0x800000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC640, Setter:0x17DD210, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x17DC6D0, Setter:0x17DD310, GetCount:0x17DC670, Reallocate:0x17DD1F0 CRC32:0x7A37E83C, Flags:0xA00000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x17DC680, Setter:0x17DD2B0, GetCount:0x17DC670, Reallocate:0x17DD1F0 CRC32:0x53FE943E, Flags:0xA00000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC720, Setter:0x17DD370, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC6B0, Setter:0x17DD2F0, CRC32:0xCD2A5028, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC660, Setter:0x17DD2A0, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC710, Setter:0x17DD360, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC5D0, Setter:0x17DD1A0, CRC32:0x124B321B, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17DC6F0, Setter:0x17DD340, CRC32:0x89D0959, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffectExt vftable:0x1CBDC08, Size:0x3A0, CRC32:0x42DBE2B1 +class uEffectExt /*: uEffect, uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x270, Var, CRC32:0x957783C0, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x274, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTime' ; // Offset:0x2A0, Var, CRC32:0xB33C1205, Flags:0x0 + f32 'mFollowSunDist' ; // Offset:0x2DC, Var, CRC32:0x894DF419, Flags:0x0 + vector3 'mEpvPos' ; // Offset:0x310, Var, CRC32:0x2734F0AA, Flags:0x0 + u32 'mRDCFC.mDispCtrlFlag' ; // Offset:0x370, Var, CRC32:0x158F8611, Flags:0x0 + f32 'mRDCFC.mApplicationRate' ; // Offset:0x378, Var, CRC32:0x1C89EC79, Flags:0x0 + vector3 'CorrectColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DAA0, Setter:0xC8FEE0, CRC32:0xFF41A718, Flags:0x800000 + f32 'CorrectColorAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBB0, Setter:0xC8FFE0, CRC32:0xB5530609, Flags:0x800000 + f32 'CorrectColorRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBE0, Setter:0xC90030, CRC32:0xD360EA47, Flags:0x800000 + f32 'CCTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9B0, Setter:0xC8FD10, CRC32:0x87D92FA1, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC50, Setter:0xB4F9D0, CRC32:0x9A6AB9AE, Flags:0x800000 + bool 'mWorkRateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E020, Setter:0xB52CE0, CRC32:0xF30EAB75, Flags:0x800000 + bool 'mHitStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DD90, Setter:0xC90260, CRC32:0xBA37B6B, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + bool 'mParentTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDE0, Setter:0xB52090, CRC32:0x994BABD9, Flags:0x800000 + bool 'mParentBaseModelFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDD0, Setter:0xC88C10, CRC32:0xA30C0A51, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + bool 'Color Update Dist Cancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA80, Setter:0xB4E440, CRC32:0x873D3F1B, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA90, Setter:0xB4E470, CRC32:0x4779AA79, Flags:0x800000 + bool 'Zone Check Generator' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E180, Setter:0xB52D30, CRC32:0x8E6C71D4, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'RainWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE20, Setter:0xC902D0, CRC32:0x5DB4B31F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'CloudyWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9F0, Setter:0xC8FEA0, CRC32:0x11390787, Flags:0x800000 + bool 'FineWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC70, Setter:0xC90110, CRC32:0x2F10BDCE, Flags:0x800000 + bool 'Follow Moon' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC80, Setter:0xB517A0, CRC32:0x7FF81CBD, Flags:0x800000 + bool 'Follow Sun' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DCF0, Setter:0xB517C0, CRC32:0x43834215, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffectExtNoPause vftable:0x1CBDD78, Size:0x3A0, CRC32:0x42006F07 +class uEffectExtNoPause /*: uEffectExt, uEffect, uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x270, Var, CRC32:0x957783C0, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x274, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTime' ; // Offset:0x2A0, Var, CRC32:0xB33C1205, Flags:0x0 + f32 'mFollowSunDist' ; // Offset:0x2DC, Var, CRC32:0x894DF419, Flags:0x0 + vector3 'mEpvPos' ; // Offset:0x310, Var, CRC32:0x2734F0AA, Flags:0x0 + u32 'mRDCFC.mDispCtrlFlag' ; // Offset:0x370, Var, CRC32:0x158F8611, Flags:0x0 + f32 'mRDCFC.mApplicationRate' ; // Offset:0x378, Var, CRC32:0x1C89EC79, Flags:0x0 + vector3 'CorrectColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DAA0, Setter:0xC8FEE0, CRC32:0xFF41A718, Flags:0x800000 + f32 'CorrectColorAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBB0, Setter:0xC8FFE0, CRC32:0xB5530609, Flags:0x800000 + f32 'CorrectColorRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBE0, Setter:0xC90030, CRC32:0xD360EA47, Flags:0x800000 + f32 'CCTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9B0, Setter:0xC8FD10, CRC32:0x87D92FA1, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC50, Setter:0xB4F9D0, CRC32:0x9A6AB9AE, Flags:0x800000 + bool 'mWorkRateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E020, Setter:0xB52CE0, CRC32:0xF30EAB75, Flags:0x800000 + bool 'mHitStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DD90, Setter:0xC90260, CRC32:0xBA37B6B, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + bool 'mParentTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDE0, Setter:0xB52090, CRC32:0x994BABD9, Flags:0x800000 + bool 'mParentBaseModelFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDD0, Setter:0xC88C10, CRC32:0xA30C0A51, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + bool 'Color Update Dist Cancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA80, Setter:0xB4E440, CRC32:0x873D3F1B, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA90, Setter:0xB4E470, CRC32:0x4779AA79, Flags:0x800000 + bool 'Zone Check Generator' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E180, Setter:0xB52D30, CRC32:0x8E6C71D4, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'RainWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE20, Setter:0xC902D0, CRC32:0x5DB4B31F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'CloudyWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9F0, Setter:0xC8FEA0, CRC32:0x11390787, Flags:0x800000 + bool 'FineWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC70, Setter:0xC90110, CRC32:0x2F10BDCE, Flags:0x800000 + bool 'Follow Moon' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC80, Setter:0xB517A0, CRC32:0x7FF81CBD, Flags:0x800000 + bool 'Follow Sun' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DCF0, Setter:0xB517C0, CRC32:0x43834215, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEffectExtWorldOffset vftable:0x1CBDED0, Size:0x3A0, CRC32:0x3B262CEF +class uEffectExtWorldOffset /*: uEffectExt, uEffect, uBaseEffect, uCoord, cUnit, MtObject*/ { + event 'Finish' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD89A11D1, Flags:0xA0000 + event 'Restart' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xD7BBE464, Flags:0xA0000 + event 'Clear' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDB8F21FD, Flags:0xA0000 + event 'KeepHoldOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x660BF4CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + f32 'mGravityCoef' ; // Offset:0x1CC, Var, CRC32:0x1211E451, Flags:0x0 + u32 'mGroupFlag' ; // Offset:0x1D8, Var, CRC32:0xE3AB3B63, Flags:0x0 + u32 'mMaterialFlag' ; // Offset:0x1DC, Var, CRC32:0x50275F62, Flags:0x0 + s32 'mDrawDepthBias' ; // Offset:0x218, Var, CRC32:0x28F40FD8, Flags:0x0 + classref 'mpParentActor' ; // Offset:0x270, Var, CRC32:0x957783C0, Flags:0x0 + u32 'mCustomWorkRateType' ; // Offset:0x274, Var, CRC32:0x117321F, Flags:0x0 + f32 'mColorUpdateTime' ; // Offset:0x2A0, Var, CRC32:0xB33C1205, Flags:0x0 + f32 'mFollowSunDist' ; // Offset:0x2DC, Var, CRC32:0x894DF419, Flags:0x0 + vector3 'mEpvPos' ; // Offset:0x310, Var, CRC32:0x2734F0AA, Flags:0x0 + u32 'mRDCFC.mDispCtrlFlag' ; // Offset:0x370, Var, CRC32:0x158F8611, Flags:0x0 + f32 'mRDCFC.mApplicationRate' ; // Offset:0x378, Var, CRC32:0x1C89EC79, Flags:0x0 + vector3 'CorrectColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DAA0, Setter:0xC8FEE0, CRC32:0xFF41A718, Flags:0x800000 + f32 'CorrectColorAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBB0, Setter:0xC8FFE0, CRC32:0xB5530609, Flags:0x800000 + f32 'CorrectColorRate' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DBE0, Setter:0xC90030, CRC32:0xD360EA47, Flags:0x800000 + f32 'CCTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9B0, Setter:0xC8FD10, CRC32:0x87D92FA1, Flags:0x800000 + f32 'mDeltaTimeCoefEx' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC50, Setter:0xB4F9D0, CRC32:0x9A6AB9AE, Flags:0x800000 + bool 'mWorkRateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E020, Setter:0xB52CE0, CRC32:0xF30EAB75, Flags:0x800000 + bool 'mHitStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DD90, Setter:0xC90260, CRC32:0xBA37B6B, Flags:0x800000 + u32 'mGeneratorBuffSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56D0, Setter:0x15C6D10, CRC32:0xA7E7BE7C, Flags:0x810000 + u32 'mJointMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5730, Setter:0x15C6D10, CRC32:0x8C3E5F20, Flags:0x810000 + u32 'mJointNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4AB80, Setter:0x15C6D10, CRC32:0x8792FF62, Flags:0x810000 + u32 'mGeneratorMoveNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56E0, Setter:0x15C6D10, CRC32:0xD7929C40, Flags:0x810000 + u32 'mGeneratorNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56F0, Setter:0x15C6D10, CRC32:0x97EAB10C, Flags:0x810000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x15C175C, CRC32:0x13994BF0, Flags:0x800000 + bool 'Material'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15C57F0, Setter:0x15C6F40, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x7A37E83C, Flags:0xA20000 + bool 'Group'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xC8DD00, Setter:0xC90230, GetCount:0x15C56C0, Reallocate:0x15C6D10 CRC32:0x53FE943E, Flags:0xA20000 + f32 'mTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E010, Setter:0xC902F0, CRC32:0x2D56858B, Flags:0x800000 + f32 'mWaitFrameCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BC0, Setter:0x15C7D30, CRC32:0xFBA38A92, Flags:0x800000 + u32 'mLightPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57D0, Setter:0xB51AA0, CRC32:0x6FCD337D, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mLifeFrameVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57C0, Setter:0x15C6F20, CRC32:0x8AE06B92, Flags:0x800000 + u32 'mFilterVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56B0, Setter:0x15C6E50, CRC32:0xC70FC941, Flags:0x800000 + u32 'mParticleVolume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AD0, Setter:0x1775CF0, CRC32:0xFDDA108D, Flags:0x800000 + u32 'mExclusionTrait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C56A0, Setter:0x15C6E40, CRC32:0x49FEDA3F, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + vector3 'mDir' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5640, Setter:0x1774E90, CRC32:0x6A50EADF, Flags:0x800000 + vector3 'mOfs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5820, Setter:0x5AC780, CRC32:0x969A2967, Flags:0x800000 + u32 'mChildWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55D0, Setter:0x15C6C90, CRC32:0xFEF9C82D, Flags:0x800000 + u32 'mBoundaryType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5590, Setter:0x15C6C00, CRC32:0xE401BC49, Flags:0x800000 + u32 'mChildLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55C0, Setter:0x15C6C60, CRC32:0x3DA7719F, Flags:0x800000 + u32 'mWaitFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5BB0, Setter:0x15C7D20, CRC32:0xE9836E6, Flags:0x800000 + u32 'mLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57B0, Setter:0x15C6EE0, CRC32:0xCD2A5028, Flags:0x800000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + vector3 'mParticle3DScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C58F0, Setter:0xB520B0, CRC32:0x941243D4, Flags:0x800000 + f32 'mParticleScale' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AC0, Setter:0x15C7270, CRC32:0xA7DC75CE, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + u32 'mEndType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5690, Setter:0x15C6E00, CRC32:0x94E4578E, Flags:0x800000 + u32 'mRelationType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AE0, Setter:0xB52190, CRC32:0x2C684959, Flags:0x800000 + u32 'mAxisType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5550, Setter:0x1774E50, CRC32:0x124B321B, Flags:0x800000 + bool 'mParentTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDE0, Setter:0xB52090, CRC32:0x994BABD9, Flags:0x800000 + bool 'mParentBaseModelFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DDD0, Setter:0xC88C10, CRC32:0xA30C0A51, Flags:0x800000 + u32 'mChildLifeFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55B0, Setter:0x15C6C50, CRC32:0x3D4BAEE3, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'JointUpdateFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5750, Setter:0x15C6EA0, CRC32:0x1E72C4E6, Flags:0x800000 + bool 'ChainResetFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C55A0, Setter:0x15C6C20, CRC32:0xDEAAFFF, Flags:0x800000 + bool 'RestartFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C174D, Setter:0x15C1752, CRC32:0x55ABB394, Flags:0x800000 + bool 'JointFixMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5720, Setter:0x15C6E70, CRC32:0xDB256C4F, Flags:0x800000 + bool 'ParentSymmetryMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5850, Setter:0x15C71F0, CRC32:0x8FFA6F8D, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'SeStopMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE30, Setter:0x15C7380, CRC32:0x8DE004FD, Flags:0x800000 + bool 'ConstUpdateMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5600, Setter:0x15C6CC0, CRC32:0xC1FA95F2, Flags:0x800000 + bool 'UGInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B30, Setter:0x15C7CC0, CRC32:0x44E5F4B4, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 + classref 'mpParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x424480, Setter:0x15C1757, CRC32:0xB6BB810D, Flags:0x900000 + bool 'Color Update Dist Cancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA80, Setter:0xB4E440, CRC32:0x873D3F1B, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + bool 'Color Update' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA90, Setter:0xB4E470, CRC32:0x4779AA79, Flags:0x800000 + bool 'Zone Check Generator' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8E180, Setter:0xB52D30, CRC32:0x8E6C71D4, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'RainWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DE20, Setter:0xC902D0, CRC32:0x5DB4B31F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'CloudyWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8D9F0, Setter:0xC8FEA0, CRC32:0x11390787, Flags:0x800000 + bool 'FineWeatherOff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC70, Setter:0xC90110, CRC32:0x2F10BDCE, Flags:0x800000 + bool 'Follow Moon' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC80, Setter:0xB517A0, CRC32:0x7FF81CBD, Flags:0x800000 + bool 'Follow Sun' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DCF0, Setter:0xB517C0, CRC32:0x43834215, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uEm010202 vftable:0x1CBE720, Size:0x21B0, CRC32:0x70B0B4D0 +class uEm010202 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010210 vftable:0x1CBF3F8, Size:0x21A0, CRC32:0x7A5E4BD +class uEm010210 /*: uEm4Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010221 vftable:0x1CC3A10, Size:0x21B0, CRC32:0x5B8F87E8 +class uEm010221 /*: uEm4Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010303 vftable:0x1CBFC98, Size:0x21C0, CRC32:0x675EE71 +class uEm010303 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010440 vftable:0x1CC0608, Size:0x21B0, CRC32:0x7E5F6C4A +class uEm010440 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010470 vftable:0x1CC0EA0, Size:0x21A0, CRC32:0x55723F89 +class uEm010470 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010471 vftable:0x1CC1738, Size:0x21A0, CRC32:0x22750F1F +class uEm010471 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010480 vftable:0x1CC1FD0, Size:0x21A0, CRC32:0x52EA2346 +class uEm010480 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010482 vftable:0x1CC2868, Size:0x21A0, CRC32:0x3CE4426A +class uEm010482 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm010820 vftable:0x1CC3108, Size:0x21A0, CRC32:0x211F32A8 +class uEm010820 /*: uEmWeak, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm011201 vftable:0x1CC46F0, Size:0x21C0, CRC32:0x5105820F +class uEm011201 /*: uEmFloat, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm011400 vftable:0x1CC50A0, Size:0x21B0, CRC32:0x228FCE2B +class uEm011400 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm011410 vftable:0x1CC5940, Size:0x2230, CRC32:0x3B94FF6A +class uEm011410 /*: uEm2Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm011500 vftable:0x1CC63D0, Size:0x21A0, CRC32:0x234DA41C +class uEm011500 /*: uEm4Leg, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015010 vftable:0x1CC6C68, Size:0x21E0, CRC32:0x33FFC0E1 +class uEm015010 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015033 vftable:0x1CC7500, Size:0x21B0, CRC32:0x18C0F3D9 +class uEm015033 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015050 vftable:0x1CC7DA0, Size:0x21B0, CRC32:0x579305E5 +class uEm015050 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015060 vftable:0x1CC8640, Size:0x21A0, CRC32:0x7CBE5626 +class uEm015060 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015220 vftable:0x1CC9010, Size:0x21A0, CRC32:0x1B56474C +class uEm015220 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015230 vftable:0x1CC9DB8, Size:0x2220, CRC32:0x24D760D +class uEm015230 /*: uEm4LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015330 vftable:0x1CCA9A0, Size:0x21B0, CRC32:0x38F1C3A +class uEm015330 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015400 vftable:0x1CCB800, Size:0x22D0, CRC32:0x2DED597C +class uEm015400 /*: uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015401 vftable:0x1CCC950, Size:0x21B0, CRC32:0x5AEA69EA +class uEm015401 /*: uEmFloat, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015506 vftable:0x1CCD320, Size:0x21A0, CRC32:0x454C967E +class uEm015506 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015508 vftable:0x1CCDBC0, Size:0x21A0, CRC32:0x22F4BB79 +class uEm015508 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015510 vftable:0x1CCE530, Size:0x21A0, CRC32:0x3534020A +class uEm015510 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015603 vftable:0x1CCEEC8, Size:0x21D0, CRC32:0x3760DCA8 +class uEm015603 /*: uEmFloat, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015611 vftable:0x1CCFE80, Size:0x21B0, CRC32:0x40758CC5 +class uEm015611 /*: uEmFloat, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015620 vftable:0x1CD0718, Size:0x21A0, CRC32:0x1C5FEF90 +class uEm015620 /*: uEmFloat, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015717 vftable:0x1CD0FB8, Size:0x21A0, CRC32:0x28D443C7 +class uEm015717 /*: uEm4LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015719 vftable:0x1CD1980, Size:0x21B0, CRC32:0x4F6C6EC0 +class uEm015719 /*: uEm4LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015720 vftable:0x1CD2248, Size:0x2200, CRC32:0x1D9D85A7 +class uEm015720 /*: uEm4LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015730 vftable:0x1CD2B38, Size:0x2240, CRC32:0x486B4E6 +class uEm015730 /*: uEm4LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015821 vftable:0x1CD3A08, Size:0x2200, CRC32:0x61C6F20C +class uEm015821 /*: uEm015821Base, uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015821Base vftable:0x1CD3628, Size:0x21E0, CRC32:0x77F93463 +class uEm015821Base /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015826 vftable:0x1CD3DE8, Size:0x21F0, CRC32:0x7FA267AF +class uEm015826 /*: uEm015821Base, uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015831 vftable:0x1CD46A8, Size:0x21B0, CRC32:0x78DDC34D +class uEm015831 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015835 vftable:0x1CD4A88, Size:0x21B0, CRC32:0x7FB00754 +class uEm015835 /*: uEm015831, uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015850 vftable:0x1CD5398, Size:0x21B0, CRC32:0x5980545D +class uEm015850 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015850Trinity vftable:0x1CD5778, Size:0x21C0, CRC32:0x4480F5B0 +class uEm015850Trinity /*: uEm015850, uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015860 vftable:0x1CD6040, Size:0x21C0, CRC32:0x72AD079E +class uEm015860 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015861 vftable:0x1CD6998, Size:0x21E0, CRC32:0x5AA3708 +class uEm015861 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015862 vftable:0x1CD7230, Size:0x21E0, CRC32:0x1CA366B2 +class uEm015862 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015863 vftable:0x1CD7B48, Size:0x2290, CRC32:0x6BA45624 +class uEm015863 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015870 vftable:0x1CD8FD0, Size:0x21A0, CRC32:0x6BB636DF +class uEm015870 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm015921 vftable:0x1CD9868, Size:0x21A0, CRC32:0x6004983B +class uEm015921 /*: uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020600Base vftable:0x1CDA9A0, Size:0x2360, CRC32:0x2603F524 +class uEm020600Base /*: uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020601 vftable:0x1CDA108, Size:0x21A0, CRC32:0x29103766 +class uEm020601 /*: uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020602 vftable:0x1CDAD90, Size:0x23C0, CRC32:0x301966DC +class uEm020602 /*: uEm020600Base, uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020700 vftable:0x1CDBE50, Size:0x21E0, CRC32:0x5FD56DC7 +class uEm020700 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020702 vftable:0x1CDC230, Size:0x2210, CRC32:0x31DB0CEB +class uEm020702 /*: uEm020700, uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020803 vftable:0x1CDD8B0, Size:0x21E0, CRC32:0x4D807B40 +class uEm020803 /*: uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm020804 vftable:0x1CDE540, Size:0x21E0, CRC32:0x53E4EEE3 +class uEm020804 /*: uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm021004 vftable:0x1CDF968, Size:0x21E0, CRC32:0x654BD83E +class uEm021004 /*: uEm4LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm022000 vftable:0x1CE0230, Size:0x21C0, CRC32:0x7093B3C9 +class uEm022000 /*: uEm4LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm023000 vftable:0x1CE17E8, Size:0x2460, CRC32:0x482FD4AC +class uEm023000 /*: uEm4LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm023000::cEm023000EffectSeControl vftable:0x1CE17D4, Size:0x30, CRC32:0x13F7FF59 +class uEm023000::cEm023000EffectSeControl /*: MtObject*/ { +}; + +// uEm024000 vftable:0x1CE2C80, Size:0x2420, CRC32:0x55F8EC15 +class uEm024000 /*: uEm4LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030104 vftable:0x1CE09F0, Size:0x21C0, CRC32:0x6155FCDC +class uEm030104 /*: uEmOmSpiritDragon, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030105 vftable:0x1CE0DD0, Size:0x21E0, CRC32:0x1652CC4A +class uEm030105 /*: uEmOmSpiritDragon, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030106 vftable:0x1CDEBF0, Size:0x21B0, CRC32:0xF5B9DF0 +class uEm030106 /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030107 vftable:0x1CF0690, Size:0x2210, CRC32:0x785CAD66 +class uEm030107 /*: uEmPhoenixDragonOm, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030108 vftable:0x1CF0A70, Size:0x21E0, CRC32:0x68E3B0F7 +class uEm030108 /*: uEmPhoenixDragonOm, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030109 vftable:0x1CF1050, Size:0x2200, CRC32:0x1FE48061 +class uEm030109 /*: uEmPhoenixDragonOm, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030110 vftable:0x1CE3DA0, Size:0x21D0, CRC32:0x7F230984 +class uEm030110 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030111 vftable:0x1CE46E0, Size:0x2250, CRC32:0x8243912 +class uEm030111 /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030112 vftable:0x1CE56C8, Size:0x2210, CRC32:0x112D68A8 +class uEm030112 /*: uEmDarkRimStone, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030113 vftable:0x1CE5AA8, Size:0x2210, CRC32:0x662A583E +class uEm030113 /*: uEmDarkRimStone, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030114 vftable:0x1CE6858, Size:0x2210, CRC32:0x784ECD9D +class uEm030114 /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030115 vftable:0x1CE5E88, Size:0x2210, CRC32:0xF49FD0B +class uEm030115 /*: uEmDarkRimStone, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030116 vftable:0x1CEDF48, Size:0x2210, CRC32:0x1640ACB1 +class uEm030116 /*: uEmBlackDragonOm, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030117 vftable:0x1CEE328, Size:0x22B0, CRC32:0x61479C27 +class uEm030117 /*: uEmBlackDragonOm, uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm030118 vftable:0x1CE70F8, Size:0x21D0, CRC32:0x71F881B6 +class uEm030118 /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm071250 vftable:0x1CD83D0, Size:0x21D0, CRC32:0x5435B37C +class uEm071250 /*: uEm2LegL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm071311 vftable:0x1CDB180, Size:0x2360, CRC32:0x469C2CD9 +class uEm071311 /*: uEm020600Base, uEm2LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm075300 vftable:0x1CE7DD0, Size:0x21B0, CRC32:0x27E2BA59 +class uEm075300 /*: uEm2LegFlyS, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm075400 vftable:0x1CE8798, Size:0x21D0, CRC32:0x22ADACDC +class uEm075400 /*: uEm4LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm075700 vftable:0x1CE9410, Size:0x21A0, CRC32:0x20EB1285 +class uEm075700 /*: uEmFloat, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm079000 vftable:0x1CEA080, Size:0x21B0, CRC32:0x6F72BBB8 +class uEm079000 /*: uHateEnemy, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm080101 vftable:0x1CEA920, Size:0x21B0, CRC32:0x66EF3942 +class uEm080101 /*: uEm4LegFlyL, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm2Leg vftable:0x1CEB240, Size:0x21A0, CRC32:0xA0AD8B9 +class uEm2Leg /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm2LegFlyL vftable:0x1CCB420, Size:0x21A0, CRC32:0x7FF9EAD +class uEm2LegFlyL /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm2LegFlyS vftable:0x1CE79F0, Size:0x21A0, CRC32:0xAF79358 +class uEm2LegFlyS /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm2LegL vftable:0x1CEC470, Size:0x21A0, CRC32:0x4DDD0C4B +class uEm2LegL /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm4Leg vftable:0x1CBF018, Size:0x21A0, CRC32:0x2F618765 +class uEm4Leg /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm4LegFlyL vftable:0x1CDF588, Size:0x21A0, CRC32:0x4190972A +class uEm4LegFlyL /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEm4LegL vftable:0x1CC99D8, Size:0x21A0, CRC32:0x429DF9EB +class uEm4LegL /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmBlackDragonOm vftable:0x1CEDB68, Size:0x21B0, CRC32:0x2A61395D +class uEmBlackDragonOm /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmFloat vftable:0x1CC4310, Size:0x21A0, CRC32:0x12727FB4 +class uEmFloat /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmOm vftable:0x1CEF170, Size:0x21A0, CRC32:0x20C8D90E +class uEmOm /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmOmSpiritDragon vftable:0x1CE0610, Size:0x21B0, CRC32:0x12BA15F6 +class uEmOmSpiritDragon /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmPeace vftable:0x1CEFA10, Size:0x21A0, CRC32:0x52C23D66 +class uEmPeace /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmPhoenixDragonOm vftable:0x1CF02B0, Size:0x21B0, CRC32:0x3BA5244B +class uEmPhoenixDragonOm /*: uEmOm, uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEmWeak vftable:0x1CF1B08, Size:0x21A0, CRC32:0x5CB42BC8 +class uEmWeak /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uEventPrioInfiniteLight vftable:0x1D67020, Size:0x410, CRC32:0x137B1C57 +class uEventPrioInfiniteLight /*: uInfiniteLightExt, uInfiniteLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + class 'mBind' ; // Offset:0x3E0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFSMTask vftable:0x1CF3308, Size:0x48, CRC32:0x20C7B287 +class uFSMTask /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpCore' ; // Offset:0x44, Var, CRC32:0xE97E577A, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFade vftable:0x1CF2CC0, Size:0x58, CRC32:0x43CCFADF +class uFade /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFishEyeFilter vftable:0x20BF0E0, Size:0x58, CRC32:0x7AD567B0 +class uFishEyeFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + f32 'mCurvature' ; // Offset:0x54, Var, CRC32:0xAFABDA8F, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFreeCamera vftable:0x20CB7E8, Size:0xE0, CRC32:0x1A0BAB1B +class uFreeCamera /*: uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + classref 'mpParent' ; // Offset:0xA0, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0xA4, Var, CRC32:0xE0F3333C, Flags:0x0 + classref 'mpTarget' ; // Offset:0xA8, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mTargetNo' ; // Offset:0xAC, Var, CRC32:0xC978E9A7, Flags:0x0 + s32 'mControlPad' ; // Offset:0xB0, Var, CRC32:0x52D4F4B1, Flags:0x0 + vector3 'mControlSpeed' ; // Offset:0xC0, Var, CRC32:0xBB9CE196, Flags:0x0 + bool 'mPadControl' ; // Offset:0xD0, Var, CRC32:0x169FE26B, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFullbodyIKHuman2 vftable:0x20D0958, Size:0x9750, CRC32:0x4E016D53 +class uFullbodyIKHuman2 /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mRArm' ; // Offset:0x34D0, Var, CRC32:0x66299D51, Flags:0x20000 + class 'mLArm' ; // Offset:0x4280, Var, CRC32:0xD6EFBDFD, Flags:0x20000 + class 'mRLeg' ; // Offset:0x5030, Var, CRC32:0x8BA7638A, Flags:0x20000 + class 'mLLeg' ; // Offset:0x5DE0, Var, CRC32:0x3B614326, Flags:0x20000 + class 'mLookAt' ; // Offset:0x79E0, Var, CRC32:0x72C72FDA, Flags:0x20000 + u32 'mPri' ; // Offset:0x7A90, Var, CRC32:0x522CE305, Flags:0x8000000 + u32 'mIteration' ; // Offset:0x7A94, Var, CRC32:0xB2455F59, Flags:0x8000000 + f32 'mSpineHandleLength' ; // Offset:0x7A98, Var, CRC32:0xAAF44279, Flags:0x8000000 + f32 'mUpperBodyRotRate' ; // Offset:0x7A9C, Var, CRC32:0xD1AD1926, Flags:0x8000000 + f32 'mUpperBodyTransRate' ; // Offset:0x7AA0, Var, CRC32:0x9BB4667F, Flags:0x8000000 + f32 'mUpperBodySyncRate' ; // Offset:0x7AA4, Var, CRC32:0xB206B156, Flags:0x8000000 + f32 'mLowerBodyRotRate' ; // Offset:0x7AA8, Var, CRC32:0x9FD6DF74, Flags:0x8000000 + f32 'mLowerBodyTransRate' ; // Offset:0x7AAC, Var, CRC32:0x613E7057, Flags:0x8000000 + f32 'mLowerBodySyncRate' ; // Offset:0x7AB0, Var, CRC32:0x372DFA48, Flags:0x8000000 + f32 'mHeadLookAtRate' ; // Offset:0x7AB4, Var, CRC32:0xB5305D2E, Flags:0x8000000 + f32 'mUpperBodyLookAtRate' ; // Offset:0x7AB8, Var, CRC32:0x7F247D75, Flags:0x8000000 + f32 'mLowerBodyLookAtRate' ; // Offset:0x7ABC, Var, CRC32:0x4A6B5F99, Flags:0x8000000 + f32 'mWaistHeightLimit' ; // Offset:0x7AC0, Var, CRC32:0xBAE35A03, Flags:0x8000000 + f32 'mRCollarRotBlend' ; // Offset:0x7F54, Var, CRC32:0xD0DD7CAC, Flags:0x0 + f32 'mLCollarRotBlend' ; // Offset:0x7F58, Var, CRC32:0x79CCFB96, Flags:0x0 + f32 'mRCollarUpBlend' ; // Offset:0x7F5C, Var, CRC32:0xE8314B30, Flags:0x0 + f32 'mRCollarDownBlend' ; // Offset:0x7F60, Var, CRC32:0xFE70AA51, Flags:0x0 + f32 'mRCollarFrontBlend' ; // Offset:0x7F64, Var, CRC32:0x8709D638, Flags:0x0 + f32 'mRCollarBackBlend' ; // Offset:0x7F68, Var, CRC32:0x5BBCE887, Flags:0x0 + f32 'mLCollarUpBlend' ; // Offset:0x7F6C, Var, CRC32:0x451822DC, Flags:0x0 + f32 'mLCollarDownBlend' ; // Offset:0x7F70, Var, CRC32:0x38D56264, Flags:0x0 + f32 'mLCollarFrontBlend' ; // Offset:0x7F74, Var, CRC32:0xD17CB7D3, Flags:0x0 + f32 'mLCollarBackBlend' ; // Offset:0x7F78, Var, CRC32:0x9D1920B2, Flags:0x0 + bool 'mUseSpineRot' ; // Offset:0x7F7C, Var, CRC32:0xD8415372, Flags:0x0 + f32 'mSpineUpperRotRate' ; // Offset:0x7F80, Var, CRC32:0x61AB2601, Flags:0x0 + f32 'mSpine0RotRate' ; // Offset:0x7F84, Var, CRC32:0xEDC7E4EC, Flags:0x0 + f32 'mSpine1RotRate' ; // Offset:0x7F88, Var, CRC32:0x216DE472, Flags:0x0 + f32 'mSpine2RotRate' ; // Offset:0x7F8C, Var, CRC32:0xAFE2E391, Flags:0x0 + f32 'mSpine3RotRate' ; // Offset:0x7F90, Var, CRC32:0x6348E30F, Flags:0x0 + f32 'mSpine4RotRate' ; // Offset:0x7F94, Var, CRC32:0x698DEA16, Flags:0x0 + bool 'mLookAtWorldCoordRot' ; // Offset:0x7F98, Var, CRC32:0xF3CEE4E, Flags:0x0 + u32 'mState' ; // Offset:0x9740, Var, CRC32:0x5E27483A, Flags:0x10000 + bool 'mUpdateTargetModel' ; // Offset:0x9744, Var, CRC32:0x9505D28C, Flags:0x8000000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'JointAssign'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x17674C0, Setter:0x176F040, GetCount:0x17674E0, Reallocate:0x176F050 CRC32:0x69B92CFF, Flags:0xA10000 + classref 'EffectorJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1767530, Setter:0x176F640, GetCount:0x1767590, Reallocate:0x176F650 CRC32:0xF41FD7B1, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17679A0, Setter:0x176F6E0, CRC32:0xE80A92B5, Flags:0x800000 + classref 'mpTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17679B0, Setter:0x176F930, CRC32:0xF66C87E5, Flags:0x900000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uFullbodyIKHuman2::Node vftable:0x20D0804, Size:0x100, CRC32:0x63791281 +class uFullbodyIKHuman2::Node /*: MtObject*/ { + f32 'mBlend' ; // Offset:0x4, Var, CRC32:0x5629EBE9, Flags:0x0 + matrix44 'mEff' ; // Offset:0x10, Var, CRC32:0xF6D0485A, Flags:0x0 + matrix44 'mWMat' ; // Offset:0x50, Var, CRC32:0x5D697D55, Flags:0x0 + matrix44 'mOrgMat' ; // Offset:0x90, Var, CRC32:0xD33858, Flags:0x0 + vector3 'mEffOffset' ; // Offset:0xD0, Var, CRC32:0xBDEFE0A7, Flags:0x0 + classref 'mpEffTgtModel' ; // Offset:0xE0, Var, CRC32:0x1639D15D, Flags:0x100000 + u32 'mEffTgtJntNo' ; // Offset:0xE4, Var, CRC32:0x4033B354, Flags:0x0 + f32 'mResist' ; // Offset:0xE8, Var, CRC32:0xF5903CA8, Flags:0x0 + bool 'mActive' ; // Offset:0xEC, Var, CRC32:0x75825533, Flags:0x0 + bool 'mRotate' ; // Offset:0xED, Var, CRC32:0x915FB3D, Flags:0x0 + bool 'mEffTgtAlign' ; // Offset:0xEE, Var, CRC32:0xBA55D590, Flags:0x0 + bool 'mAssigned' ; // Offset:0xEF, Var, CRC32:0x2314FC07, Flags:0x10000 + u32 'mJntNo' ; // Offset:0xF0, Var, CRC32:0xD3E25CCE, Flags:0x10000 + u32 'mFBIKJntNo' ; // Offset:0xF4, Var, CRC32:0x63E57347, Flags:0x10000 +}; + +// uFullbodyIKHuman2::uCnsFBIKMatrix vftable:0x20D0820, Size:0xE0, CRC32:0x3EADFECC +class uFullbodyIKHuman2::uCnsFBIKMatrix /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mJoint' ; // Offset:0x7C, Var, CRC32:0x6041E6C6, Flags:0x10000 + matrix44 'mMat' ; // Offset:0x80, Var, CRC32:0x443BFE6D, Flags:0x0 + u32 'mFBIKJntNo' ; // Offset:0xD4, Var, CRC32:0x63E57347, Flags:0x10000 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1767840, Setter:0x176F660, CRC32:0xA3CBACFC, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFullbodyIKHuman2::uCnsUpVectorCalc vftable:0x20D08C0, Size:0x88, CRC32:0x5BDC45C8 +class uFullbodyIKHuman2::uCnsUpVectorCalc /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mJoint' ; // Offset:0x78, Var, CRC32:0x6041E6C6, Flags:0x10000 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1767850, Setter:0x176F690, CRC32:0xA3CBACFC, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFullbodyIKHumanDDO vftable:0x1CF34F0, Size:0x9750, CRC32:0x9F9F91 +class uFullbodyIKHumanDDO /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + class 'mRArm' ; // Offset:0x34D0, Var, CRC32:0x66299D51, Flags:0x20000 + class 'mLArm' ; // Offset:0x4280, Var, CRC32:0xD6EFBDFD, Flags:0x20000 + class 'mRLeg' ; // Offset:0x5030, Var, CRC32:0x8BA7638A, Flags:0x20000 + class 'mLLeg' ; // Offset:0x5DE0, Var, CRC32:0x3B614326, Flags:0x20000 + class 'mLookAt' ; // Offset:0x79E0, Var, CRC32:0x72C72FDA, Flags:0x20000 + u32 'mPri' ; // Offset:0x7A90, Var, CRC32:0x522CE305, Flags:0x8000000 + u32 'mIteration' ; // Offset:0x7A94, Var, CRC32:0xB2455F59, Flags:0x8000000 + f32 'mSpineHandleLength' ; // Offset:0x7A98, Var, CRC32:0xAAF44279, Flags:0x8000000 + f32 'mUpperBodyRotRate' ; // Offset:0x7A9C, Var, CRC32:0xD1AD1926, Flags:0x8000000 + f32 'mUpperBodyTransRate' ; // Offset:0x7AA0, Var, CRC32:0x9BB4667F, Flags:0x8000000 + f32 'mUpperBodySyncRate' ; // Offset:0x7AA4, Var, CRC32:0xB206B156, Flags:0x8000000 + f32 'mLowerBodyRotRate' ; // Offset:0x7AA8, Var, CRC32:0x9FD6DF74, Flags:0x8000000 + f32 'mLowerBodyTransRate' ; // Offset:0x7AAC, Var, CRC32:0x613E7057, Flags:0x8000000 + f32 'mLowerBodySyncRate' ; // Offset:0x7AB0, Var, CRC32:0x372DFA48, Flags:0x8000000 + f32 'mHeadLookAtRate' ; // Offset:0x7AB4, Var, CRC32:0xB5305D2E, Flags:0x8000000 + f32 'mUpperBodyLookAtRate' ; // Offset:0x7AB8, Var, CRC32:0x7F247D75, Flags:0x8000000 + f32 'mLowerBodyLookAtRate' ; // Offset:0x7ABC, Var, CRC32:0x4A6B5F99, Flags:0x8000000 + f32 'mWaistHeightLimit' ; // Offset:0x7AC0, Var, CRC32:0xBAE35A03, Flags:0x8000000 + f32 'mRCollarRotBlend' ; // Offset:0x7F54, Var, CRC32:0xD0DD7CAC, Flags:0x0 + f32 'mLCollarRotBlend' ; // Offset:0x7F58, Var, CRC32:0x79CCFB96, Flags:0x0 + f32 'mRCollarUpBlend' ; // Offset:0x7F5C, Var, CRC32:0xE8314B30, Flags:0x0 + f32 'mRCollarDownBlend' ; // Offset:0x7F60, Var, CRC32:0xFE70AA51, Flags:0x0 + f32 'mRCollarFrontBlend' ; // Offset:0x7F64, Var, CRC32:0x8709D638, Flags:0x0 + f32 'mRCollarBackBlend' ; // Offset:0x7F68, Var, CRC32:0x5BBCE887, Flags:0x0 + f32 'mLCollarUpBlend' ; // Offset:0x7F6C, Var, CRC32:0x451822DC, Flags:0x0 + f32 'mLCollarDownBlend' ; // Offset:0x7F70, Var, CRC32:0x38D56264, Flags:0x0 + f32 'mLCollarFrontBlend' ; // Offset:0x7F74, Var, CRC32:0xD17CB7D3, Flags:0x0 + f32 'mLCollarBackBlend' ; // Offset:0x7F78, Var, CRC32:0x9D1920B2, Flags:0x0 + bool 'mUseSpineRot' ; // Offset:0x7F7C, Var, CRC32:0xD8415372, Flags:0x0 + f32 'mSpineUpperRotRate' ; // Offset:0x7F80, Var, CRC32:0x61AB2601, Flags:0x0 + f32 'mSpine0RotRate' ; // Offset:0x7F84, Var, CRC32:0xEDC7E4EC, Flags:0x0 + f32 'mSpine1RotRate' ; // Offset:0x7F88, Var, CRC32:0x216DE472, Flags:0x0 + f32 'mSpine2RotRate' ; // Offset:0x7F8C, Var, CRC32:0xAFE2E391, Flags:0x0 + f32 'mSpine3RotRate' ; // Offset:0x7F90, Var, CRC32:0x6348E30F, Flags:0x0 + f32 'mSpine4RotRate' ; // Offset:0x7F94, Var, CRC32:0x698DEA16, Flags:0x0 + bool 'mLookAtWorldCoordRot' ; // Offset:0x7F98, Var, CRC32:0xF3CEE4E, Flags:0x0 + u32 'mState' ; // Offset:0x9740, Var, CRC32:0x5E27483A, Flags:0x10000 + bool 'mUpdateTargetModel' ; // Offset:0x9744, Var, CRC32:0x9505D28C, Flags:0x8000000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'JointAssign'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xD20700, Setter:0xD27E60, GetCount:0xD20730, Reallocate:0xD27E70 CRC32:0x69B92CFF, Flags:0xA10000 + classref 'EffectorJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0xD20780, Setter:0xD28530, GetCount:0xD207E0, Reallocate:0xD28540 CRC32:0xF41FD7B1, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x91B6A0, Setter:0xD28670, CRC32:0xE80A92B5, Flags:0x800000 + classref 'mpTargetModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20C10, Setter:0xD288C0, CRC32:0xF66C87E5, Flags:0x900000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uFullbodyIKHumanDDO::Node vftable:0x1CF339C, Size:0x100, CRC32:0x4B0383DE +class uFullbodyIKHumanDDO::Node /*: MtObject*/ { + f32 'mBlend' ; // Offset:0x4, Var, CRC32:0x5629EBE9, Flags:0x0 + matrix44 'mEff' ; // Offset:0x10, Var, CRC32:0xF6D0485A, Flags:0x0 + matrix44 'mWMat' ; // Offset:0x50, Var, CRC32:0x5D697D55, Flags:0x0 + matrix44 'mOrgMat' ; // Offset:0x90, Var, CRC32:0xD33858, Flags:0x0 + vector3 'mEffOffset' ; // Offset:0xD0, Var, CRC32:0xBDEFE0A7, Flags:0x0 + classref 'mpEffTgtModel' ; // Offset:0xE0, Var, CRC32:0x1639D15D, Flags:0x100000 + u32 'mEffTgtJntNo' ; // Offset:0xE4, Var, CRC32:0x4033B354, Flags:0x0 + f32 'mResist' ; // Offset:0xE8, Var, CRC32:0xF5903CA8, Flags:0x0 + bool 'mActive' ; // Offset:0xEC, Var, CRC32:0x75825533, Flags:0x0 + bool 'mRotate' ; // Offset:0xED, Var, CRC32:0x915FB3D, Flags:0x0 + bool 'mEffTgtAlign' ; // Offset:0xEE, Var, CRC32:0xBA55D590, Flags:0x0 + bool 'mAssigned' ; // Offset:0xEF, Var, CRC32:0x2314FC07, Flags:0x10000 + u32 'mJntNo' ; // Offset:0xF0, Var, CRC32:0xD3E25CCE, Flags:0x10000 + u32 'mFBIKJntNo' ; // Offset:0xF4, Var, CRC32:0x63E57347, Flags:0x10000 +}; + +// uFullbodyIKHumanDDO::uCnsFBIKMatrix vftable:0x1CF33B8, Size:0xE0, CRC32:0x62886525 +class uFullbodyIKHumanDDO::uCnsFBIKMatrix /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mJoint' ; // Offset:0x7C, Var, CRC32:0x6041E6C6, Flags:0x10000 + matrix44 'mMat' ; // Offset:0x80, Var, CRC32:0x443BFE6D, Flags:0x0 + u32 'mFBIKJntNo' ; // Offset:0xD4, Var, CRC32:0x63E57347, Flags:0x10000 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20AA0, Setter:0xD28550, CRC32:0xA3CBACFC, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uFullbodyIKHumanDDO::uCnsUpVectorCalc vftable:0x1CF3458, Size:0x88, CRC32:0x33BD9B84 +class uFullbodyIKHumanDDO::uCnsUpVectorCalc /*: uConstraint, cUnit, MtObject*/ { + event 'update' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x67DACA87, Flags:0xA0000 + event 'remove' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x977FE2CF, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpPrevCns' ; // Offset:0x48, Var, CRC32:0x229D0B04, Flags:0x130000 + classref 'mpNextCns' ; // Offset:0x4C, Var, CRC32:0x39D6450C, Flags:0x130000 + classref 'mpParentJnt' ; // Offset:0x50, Var, CRC32:0xA7E8ABF1, Flags:0x130000 + f32 'mBlendWeight' ; // Offset:0x54, Var, CRC32:0x6AE7FFE6, Flags:0x10000 + u32 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x0 + f32 'mBlendSpeed' ; // Offset:0x68, Var, CRC32:0xF702C2C5, Flags:0x0 + f32 'mBlend' ; // Offset:0x6C, Var, CRC32:0x5629EBE9, Flags:0x0 + bool 'mEnable' ; // Offset:0x71, Var, CRC32:0xCD3C6103, Flags:0x0 + u32 'mJoint' ; // Offset:0x78, Var, CRC32:0x6041E6C6, Flags:0x10000 + s32 'Joint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20AB0, Setter:0xD28580, CRC32:0xA3CBACFC, Flags:0x800000 + classref 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1771578, Setter:0x1771580, CRC32:0x53A6AAA5, Flags:0x900000 + u32 'Pri' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD20BE0, Setter:0x1771569, CRC32:0x4565CAD5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUI vftable:0x20C5520, Size:0x340, CRC32:0x3F43BB2D +class uGUI /*: uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAchievement vftable:0x1CF3EF0, Size:0x1F30, CRC32:0x7B848DC7 +class uGUIAchievement /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAchievement::cCateInfo vftable:0x1CF3E80, Size:0x28, CRC32:0x53662AD5 +class uGUIAchievement::cCateInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAchievement::cCateItem vftable:0x1CF3E64, Size:0x40, CRC32:0x7F43E9C +class uGUIAchievement::cCateItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIAchievement::cListInfo vftable:0x1CF3EC0, Size:0x48, CRC32:0x792CF894 +class uGUIAchievement::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAchievement::cListItem vftable:0x1CF3EA4, Size:0x1C0, CRC32:0x2DBEECDD +class uGUIAchievement::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIActionPalette vftable:0x1CF47E8, Size:0x20C0, CRC32:0x282D3547 +class uGUIActionPalette /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAdvGuide vftable:0x1CF5348, Size:0x44F0, CRC32:0x6074603D +class uGUIAdvGuide /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAdvGuide::cDetailInfo vftable:0x1CF5314, Size:0x2C, CRC32:0x40AD5FAC +class uGUIAdvGuide::cDetailInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAdvGuide::cListInfo vftable:0x1CF52F0, Size:0x24, CRC32:0x34402A80 +class uGUIAdvGuide::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAdvGuide::cListItem vftable:0x1CF52D4, Size:0xD0, CRC32:0x60D23EC9 +class uGUIAdvGuide::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIAim vftable:0x1CF5B40, Size:0xB40, CRC32:0x2E159829 +class uGUIAim /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAnnounce vftable:0x1CF61A0, Size:0x960, CRC32:0x103E5B02 +class uGUIAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAreaMaster vftable:0x1CF69A8, Size:0x6DC0, CRC32:0x82BAF95 +class uGUIAreaMaster /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIAreaMaster::cDetailInfo vftable:0x1CF68E0, Size:0x30, CRC32:0x2FCC824 +class uGUIAreaMaster::cDetailInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cListInfo vftable:0x1CF687C, Size:0x60, CRC32:0x58AF1108 +class uGUIAreaMaster::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cListItem vftable:0x1CF6844, Size:0x80, CRC32:0xC3D0541 +class uGUIAreaMaster::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cPawnListItem vftable:0x1CF6860, Size:0x44, CRC32:0x40AAE188 +class uGUIAreaMaster::cPawnListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cPointInfo vftable:0x1CF68BC, Size:0x30, CRC32:0x5730034 +class uGUIAreaMaster::cPointInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cPointItem vftable:0x1CF68A0, Size:0xD8, CRC32:0x51E1147D +class uGUIAreaMaster::cPointItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cSuppliesHeaderInfo vftable:0x1CF6920, Size:0x28, CRC32:0x3C292FB5 +class uGUIAreaMaster::cSuppliesHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cSuppliesHeaderItem vftable:0x1CF6904, Size:0x40, CRC32:0x68BB3BFC +class uGUIAreaMaster::cSuppliesHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cSuppliesInfo vftable:0x1CF6960, Size:0x28, CRC32:0x658E4D22 +class uGUIAreaMaster::cSuppliesInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIAreaMaster::cSuppliesItem vftable:0x1CF6944, Size:0x180, CRC32:0x311C596B +class uGUIAreaMaster::cSuppliesItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCard vftable:0x1CF7538, Size:0x4F90, CRC32:0x5DFB8F4A +class uGUIArisenCard /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIArisenCard::cPawnPriorityAction vftable:0x1CF7520, Size:0x8, CRC32:0x1F6F3A20 +class uGUIArisenCard::cPawnPriorityAction /*: cUIObject, MtObject*/ { +}; + +// uGUIArisenCard::cScrollAbilityList vftable:0x1CF74FC, Size:0x30, CRC32:0x65149390 +class uGUIArisenCard::cScrollAbilityList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCard::cScrollDispAbilityList vftable:0x1CF74E0, Size:0xB0, CRC32:0x245C0061 +class uGUIArisenCard::cScrollDispAbilityList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCard::cScrollDispSkillList vftable:0x1CF74A0, Size:0xB0, CRC32:0x5CEB7F43 +class uGUIArisenCard::cScrollDispSkillList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCard::cScrollHistoryDispList vftable:0x1CF7460, Size:0x60, CRC32:0x7ADDE98 +class uGUIArisenCard::cScrollHistoryDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCard::cScrollHistoryInfoList vftable:0x1CF747C, Size:0x30, CRC32:0x68A466BC +class uGUIArisenCard::cScrollHistoryInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCard::cScrollSkillList vftable:0x1CF74BC, Size:0x34, CRC32:0xB78D93A +class uGUIArisenCard::cScrollSkillList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCardPop vftable:0x1CF7F98, Size:0x20F0, CRC32:0x35A58F3F +class uGUIArisenCardPop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIArisenCardPop::cScrollDispList vftable:0x1CF7F60, Size:0x3C, CRC32:0x3A408DD6 +class uGUIArisenCardPop::cScrollDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCardPop::cScrollListInfo vftable:0x1CF7F7C, Size:0x28, CRC32:0x1364F9EC +class uGUIArisenCardPop::cScrollListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIArisenCardPopPawn vftable:0x1CF8670, Size:0xBA0, CRC32:0xF8E351E +class uGUIArisenCardPopPawn /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBase vftable:0x1CF9E88, Size:0x7D0, CRC32:0x37A3D9AA +class uGUIBase /*: uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBase::cAdjustableWindow vftable:0x1CF8DD0, Size:0x60, CRC32:0x1E190CBE +class uGUIBase::cAdjustableWindow /*: uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cInterpolationValue vftable:0x1CF8DEC, Size:0x24, CRC32:0x4BB4E504 +class uGUIBase::cInterpolationValue /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUIBase vftable:0x1CF7378, Size:0x38, CRC32:0xBB605EC +class uGUIBase::cReferenceUIBase /*: uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIBtnGuide vftable:0x1CF3DF8, Size:0x68, CRC32:0x44962AC0 +class uGUIBase::cReferenceUIBtnGuide /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIBtnGuide::cWork vftable:0x1CF95E8, Size:0x14C, CRC32:0x5426FE9 +class uGUIBase::cReferenceUIBtnGuide::cWork /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUIButton vftable:0x1CF9670, Size:0x160, CRC32:0x5F9D3852 +class uGUIBase::cReferenceUIButton /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIButton2 vftable:0x1CF96C8, Size:0x160, CRC32:0x4D6DFC60 +class uGUIBase::cReferenceUIButton2 /*: uGUIBase::cReferenceUIButton, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIChargesInfo vftable:0x1CF8F58, Size:0xD8, CRC32:0x1A640079 +class uGUIBase::cReferenceUIChargesInfo /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIChargesInfo::cData vftable:0x1CF8F30, Size:0x20, CRC32:0x7103A385 +class uGUIBase::cReferenceUIChargesInfo::cData /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUICheckList vftable:0x1CF98F0, Size:0x438, CRC32:0x32619229 +class uGUIBase::cReferenceUICheckList /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUICheckListForClan vftable:0x1CF9948, Size:0x460, CRC32:0x3710389D +class uGUIBase::cReferenceUICheckListForClan /*: uGUIBase::cReferenceUICheckList, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUICheckbox vftable:0x1CF9558, Size:0x40, CRC32:0x4AA5DFBC +class uGUIBase::cReferenceUICheckbox /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIClanEmblem vftable:0x1CF73C0, Size:0x148, CRC32:0x1B57F883 +class uGUIBase::cReferenceUIClanEmblem /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUICloseBtn vftable:0x1CF9770, Size:0x40, CRC32:0x7AE10053 +class uGUIBase::cReferenceUICloseBtn /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIEditBtn vftable:0x1CF9860, Size:0x40, CRC32:0x3A557254 +class uGUIBase::cReferenceUIEditBtn /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIEditSlider vftable:0x1CF9AD8, Size:0xD0, CRC32:0x12FE193 +class uGUIBase::cReferenceUIEditSlider /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIGammaBoard vftable:0x1CF94C8, Size:0x50, CRC32:0x5CF53835 +class uGUIBase::cReferenceUIGammaBoard /**/ { +}; + +// uGUIBase::cReferenceUIIconButton vftable:0x1CF9B30, Size:0x58, CRC32:0xF721AE9 +class uGUIBase::cReferenceUIIconButton /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconClanTitle vftable:0x1CF9478, Size:0x38, CRC32:0x277F6DE2 +class uGUIBase::cReferenceUIIconClanTitle /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconComm vftable:0x1CF93D8, Size:0x38, CRC32:0x32DCE2B2 +class uGUIBase::cReferenceUIIconComm /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconCraftLv vftable:0x1CF91A8, Size:0x40, CRC32:0x3E1C4A94 +class uGUIBase::cReferenceUIIconCraftLv /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconDragonSkill vftable:0x1CF9DF8, Size:0x50, CRC32:0xD596E06 +class uGUIBase::cReferenceUIIconDragonSkill /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconEquip vftable:0x1CF9008, Size:0x150, CRC32:0x3C079DBE +class uGUIBase::cReferenceUIIconEquip /*: uGUIBase::cReferenceUIIconItem, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconFriend vftable:0x1CF9BD0, Size:0x38, CRC32:0x609A1AB5 +class uGUIBase::cReferenceUIIconFriend /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconGameMenu vftable:0x1CF9388, Size:0x38, CRC32:0xD89AEBB +class uGUIBase::cReferenceUIIconGameMenu /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconItem vftable:0x1CF8FA8, Size:0x140, CRC32:0x5CBC44F +class uGUIBase::cReferenceUIIconItem /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconItemCharges vftable:0x1CF9068, Size:0x220, CRC32:0x791FC632 +class uGUIBase::cReferenceUIIconItemCharges /*: uGUIBase::cReferenceUIIconItem, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconJob vftable:0x1CF90C8, Size:0x40, CRC32:0x7E87BCCA +class uGUIBase::cReferenceUIIconJob /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconOnlineStatus vftable:0x1CF9428, Size:0x38, CRC32:0x283C59F5 +class uGUIBase::cReferenceUIIconOnlineStatus /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconQuest vftable:0x1CF9298, Size:0x80, CRC32:0xD63A619 +class uGUIBase::cReferenceUIIconQuest /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconSCM vftable:0x1CF9338, Size:0x38, CRC32:0x7F9072C2 +class uGUIBase::cReferenceUIIconSCM /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconShake vftable:0x1CF9248, Size:0x50, CRC32:0x3A726A4C +class uGUIBase::cReferenceUIIconShake /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconSkill vftable:0x1CF9118, Size:0x70, CRC32:0x1049BA79 +class uGUIBase::cReferenceUIIconSkill /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconStatus vftable:0x1CF9168, Size:0x38, CRC32:0x4E74D3C8 +class uGUIBase::cReferenceUIIconStatus /*: uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIIconStorage vftable:0x1CF91F8, Size:0x40, CRC32:0x7F396C2 +class uGUIBase::cReferenceUIIconStorage /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUINumBox vftable:0x1CF99A8, Size:0xB8, CRC32:0x517CCC4F +class uGUIBase::cReferenceUINumBox /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUINumPager vftable:0x1CF7408, Size:0x70, CRC32:0x2E375443 +class uGUIBase::cReferenceUINumPager /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIPageDot vftable:0x1CF4790, Size:0x60, CRC32:0x58329047 +class uGUIBase::cReferenceUIPageDot /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIPageDot::cPageDotWork vftable:0x1CF9A00, Size:0xC, CRC32:0x6063A348 +class uGUIBase::cReferenceUIPageDot::cPageDotWork /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUIPullDown vftable:0x1CF9CE0, Size:0x450, CRC32:0x1D81D350 +class uGUIBase::cReferenceUIPullDown /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIPullDown::cData vftable:0x1CF9C70, Size:0x5C, CRC32:0x2F367766 +class uGUIBase::cReferenceUIPullDown::cData /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUIPullDown::cMsg vftable:0x1CF9C90, Size:0x10, CRC32:0x2A90EBDF +class uGUIBase::cReferenceUIPullDown::cMsg /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUIPullDown::cScrollListItemBasePD vftable:0x1CF9C54, Size:0x3C, CRC32:0x4B808FA3 +class uGUIBase::cReferenceUIPullDown::cScrollListItemBasePD /**/ { +}; + +// uGUIBase::cReferenceUIPullDownSkill vftable:0x1CF9D88, Size:0x4C0, CRC32:0x71346032 +class uGUIBase::cReferenceUIPullDownSkill /*: uGUIBase::cReferenceUIPullDown, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIPullDownSkill::cDataEx vftable:0x1CF9D50, Size:0x64, CRC32:0x1731865E +class uGUIBase::cReferenceUIPullDownSkill::cDataEx /*: uGUIBase::cReferenceUIPullDown::cData, MtObject*/ { +}; + +// uGUIBase::cReferenceUIPullDownSkill::cMsgEx vftable:0x1CF9D70, Size:0x14, CRC32:0x46D8501D +class uGUIBase::cReferenceUIPullDownSkill::cMsgEx /*: uGUIBase::cReferenceUIPullDown::cMsg, MtObject*/ { +}; + +// uGUIBase::cReferenceUIQuestEmblem vftable:0x1CF92E8, Size:0x48, CRC32:0x10364281 +class uGUIBase::cReferenceUIQuestEmblem /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIRadioButton vftable:0x1CF9A78, Size:0x98, CRC32:0x717C5BC6 +class uGUIBase::cReferenceUIRadioButton /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIRadioButton::cObject vftable:0x1CF9A4C, Size:0x30, CRC32:0x3D18B949 +class uGUIBase::cReferenceUIRadioButton::cObject /*: uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIScrollBar vftable:0x1CF8E88, Size:0x70, CRC32:0x21EDA1FC +class uGUIBase::cReferenceUIScrollBar /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUISelector vftable:0x1CF8ED8, Size:0x328, CRC32:0x424C350C +class uGUIBase::cReferenceUISelector /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUISimpleBtn vftable:0x1CF9810, Size:0x148, CRC32:0xD87148C +class uGUIBase::cReferenceUISimpleBtn /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUITab vftable:0x1CF5278, Size:0x90, CRC32:0x7AA6F90F +class uGUIBase::cReferenceUITab /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUITab::cTabWork vftable:0x1CF95B0, Size:0x12C, CRC32:0x50369D13 +class uGUIBase::cReferenceUITab::cTabWork /*: MtObject*/ { +}; + +// uGUIBase::cReferenceUITextBox vftable:0x1CF9618, Size:0xF8, CRC32:0x30C2F672 +class uGUIBase::cReferenceUITextBox /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIToggleBtn vftable:0x1CF9720, Size:0x70, CRC32:0x152A1DAF +class uGUIBase::cReferenceUIToggleBtn /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUITooltip vftable:0x1CF9B80, Size:0x148, CRC32:0x2E535760 +class uGUIBase::cReferenceUITooltip /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIVlCursor vftable:0x1CF9518, Size:0x90, CRC32:0x64C478A5 +class uGUIBase::cReferenceUIVlCursor /*: uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cReferenceUIWndwDrag vftable:0x1CF97C0, Size:0x60, CRC32:0x78440BD3 +class uGUIBase::cReferenceUIWndwDrag /*: uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cScreenAdjustPos vftable:0x1CF9C20, Size:0x80, CRC32:0x6EAE2204 +class uGUIBase::cScreenAdjustPos /*: MtObject*/ { +}; + +// uGUIBase::cScrollListInfoBase vftable:0x1B14E74, Size:0x20, CRC32:0x1CE34C5C +class uGUIBase::cScrollListInfoBase /*: cUIObject, MtObject*/ { +}; + +// uGUIBase::cScrollListItemBase vftable:0x1CF3E40, Size:0x38, CRC32:0x2319AE12 +class uGUIBase::cScrollListItemBase /*: cUIObject, MtObject*/ { +}; + +// uGUIBase::cSupportBase vftable:0x1CF7328, Size:0xC, CRC32:0xBCD0C2F +class uGUIBase::cSupportBase /*: MtObject*/ { +}; + +// uGUIBase::cSupportInstAnim vftable:0x1CF733C, Size:0x28, CRC32:0x8B2F073 +class uGUIBase::cSupportInstAnim /*: uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIBase::cUnitWatcher vftable:0x1CF8E08, Size:0x18, CRC32:0x2EC51E67 +class uGUIBase::cUnitWatcher /*: MtObject*/ { +}; + +// uGUIBase::cValueList vftable:0x1CF8DA4, Size:0x2D8, CRC32:0x182EB672 +class uGUIBase::cValueList /*: MtObject*/ { +}; + +// uGUIBazaar vftable:0x1CFBD70, Size:0x880, CRC32:0x130B2410 +class uGUIBazaar /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarDealSheet vftable:0x1CFC428, Size:0x12E0, CRC32:0x1FE4374D +class uGUIBazaarDealSheet /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarDealSheet::cDealData vftable:0x1CFC414, Size:0x1A0, CRC32:0x11C56DBC +class uGUIBazaarDealSheet::cDealData /*: MtObject*/ { +}; + +// uGUIBazaarDealSheet::cListData vftable:0x1CFC3F8, Size:0xC, CRC32:0x1B0E63AE +class uGUIBazaarDealSheet::cListData /*: MtObject*/ { +}; + +// uGUIBazaarHistory vftable:0x1CFCB00, Size:0x9C0, CRC32:0x3BF48427 +class uGUIBazaarHistory /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + event 'Jn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2E588730, Flags:0xA0000 + event 'I' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x98772734, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarHistory::cItemHistory vftable:0x1CFCAE8, Size:0x20, CRC32:0x1286FF4B +class uGUIBazaarHistory::cItemHistory /*: MtObject*/ { +}; + +// uGUIBazaarItem vftable:0x1D26938, Size:0xD70, CRC32:0x167A748A +class uGUIBazaarItem /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarItemSearch vftable:0x1CFD4C0, Size:0x2730, CRC32:0x4CFB8A39 +class uGUIBazaarItemSearch /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + event 'Jn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2E588730, Flags:0xA0000 + event 'I' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x98772734, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + string 'Filter' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD92550, Setter:0xD934C0, CRC32:0x8797A5D4, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarItemSearch::cCategoryBigData vftable:0x1CFD470, Size:0x20, CRC32:0x6066FE90 +class uGUIBazaarItemSearch::cCategoryBigData /*: MtObject*/ { +}; + +// uGUIBazaarItemSearch::cCategoryData vftable:0x1CFD440, Size:0x8, CRC32:0x44539E94 +class uGUIBazaarItemSearch::cCategoryData /*: MtObject*/ { +}; + +// uGUIBazaarItemSearch::cItemData vftable:0x1CFD48C, Size:0x170, CRC32:0x23805916 +class uGUIBazaarItemSearch::cItemData /*: MtObject*/ { +}; + +// uGUIBazaarItemSearch::cSearchItemData vftable:0x1CFD4A8, Size:0xC, CRC32:0x6BD06507 +class uGUIBazaarItemSearch::cSearchItemData /*: MtObject*/ { +}; + +// uGUIBazaarPopBuy vftable:0x1CFDBE0, Size:0xCD0, CRC32:0xAAA4405 +class uGUIBazaarPopBuy /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarPopInfo vftable:0x1CFE240, Size:0x7E0, CRC32:0x27C5E70C +class uGUIBazaarPopInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarPopItemList vftable:0x1CFE8B0, Size:0xCA0, CRC32:0x620006A9 +class uGUIBazaarPopItemList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + event 'I' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x98772734, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarPopItemList::cItemData vftable:0x1CFE880, Size:0x160, CRC32:0x2DCAE934 +class uGUIBazaarPopItemList::cItemData /*: MtObject*/ { +}; + +// uGUIBazaarPopItemList::cItemPrice vftable:0x1CFE89C, Size:0x24, CRC32:0x6DC53019 +class uGUIBazaarPopItemList::cItemPrice /*: MtObject*/ { +}; + +// uGUIBazaarPopPriceSetting vftable:0x1CFEF90, Size:0xE40, CRC32:0x6546980A +class uGUIBazaarPopPriceSetting /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBazaarPopPriceSetting::cItemData vftable:0x1CFEF7C, Size:0x160, CRC32:0x6E417B69 +class uGUIBazaarPopPriceSetting::cItemData /*: MtObject*/ { +}; + +// uGUIBazaarStorage vftable:0x1D26C60, Size:0xD70, CRC32:0x4834EF58 +class uGUIBazaarStorage /*: uGUIBazaarItem, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBonusAnnounce vftable:0x1CFF618, Size:0x7F0, CRC32:0x105CB1B +class uGUIBonusAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBoughtBox vftable:0x1CFFCB8, Size:0xD20, CRC32:0x2859F0EE +class uGUIBoughtBox /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBoxGachaInfo vftable:0x1D00598, Size:0x87F0, CRC32:0x123D14A0 +class uGUIBoxGachaInfo /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIBoxGachaInfo::cItemInfo vftable:0x1D004E4, Size:0x20, CRC32:0x6088F245 +class uGUIBoxGachaInfo::cItemInfo /*: MtObject*/ { +}; + +// uGUIBoxGachaInfo::cListInfo vftable:0x1D0051C, Size:0x40, CRC32:0x161E155A +class uGUIBoxGachaInfo::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIBoxGachaInfo::cListItem vftable:0x1D00540, Size:0x1A0, CRC32:0x428C0113 +class uGUIBoxGachaInfo::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIBoxGachaInfo::cLotInfo vftable:0x1D0055C, Size:0x178, CRC32:0x18E56208 +class uGUIBoxGachaInfo::cLotInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIBoxGachaInfo::cLotList vftable:0x1D00580, Size:0x298, CRC32:0x17A4AB47 +class uGUIBoxGachaInfo::cLotList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIBoxGachaInfo::cSumList vftable:0x1D00500, Size:0x9C, CRC32:0x498F936E +class uGUIBoxGachaInfo::cSumList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIBrowserBG vftable:0x1D00CE8, Size:0xA40, CRC32:0x422D1124 +class uGUIBrowserBG /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICalibration vftable:0x1D013C0, Size:0xD00, CRC32:0x11354625 +class uGUICalibration /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICapLogo vftable:0x1D01A50, Size:0x7F0, CRC32:0x431DC861 +class uGUICapLogo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + f32 'mAlpha' ; // Offset:0x7D8, Var, CRC32:0x2D54A3AB, Flags:0x0 + u32 'mFlowSwitch' ; // Offset:0x7DC, Var, CRC32:0xDF482344, Flags:0x0 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharaEditPartsWrap vftable:0x1D05798, Size:0x7D0, CRC32:0x23FB22FA +class uGUICharaEditPartsWrap /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharaEditPartsWrap::cDupliObjectBase vftable:0x1D05130, Size:0xC, CRC32:0x2F5E017B +class uGUICharaEditPartsWrap::cDupliObjectBase /*: MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsBase vftable:0x1D05168, Size:0xA0, CRC32:0x3123F070 +class uGUICharaEditPartsWrap::cPartsBase /*: uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsColor vftable:0x1D05420, Size:0x148, CRC32:0x5E151098 +class uGUICharaEditPartsWrap::cPartsColor /*: uGUICharaEditPartsWrap::cPartsDupliBase, uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsColor::cObject vftable:0x1D053EC, Size:0x34, CRC32:0x1BAB43C3 +class uGUICharaEditPartsWrap::cPartsColor::cObject /*: uGUICharaEditPartsWrap::cDupliObjectBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsColorEye vftable:0x1D054D0, Size:0x158, CRC32:0x616B076F +class uGUICharaEditPartsWrap::cPartsColorEye /*: uGUICharaEditPartsWrap::cPartsColor, uGUICharaEditPartsWrap::cPartsDupliBase, uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsColorHairAll vftable:0x1D05580, Size:0x158, CRC32:0x2C36987D +class uGUICharaEditPartsWrap::cPartsColorHairAll /*: uGUICharaEditPartsWrap::cPartsColor, uGUICharaEditPartsWrap::cPartsDupliBase, uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsDupliBase vftable:0x1D05238, Size:0xC8, CRC32:0x4B0E9F12 +class uGUICharaEditPartsWrap::cPartsDupliBase /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsHList vftable:0x1D05630, Size:0xA8, CRC32:0x129D1BDA +class uGUICharaEditPartsWrap::cPartsHList /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsImage vftable:0x1D05338, Size:0x148, CRC32:0x7D7E5C2E +class uGUICharaEditPartsWrap::cPartsImage /*: uGUICharaEditPartsWrap::cPartsDupliBase, uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsImage::cObject vftable:0x1D05304, Size:0x38, CRC32:0x48DE5629 +class uGUICharaEditPartsWrap::cPartsImage::cObject /*: uGUICharaEditPartsWrap::cDupliObjectBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsMask vftable:0x1D03148, Size:0xD8, CRC32:0xEF8CD21 +class uGUICharaEditPartsWrap::cPartsMask /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsMyName vftable:0x1D056F0, Size:0x2B8, CRC32:0x5B87DCC2 +class uGUICharaEditPartsWrap::cPartsMyName /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsPulldown vftable:0x1D030A0, Size:0x500, CRC32:0x5EA8B784 +class uGUICharaEditPartsWrap::cPartsPulldown /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsRadioButton vftable:0x1D031F0, Size:0x140, CRC32:0x7762C9BA +class uGUICharaEditPartsWrap::cPartsRadioButton /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsRadioSlider vftable:0x1D02FF8, Size:0x318, CRC32:0x2A37580 +class uGUICharaEditPartsWrap::cPartsRadioSlider /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cPartsSlider vftable:0x1D02F50, Size:0x190, CRC32:0x3A7FFD78 +class uGUICharaEditPartsWrap::cPartsSlider /*: uGUICharaEditPartsWrap::cPartsBase, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cReferenceUIEditSliderExt vftable:0x1D02EB0, Size:0xE8, CRC32:0x6453BA87 +class uGUICharaEditPartsWrap::cReferenceUIEditSliderExt /*: uGUIBase::cReferenceUIEditSlider, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharaEditPartsWrap::cReferenceUIRadioButtonExt vftable:0x1D02F00, Size:0xA0, CRC32:0x12344D51 +class uGUICharaEditPartsWrap::cReferenceUIRadioButtonExt /*: uGUIBase::cReferenceUIRadioButton, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUICharacter vftable:0x1D02260, Size:0x5790, CRC32:0xF6F53A0 +class uGUICharacter /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharacter::cJobInfo vftable:0x1D02200, Size:0x40, CRC32:0x3F6C526B +class uGUICharacter::cJobInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cJobItem vftable:0x1D021E4, Size:0xA8, CRC32:0x6BFE4622 +class uGUICharacter::cJobItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cResistInfo vftable:0x1D02240, Size:0x30, CRC32:0x5A2206F7 +class uGUICharacter::cResistInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cResistItem vftable:0x1D02224, Size:0x40, CRC32:0xEB012BE +class uGUICharacter::cResistItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cSkillHeaderInfo vftable:0x1D02180, Size:0x24, CRC32:0x7637A43B +class uGUICharacter::cSkillHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cSkillHeaderItem vftable:0x1D02164, Size:0x40, CRC32:0x22A5B072 +class uGUICharacter::cSkillHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cSkillInfo vftable:0x1D021C0, Size:0x38, CRC32:0x3FDA31A0 +class uGUICharacter::cSkillInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICharacter::cSkillItem vftable:0x1D021A4, Size:0xC8, CRC32:0x6B4825E9 +class uGUICharacter::cSkillItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICharacterEdit vftable:0x1D033A0, Size:0x20B0, CRC32:0x3CB0CE0D +class uGUICharacterEdit /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharacterEdit::cGUIUnderHelpMsg vftable:0x1D03304, Size:0x24, CRC32:0x3C59D674 +class uGUICharacterEdit::cGUIUnderHelpMsg /*: MtObject*/ { +}; + +// uGUICharacterEdit::cList vftable:0x1D0352C, Size:0x34, CRC32:0x3F88BC42 +class uGUICharacterEdit::cList /*: MtObject*/ { +}; + +// uGUICharacterEdit::cListEquip vftable:0x1D032D4, Size:0x60, CRC32:0xC7C19ED +class uGUICharacterEdit::cListEquip /*: MtObject*/ { +}; + +// uGUICharacterEdit::cListStage vftable:0x1D032A4, Size:0x58, CRC32:0x3C734934 +class uGUICharacterEdit::cListStage /*: MtObject*/ { +}; + +// uGUICharacterEditDialog vftable:0x1D03BD8, Size:0x940, CRC32:0x4882707D +class uGUICharacterEditDialog /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharacterEditPopCard vftable:0x1D04270, Size:0xF60, CRC32:0x3991BB34 +class uGUICharacterEditPopCard /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharacterSelect vftable:0x1D04A00, Size:0x10D0, CRC32:0x121F5148 +class uGUICharacterSelect /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICharacterSelect::cGUIGPList vftable:0x1D0494C, Size:0x28, CRC32:0x4C91DF15 +class uGUICharacterSelect::cGUIGPList /*: MtObject*/ { +}; + +// uGUICharacterSelect::cGUINameList vftable:0x1D04968, Size:0x80, CRC32:0x564EAC5B +class uGUICharacterSelect::cGUINameList /*: MtObject*/ { +}; + +// uGUICharacterSelect::cGUIUnderHelpMsg vftable:0x1D049D4, Size:0x20, CRC32:0x67688150 +class uGUICharacterSelect::cGUIUnderHelpMsg /*: MtObject*/ { +}; + +// uGUICharacterSelect::cHorizonInfo vftable:0x1D04930, Size:0xC, CRC32:0x3530EE4D +class uGUICharacterSelect::cHorizonInfo /*: MtObject*/ { +}; + +// uGUIChargesHUD vftable:0x1D060C8, Size:0x990, CRC32:0x97600E0 +class uGUIChargesHUD /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIChat vftable:0x1D068F8, Size:0x8370, CRC32:0x128AD561 +class uGUIChat /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIChat::cCheckList vftable:0x1D06860, Size:0x438, CRC32:0x2846B133 +class uGUIChat::cCheckList /*: uGUIBase::cReferenceUICheckList, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIChat::cLogInfo vftable:0x1D068B8, Size:0x2C, CRC32:0x5341C882 +class uGUIChat::cLogInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIChat::cLogItem vftable:0x1D068DC, Size:0x50, CRC32:0x7D3DCCB +class uGUIChat::cLogItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIChat::cPopWndwAddCh vftable:0x1D06824, Size:0x428, CRC32:0x75DEE11D +class uGUIChat::cPopWndwAddCh /*: MtObject*/ { +}; + +// uGUIChat::cPopWndwAddress vftable:0x1D06808, Size:0x190, CRC32:0x2530CD08 +class uGUIChat::cPopWndwAddress /*: MtObject*/ { +}; + +// uGUIChat::cPopWndwChSubCmd vftable:0x1D067EC, Size:0x140, CRC32:0x7867944 +class uGUIChat::cPopWndwChSubCmd /*: MtObject*/ { +}; + +// uGUIChat::cPopWndwYoN vftable:0x1D06840, Size:0x2D0, CRC32:0x63457F6A +class uGUIChat::cPopWndwYoN /*: MtObject*/ { +}; + +// uGUIChat::cWindow vftable:0x1D067D0, Size:0x5C, CRC32:0x4F5BF57A +class uGUIChat::cWindow /*: MtObject*/ { +}; + +// uGUIClanCreate vftable:0x1D07C70, Size:0x17D0, CRC32:0x3801DB75 +class uGUIClanCreate /*: uGUIClanEditCommon, uGUIClanEditBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanEdit vftable:0x1D07E58, Size:0x17D0, CRC32:0x6451633C +class uGUIClanEdit /*: uGUIClanEditCommon, uGUIClanEditBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanEditBase vftable:0x1D073B8, Size:0xE50, CRC32:0x3569F657 +class uGUIClanEditBase /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanEditInputName vftable:0x1D07718, Size:0xF50, CRC32:0x4DC62CAE +class uGUIClanEditInputName /*: uGUIClanEditInputNameBase, uGUIClanEditBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanEditInputNameBase vftable:0x1D07560, Size:0xF50, CRC32:0x48EC1214 +class uGUIClanEditInputNameBase /*: uGUIClanEditBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanEditInputNickname vftable:0x1D078D0, Size:0xF50, CRC32:0x409CAC3B +class uGUIClanEditInputNickname /*: uGUIClanEditInputNameBase, uGUIClanEditBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanEmblem vftable:0x1D08600, Size:0x920, CRC32:0x44E538F3 +class uGUIClanEmblem /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanList vftable:0x1D08D58, Size:0xEF0, CRC32:0x21AC453E +class uGUIClanList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanList::cList vftable:0x1D08D00, Size:0x34, CRC32:0x384EA46C +class uGUIClanList::cList /*: cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIClanMemberSelect vftable:0x1D0B1B0, Size:0x20B0, CRC32:0x7D69B930 +class uGUIClanMemberSelect /*: uGUIClanStatusBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanScout vftable:0x1D09760, Size:0x1240, CRC32:0x17028FA9 +class uGUIClanScout /*: uGUIClanScoutBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanScout::cGUIPageListScoutEntry vftable:0x1D09708, Size:0x30, CRC32:0x68ADCD33 +class uGUIClanScout::cGUIPageListScoutEntry /*: cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIClanScoutBase vftable:0x1D093D8, Size:0xB00, CRC32:0x2A2D6334 +class uGUIClanScoutBase /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanScoutEntry vftable:0x1D09568, Size:0x1480, CRC32:0x62C84E1B +class uGUIClanScoutEntry /*: uGUIClanScoutBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanSearch vftable:0x1D0A1C8, Size:0x13A0, CRC32:0x327E029 +class uGUIClanSearch /*: uGUIClanSearchBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanSearch::cGUIPageListSearchClan vftable:0x1D0A170, Size:0x30, CRC32:0x5A67D550 +class uGUIClanSearch::cGUIPageListSearchClan /*: cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIClanSearchBase vftable:0x1D09E40, Size:0xB00, CRC32:0x1B6EDEA8 +class uGUIClanSearchBase /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanSearchFilter vftable:0x1D09FD0, Size:0x14C0, CRC32:0x1F4B5AF7 +class uGUIClanSearchFilter /*: uGUIClanSearchBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanShop vftable:0x1D0A900, Size:0x10E0, CRC32:0x490EF184 +class uGUIClanShop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanShop::cListInfo vftable:0x1D0A8C4, Size:0x3C, CRC32:0x6E603CBD +class uGUIClanShop::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIClanShop::cListItem vftable:0x1D0A8E8, Size:0x4C, CRC32:0x3AF228F4 +class uGUIClanShop::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIClanStatus vftable:0x1D0B390, Size:0x2C00, CRC32:0x4CD75E92 +class uGUIClanStatus /*: uGUIClanStatusBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanStatus::cHistoryInfo vftable:0x1D0B354, Size:0x30, CRC32:0x3DDA3410 +class uGUIClanStatus::cHistoryInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIClanStatus::cHistoryItem vftable:0x1D0B378, Size:0x44, CRC32:0x69482059 +class uGUIClanStatus::cHistoryItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIClanStatusBase vftable:0x1D0B010, Size:0x20B0, CRC32:0x1BAFAB5 +class uGUIClanStatusBase /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIClanStatusBase::cScrollListInfoMember vftable:0x1D0AFF0, Size:0x20, CRC32:0x37FAB276 +class uGUIClanStatusBase::cScrollListInfoMember /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIClanStatusBase::cScrollListItemMember vftable:0x1D0AFD4, Size:0xE0, CRC32:0x17046C53 +class uGUIClanStatusBase::cScrollListItemMember /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIClock vftable:0x1D0BB30, Size:0x880, CRC32:0x60B85D00 +class uGUIClock /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICommunityList vftable:0x1D0C438, Size:0x970, CRC32:0x21052AF +class uGUICommunityList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICommunityList::cScrollDispList vftable:0x1D0C1E8, Size:0x40, CRC32:0x75CFB91F +class uGUICommunityList::cScrollDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICommunityList::cScrollItemList vftable:0x1D0C1C4, Size:0x28, CRC32:0x253CE375 +class uGUICommunityList::cScrollItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICommunityList::cTabData vftable:0x1D0C218, Size:0x5D0, CRC32:0x2E3C517C +class uGUICommunityList::cTabData /*: MtObject*/ { +}; + +// uGUICommunityList::cTabDataActiveList vftable:0x1D0C2E8, Size:0x5D0, CRC32:0x271F075A +class uGUICommunityList::cTabDataActiveList /*: uGUICommunityList::cTabData, MtObject*/ { +}; + +// uGUICommunityList::cTabDataBlackList vftable:0x1D0C3B8, Size:0x5D0, CRC32:0x3C131697 +class uGUICommunityList::cTabDataBlackList /*: uGUICommunityList::cTabData, MtObject*/ { +}; + +// uGUICommunityList::cTabDataFriendList vftable:0x1D0C280, Size:0x5D0, CRC32:0xC83ADD9 +class uGUICommunityList::cTabDataFriendList /*: uGUICommunityList::cTabData, MtObject*/ { +}; + +// uGUICommunityList::cTabDataInData vftable:0x1D0C1A8, Size:0x378, CRC32:0x32580D7B +class uGUICommunityList::cTabDataInData /*: MtObject*/ { +}; + +// uGUICommunityList::cTabDataNearPlayerList vftable:0x1D0C350, Size:0x5D0, CRC32:0x528E4267 +class uGUICommunityList::cTabDataNearPlayerList /*: uGUICommunityList::cTabData, MtObject*/ { +}; + +// uGUIContentsBoard vftable:0x1D0CC18, Size:0x17E0, CRC32:0x194CE891 +class uGUIContentsBoard /*: uGUIQuestBoardBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIContentsBoard::cListItemInfo vftable:0x1D0CBF8, Size:0x2C, CRC32:0x4B881154 +class uGUIContentsBoard::cListItemInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICraft vftable:0x1D0D4C8, Size:0xBEF0, CRC32:0x2A9FA916 +class uGUICraft /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICraft::cAddListInfo vftable:0x1D0D4A8, Size:0x30, CRC32:0xEC0663C +class uGUICraft::cAddListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICraft::cAddListItem vftable:0x1D0D48C, Size:0x1C0, CRC32:0x5A527275 +class uGUICraft::cAddListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICraft::cCreateRecipeSort vftable:0x1D0D470, Size:0x28, CRC32:0x11EAAD44 +class uGUICraft::cCreateRecipeSort /*: cUIObject, MtObject*/ { +}; + +// uGUICraft::cListInfo vftable:0x1D0D44C, Size:0x34, CRC32:0x1569C66B +class uGUICraft::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUICraft::cListItem vftable:0x1D0D430, Size:0x1F0, CRC32:0x41FBD222 +class uGUICraft::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUICraftDragonAnnounce vftable:0x1D0DBD8, Size:0x10A0, CRC32:0x76E3AE96 +class uGUICraftDragonAnnounce /*: uGUISkippableAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICredit vftable:0x1D0E300, Size:0xFB0, CRC32:0x501CB0F8 +class uGUICredit /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUICredit::cElement vftable:0x1D0E2D8, Size:0x40, CRC32:0x42136CEF +class uGUICredit::cElement /*: MtObject*/ { +}; + +// uGUIDailyMission vftable:0x1D0EAB8, Size:0x9960, CRC32:0x3A029669 +class uGUIDailyMission /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIDailyMission::cMissionListInfo vftable:0x1D0EA1C, Size:0x3C, CRC32:0x37599129 +class uGUIDailyMission::cMissionListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDailyMission::cMissionListItem vftable:0x1D0EA40, Size:0x2A8, CRC32:0x63CB8560 +class uGUIDailyMission::cMissionListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIDamage vftable:0x1D3BAA8, Size:0x28F0, CRC32:0x5D158A6A +class uGUIDamage /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIDialogTextBox vftable:0x1D0F1D0, Size:0xC30, CRC32:0x13F8F0F +class uGUIDialogTextBox /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIDogmaOrb vftable:0x1D0F880, Size:0x34C0, CRC32:0x82F06D6 +class uGUIDogmaOrb /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIDragonSkillInfo vftable:0x1D10920, Size:0x1A20, CRC32:0xCFCEDDE +class uGUIDragonSkillInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIDragonSkillInfo::cLevelInfo vftable:0x1D10864, Size:0x10, CRC32:0x5A721BD2 +class uGUIDragonSkillInfo::cLevelInfo /*: cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillInfo::cScrollLevelDispList vftable:0x1D108E4, Size:0x54, CRC32:0x7AD76A16 +class uGUIDragonSkillInfo::cScrollLevelDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillInfo::cScrollLevelInfoList vftable:0x1D108C0, Size:0x24, CRC32:0x15DED232 +class uGUIDragonSkillInfo::cScrollLevelInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillInfo::cScrollSkillDispList vftable:0x1D108A4, Size:0xA8, CRC32:0x418AD120 +class uGUIDragonSkillInfo::cScrollSkillDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillInfo::cScrollSkillInfoList vftable:0x1D10880, Size:0x24, CRC32:0x2E836904 +class uGUIDragonSkillInfo::cScrollSkillInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillInfo::cSkillInfo vftable:0x1D10848, Size:0x14, CRC32:0xA1839AF +class uGUIDragonSkillInfo::cSkillInfo /*: cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix vftable:0x1D11200, Size:0xFD0, CRC32:0x78B1E5DC +class uGUIDragonSkillMix /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIDragonSkillMix::cCateInfo vftable:0x1D110A8, Size:0x24, CRC32:0x76A8AFA0 +class uGUIDragonSkillMix::cCateInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cCateItem vftable:0x1D110CC, Size:0x3C, CRC32:0x223ABBE9 +class uGUIDragonSkillMix::cCateItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cDetailInfo vftable:0x1D11184, Size:0x2C, CRC32:0x494429BF +class uGUIDragonSkillMix::cDetailInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cEquipSort vftable:0x1D111C4, Size:0x14, CRC32:0x1119014 +class uGUIDragonSkillMix::cEquipSort /*: cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cListData vftable:0x1D110E8, Size:0x14, CRC32:0x3A98BFD5 +class uGUIDragonSkillMix::cListData /*: cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cListInfo vftable:0x1D11104, Size:0x2C, CRC32:0x5CE27DE1 +class uGUIDragonSkillMix::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cListItem vftable:0x1D11128, Size:0x1E0, CRC32:0x87069A8 +class uGUIDragonSkillMix::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cPackInfo vftable:0x1D11160, Size:0x24, CRC32:0x257F152A +class uGUIDragonSkillMix::cPackInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cPackItem vftable:0x1D111A8, Size:0x4C, CRC32:0x71ED0163 +class uGUIDragonSkillMix::cPackItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIDragonSkillMix::cSubListInfo vftable:0x1D11144, Size:0xC, CRC32:0x52D53B2E +class uGUIDragonSkillMix::cSubListInfo /*: cUIObject, MtObject*/ { +}; + +// uGUIEffectSealed vftable:0x1D11A30, Size:0x3070, CRC32:0x2914F5B3 +class uGUIEffectSealed /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEffectSealed::cSealedInfo vftable:0x1D11A14, Size:0x2C, CRC32:0x6D6F7FF0 +class uGUIEffectSealed::cSealedInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIEffectSealed::cSealedItem vftable:0x1D119F8, Size:0x120, CRC32:0x39FD6BB9 +class uGUIEffectSealed::cSealedItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIEmblemEdit vftable:0x1D12220, Size:0x2040, CRC32:0x3B146EF8 +class uGUIEmblemEdit /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEmblemEdit::cColor vftable:0x1D12208, Size:0x24, CRC32:0x7F9C1962 +class uGUIEmblemEdit::cColor /*: MtObject*/ { +}; + +// uGUIEmblemEdit::cGUIPageListPartsType vftable:0x1D12190, Size:0x50, CRC32:0x78ED1C21 +class uGUIEmblemEdit::cGUIPageListPartsType /*: cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIEmblemEdit::cTexture vftable:0x1D121EC, Size:0x160, CRC32:0x7A4A6A5 +class uGUIEmblemEdit::cTexture /*: MtObject*/ { +}; + +// uGUIEmbodyingBox vftable:0x1D12908, Size:0x1420, CRC32:0x5685A5E3 +class uGUIEmbodyingBox /*: uGUIItemBaggageEx, uGUIStorage, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEncyclopedia vftable:0x1D131B0, Size:0x1AB0, CRC32:0x6D2D1E36 +class uGUIEncyclopedia /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEncyclopedia::cCategoryInfo vftable:0x1D13174, Size:0x24, CRC32:0x5D9984 +class uGUIEncyclopedia::cCategoryInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIEncyclopedia::cCategoryList vftable:0x1D13198, Size:0x4C, CRC32:0xF1C50CB +class uGUIEncyclopedia::cCategoryList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIEncyclopedia::cList vftable:0x1D13158, Size:0x50, CRC32:0x30AC6C98 +class uGUIEncyclopedia::cList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIEncyclopedia::cListInfo vftable:0x1D13134, Size:0x34, CRC32:0x3A15FA13 +class uGUIEncyclopedia::cListInfo /*: MtObject*/ { +}; + +// uGUIEngageInfo vftable:0x1D13928, Size:0x7E0, CRC32:0x1CAA381E +class uGUIEngageInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEntryBoard vftable:0x1D13FB8, Size:0xD90, CRC32:0x45ECA178 +class uGUIEntryBoard /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEntryBoard::cData vftable:0x1D13F90, Size:0x78, CRC32:0x17CC8EDD +class uGUIEntryBoard::cData /*: MtObject*/ { +}; + +// uGUIEntryBoardInfo vftable:0x1D14680, Size:0xAB0, CRC32:0x48B3F7AE +class uGUIEntryBoardInfo /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEntryBoardInfo::cData vftable:0x1D14658, Size:0x380, CRC32:0x207865B4 +class uGUIEntryBoardInfo::cData /*: MtObject*/ { +}; + +// uGUIEntryBoardPopRecruit vftable:0x1D14D10, Size:0x10B0, CRC32:0x29AC13 +class uGUIEntryBoardPopRecruit /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEntryBoardRecruit vftable:0x1D153F0, Size:0x2520, CRC32:0xE93125B +class uGUIEntryBoardRecruit /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEntryBoardSearch vftable:0x1D15A68, Size:0x1A00, CRC32:0x4250F713 +class uGUIEntryBoardSearch /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEquipEnhance vftable:0x1D16280, Size:0x3C90, CRC32:0x1AF9E696 +class uGUIEquipEnhance /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEquipEnhance::cCateInfo vftable:0x1D1616C, Size:0x24, CRC32:0x5EFC5311 +class uGUIEquipEnhance::cCateInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cCateItem vftable:0x1D16190, Size:0x3C, CRC32:0xA6E4758 +class uGUIEquipEnhance::cCateItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cCategorySort vftable:0x1D1626C, Size:0xC, CRC32:0x5FBBA92E +class uGUIEquipEnhance::cCategorySort /*: cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cDetailInfo vftable:0x1D16210, Size:0x2C, CRC32:0x912025 +class uGUIEquipEnhance::cDetailInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cEquipSort vftable:0x1D16250, Size:0x14, CRC32:0x3D5F47F2 +class uGUIEquipEnhance::cEquipSort /*: cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cListInfo vftable:0x1D161AC, Size:0x2C, CRC32:0x74B68150 +class uGUIEquipEnhance::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cListItem vftable:0x1D161D0, Size:0x1E0, CRC32:0x20249519 +class uGUIEquipEnhance::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cPackInfo vftable:0x1D161EC, Size:0x24, CRC32:0xD2BE99B +class uGUIEquipEnhance::cPackInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhance::cPackItem vftable:0x1D16234, Size:0x4C, CRC32:0x59B9FDD2 +class uGUIEquipEnhance::cPackItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIEquipEnhanceAnnounce vftable:0x1D16A00, Size:0xC20, CRC32:0x5A363971 +class uGUIEquipEnhanceAnnounce /*: uGUISkippableAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEquipRecycleAnnounce vftable:0x1D170D8, Size:0x7F0, CRC32:0x1D2FA0E2 +class uGUIEquipRecycleAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEventSkip vftable:0x1D17778, Size:0x860, CRC32:0x18F5C5FE +class uGUIEventSkip /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIEventViewerBG vftable:0x1D17E30, Size:0x800, CRC32:0x609DF90C +class uGUIEventViewerBG /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIExHint vftable:0x1D18500, Size:0x7F0, CRC32:0x59343933 +class uGUIExHint /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIFKeyPalette vftable:0x1D18BC0, Size:0x1F40, CRC32:0x6894EC3A +class uGUIFKeyPalette /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIFreeGroupChat vftable:0x1D19318, Size:0xDA0, CRC32:0xB86EE73 +class uGUIFreeGroupChat /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIFreeGroupChat::cPlInfo vftable:0x1D192F0, Size:0x278, CRC32:0x4F3A73DF +class uGUIFreeGroupChat::cPlInfo /*: MtObject*/ { +}; + +// uGUIGPConfirm vftable:0x1D1DEE8, Size:0xC20, CRC32:0x4A3AAD37 +class uGUIGPConfirm /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGPShop vftable:0x1D1E720, Size:0x4BC0, CRC32:0x7DE1B30C +class uGUIGPShop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGPShop::cScrollCOGDispList vftable:0x1D1E708, Size:0x1B0, CRC32:0x3BB3D015 +class uGUIGPShop::cScrollCOGDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollCOGItemList vftable:0x1D1E6E4, Size:0x20, CRC32:0x6B408A7F +class uGUIGPShop::cScrollCOGItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollChargeDispList vftable:0x1D1E600, Size:0x80, CRC32:0x297C50CB +class uGUIGPShop::cScrollChargeDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollChargeItemList vftable:0x1D1E5DC, Size:0x20, CRC32:0x798F0AA1 +class uGUIGPShop::cScrollChargeItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollHistoryDispList vftable:0x1D1E6C8, Size:0x4C, CRC32:0x9A103A6 +class uGUIGPShop::cScrollHistoryDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollHistoryItemList vftable:0x1D1E6A4, Size:0x20, CRC32:0x595259CC +class uGUIGPShop::cScrollHistoryItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollShopDispList vftable:0x1D1E5C0, Size:0x84, CRC32:0x3C623B0F +class uGUIGPShop::cScrollShopDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollShopItemList vftable:0x1D1E59C, Size:0x20, CRC32:0x6C916165 +class uGUIGPShop::cScrollShopItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollStatusDispList vftable:0x1D1E688, Size:0x88, CRC32:0x7547D3EB +class uGUIGPShop::cScrollStatusDispList /*: uGUIGPShop::cScrollStatusDispBase, uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollStatusItemList vftable:0x1D1E664, Size:0x24, CRC32:0x25B48981 +class uGUIGPShop::cScrollStatusItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollTicketDispList vftable:0x1D1E648, Size:0x48, CRC32:0x715BFD3C +class uGUIGPShop::cScrollTicketDispList /*: uGUIGPShop::cScrollStatusDispBase, uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShop::cScrollTicketItemList vftable:0x1D1E624, Size:0x20, CRC32:0x21A8A756 +class uGUIGPShop::cScrollTicketItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShopDialog vftable:0x1D1F028, Size:0x1890, CRC32:0x61401316 +class uGUIGPShopDialog /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGPShopDialog::cScrollHistoryDispList vftable:0x1D1F010, Size:0x4C, CRC32:0x6A8B879C +class uGUIGPShopDialog::cScrollHistoryDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShopDialog::cScrollHistoryItemList vftable:0x1D1EFEC, Size:0x38, CRC32:0x3A78DDF6 +class uGUIGPShopDialog::cScrollHistoryItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShopDialog::cScrollLimitDispList vftable:0x1D1EFD0, Size:0x48, CRC32:0xE349F9B +class uGUIGPShopDialog::cScrollLimitDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIGPShopDialog::cScrollLimitItemList vftable:0x1D1EFAC, Size:0x30, CRC32:0x5EC7C5F1 +class uGUIGPShopDialog::cScrollLimitItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIGachaAnnounce vftable:0x1D1A8B8, Size:0x9C0, CRC32:0x6EE986BE +class uGUIGachaAnnounce /*: uGUISkippableAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGainInfo vftable:0x1D1AF60, Size:0x810, CRC32:0x27236126 +class uGUIGainInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGameMenu vftable:0x1D3CBB0, Size:0x2370, CRC32:0x7DEE19E5 +class uGUIGameMenu /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGameMenu::cGameMenuUnitWatcher vftable:0x1D3CB94, Size:0x18, CRC32:0x3194A0F4 +class uGUIGameMenu::cGameMenuUnitWatcher /*: uGUIBase::cUnitWatcher, MtObject*/ { +}; + +// uGUIGauge vftable:0x1D3D3A0, Size:0x13C0, CRC32:0x7537EDB8 +class uGUIGauge /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGauge::cGaugeInfo vftable:0x1D3D378, Size:0xB0, CRC32:0x50381B6D +class uGUIGauge::cGaugeInfo /*: MtObject*/ { + s32 'mMemberIndex' ; // Offset:0x4, Var, CRC32:0x3FD37E0F, Flags:0x0 + s32 'mLvLatest' ; // Offset:0x8, Var, CRC32:0x60A38AEB, Flags:0x0 + u64 'mHpLatest' ; // Offset:0x10, Var, CRC32:0x8739B12B, Flags:0x0 + u64 'mHpMaxLatest' ; // Offset:0x20, Var, CRC32:0x61FDC687, Flags:0x0 + f32 'mStLatest' ; // Offset:0x28, Var, CRC32:0x52A7B845, Flags:0x0 + f32 'mStMaxLatest' ; // Offset:0x2C, Var, CRC32:0xE5C12572, Flags:0x0 + u8 'mJobLatest' ; // Offset:0xAC, Var, CRC32:0x43C14BF1, Flags:0x0 + bool 'mEnable' ; // Offset:0xAD, Var, CRC32:0xCD3C6103, Flags:0x0 + bool 'mUpdate' ; // Offset:0xAE, Var, CRC32:0xA6B99C49, Flags:0x0 + bool 'mUpdateEnd' ; // Offset:0xAF, Var, CRC32:0xD7F2D494, Flags:0x0 +}; + +// uGUIGaugeArts vftable:0x1D1B670, Size:0x950, CRC32:0x52AE9C33 +class uGUIGaugeArts /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeArtsV01_03 vftable:0x1D1BD10, Size:0x910, CRC32:0x1B6C2BA +class uGUIGaugeArtsV01_03 /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeEnemy vftable:0x1D3DB38, Size:0xC20, CRC32:0x3031BE6D +class uGUIGaugeEnemy /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeEnemyBoss vftable:0x1D3E260, Size:0x1F00, CRC32:0x34385EE2 +class uGUIGaugeEnemyBoss /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeEnemyBossDefault vftable:0x1D3E408, Size:0x1F90, CRC32:0x1075120E +class uGUIGaugeEnemyBossDefault /*: uGUIGaugeEnemyBoss, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeEnemyBossEfreet vftable:0x1D3E5B0, Size:0x1F90, CRC32:0x22481F88 +class uGUIGaugeEnemyBossEfreet /*: uGUIGaugeEnemyBoss, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeExp vftable:0x1D1C3D0, Size:0x820, CRC32:0x59924A1A +class uGUIGaugeExp /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeExp::cGaugeInfo vftable:0x1D1C3B8, Size:0x18, CRC32:0x51522E4C +class uGUIGaugeExp::cGaugeInfo /*: MtObject*/ { + u64 'mExpLatest' ; // Offset:0x8, Var, CRC32:0x1A4731F5, Flags:0x0 + u16 'mLvLatest' ; // Offset:0x10, Var, CRC32:0x60A38AEB, Flags:0x0 + u8 'mJobIdLatest' ; // Offset:0x12, Var, CRC32:0x38916708, Flags:0x0 +}; + +// uGUIGaugeNpc vftable:0x1D3EFE0, Size:0xDB0, CRC32:0x19A06E2D +class uGUIGaugeNpc /*: uGUIGaugeNpcBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeNpcBase vftable:0x1D3ED98, Size:0x850, CRC32:0x1BBF0BA3 +class uGUIGaugeNpcBase /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeSkill vftable:0x1D1CA70, Size:0x840, CRC32:0x159300B3 +class uGUIGaugeSkill /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGaugeSorcery vftable:0x1D1D100, Size:0x9C0, CRC32:0x202BF558 +class uGUIGaugeSorcery /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGiveAndTake vftable:0x1D1D7F0, Size:0x2AA0, CRC32:0x43442468 +class uGUIGiveAndTake /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mMode' ; // Offset:0x7DC, Var, CRC32:0x4EC38C97, Flags:0x10000 + bool 'mSleep' ; // Offset:0x2A9C, Var, CRC32:0xF287586D, Flags:0x0 + bool 'mIsNeedAllDeliver' ; // Offset:0x2A9F, Var, CRC32:0x326A5ABD, Flags:0x0 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIGiveAndTake::cItemGiveList vftable:0x1D1D794, Size:0xC, CRC32:0xF744D2C +class uGUIGiveAndTake::cItemGiveList /*: MtObject*/ { +}; + +// uGUIGiveAndTake::cItemInfoList vftable:0x1D1D778, Size:0xC, CRC32:0x163F7BAA +class uGUIGiveAndTake::cItemInfoList /*: MtObject*/ { +}; + +// uGUIGiveAndTake::cItemList vftable:0x1D1D7B0, Size:0x180, CRC32:0xAE7770B +class uGUIGiveAndTake::cItemList /*: MtObject*/ { +}; + +// uGUIGreatPurpose vftable:0x1D51E30, Size:0xA10, CRC32:0x221EB58C +class uGUIGreatPurpose /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudCannon vftable:0x1D1F7A0, Size:0x850, CRC32:0x7AAF5896 +class uGUIHudCannon /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudCustomSkillPallet vftable:0x1D1FE70, Size:0x820, CRC32:0x70477099 +class uGUIHudCustomSkillPallet /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudDarkDungeon vftable:0x1D20568, Size:0xD20, CRC32:0x5E0F7F0A +class uGUIHudDarkDungeon /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudEfreet vftable:0x1D20C80, Size:0x820, CRC32:0xFC171AD +class uGUIHudEfreet /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudJob10Gauge vftable:0x1D21358, Size:0x840, CRC32:0x22E32000 +class uGUIHudJob10Gauge /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudJob11Gauge vftable:0x1D21A30, Size:0x870, CRC32:0x69BFF3A5 +class uGUIHudJob11Gauge /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIHudQuestNavi vftable:0x1D22250, Size:0x950, CRC32:0x390112B2 +class uGUIHudQuestNavi /*: uGUIBaseExtHud, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIIconList vftable:0x1D229E8, Size:0x1EA0, CRC32:0x7C2E486F +class uGUIIconList /*: uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIIconList::ListItem vftable:0x1D229CC, Size:0x1AC, CRC32:0x39C9DEAC +class uGUIIconList::ListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIIconList::ListItemInfo vftable:0x1D229A8, Size:0x20, CRC32:0xF681BFD +class uGUIIconList::ListItemInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIIconListDetail vftable:0x1D23120, Size:0xA30, CRC32:0x144F3C38 +class uGUIIconListDetail /*: uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIIndicator vftable:0x1D3F830, Size:0x7F0, CRC32:0x4D217E27 +class uGUIIndicator /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIInfinityDelivery vftable:0x1D23890, Size:0x6160, CRC32:0x1CCC83F3 +class uGUIInfinityDelivery /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIInfinityDelivery::cEventInfo vftable:0x1D23854, Size:0x38, CRC32:0x288B96F3 +class uGUIInfinityDelivery::cEventInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIInfinityDelivery::cEventList vftable:0x1D23878, Size:0x298, CRC32:0x27CA5FBC +class uGUIInfinityDelivery::cEventList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIInfinityDelivery::cItemInfo vftable:0x1D237DC, Size:0x24, CRC32:0x659F9AC1 +class uGUIInfinityDelivery::cItemInfo /*: MtObject*/ { +}; + +// uGUIInfinityDelivery::cListInfo vftable:0x1D23814, Size:0x44, CRC32:0x13097DDE +class uGUIInfinityDelivery::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIInfinityDelivery::cListItem vftable:0x1D23838, Size:0x1B0, CRC32:0x479B6997 +class uGUIInfinityDelivery::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIInfinityDelivery::cSumList vftable:0x1D237F8, Size:0x50, CRC32:0x5EB004A9 +class uGUIInfinityDelivery::cSumList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIInfinityDeliveryRanking vftable:0x1D24060, Size:0x1190, CRC32:0x29F174FD +class uGUIInfinityDeliveryRanking /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIInfinityDeliveryRanking::cRankingData vftable:0x1D24034, Size:0x28, CRC32:0x31C92069 +class uGUIInfinityDeliveryRanking::cRankingData /*: MtObject*/ { +}; + +// uGUIInfinityDeliveryRanking::cRankingInfo vftable:0x1D24010, Size:0x24, CRC32:0x57B3E25D +class uGUIInfinityDeliveryRanking::cRankingInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIInfinityDeliveryRanking::cRankingItem vftable:0x1D23FF4, Size:0x68, CRC32:0x321F614 +class uGUIInfinityDeliveryRanking::cRankingItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIInfo vftable:0x1D247C0, Size:0x1610, CRC32:0x3C9E169C +class uGUIInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIInfo::cListInfo vftable:0x1D247A0, Size:0x28, CRC32:0x14ED2F1 +class uGUIInfo::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIInfo::cListItem vftable:0x1D24784, Size:0x44, CRC32:0x55DCC6B8 +class uGUIInfo::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIInformationWindow vftable:0x1D24F00, Size:0xF60, CRC32:0x6FFCE4E4 +class uGUIInformationWindow /*: uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIInformationWindow::cMessageInfo vftable:0x1D24EC4, Size:0x24, CRC32:0x37C23FE +class uGUIInformationWindow::cMessageInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIInformationWindow::cMessageItem vftable:0x1D24EE8, Size:0x40, CRC32:0x57EE37B7 +class uGUIInformationWindow::cMessageItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIInputText vftable:0x1D25608, Size:0xA050, CRC32:0x4E95AFFF +class uGUIInputText /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItem01 vftable:0x1D25FC0, Size:0xD70, CRC32:0x1CD90EB3 +class uGUIItem01 /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItemAppraise vftable:0x1D27718, Size:0x4F70, CRC32:0x7BDBE6BB +class uGUIItemAppraise /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItemAppraise::cCategoryInfo vftable:0x1D275E0, Size:0x3C, CRC32:0x31CF97F0 +class uGUIItemAppraise::cCategoryInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cCategoryItem vftable:0x1D27604, Size:0x3C, CRC32:0x655D83B9 +class uGUIItemAppraise::cCategoryItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cCostInfo vftable:0x1D27660, Size:0x28, CRC32:0x6033EBCC +class uGUIItemAppraise::cCostInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cCostItem vftable:0x1D27684, Size:0x48, CRC32:0x34A1FF85 +class uGUIItemAppraise::cCostItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cCrestInfo vftable:0x1D276E0, Size:0x28, CRC32:0xA0F7D4E +class uGUIItemAppraise::cCrestInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cCrestItem vftable:0x1D27704, Size:0x180, CRC32:0x5E9D6907 +class uGUIItemAppraise::cCrestItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cItemInfo vftable:0x1D276A0, Size:0x34, CRC32:0x2C552B45 +class uGUIItemAppraise::cItemInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cItemItem vftable:0x1D276C4, Size:0x190, CRC32:0x78C73F0C +class uGUIItemAppraise::cItemItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cListInfo vftable:0x1D27620, Size:0x34, CRC32:0x5AC3CC5A +class uGUIItemAppraise::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIItemAppraise::cListItem vftable:0x1D27644, Size:0x44, CRC32:0xE51D813 +class uGUIItemAppraise::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIItemBaggageEx vftable:0x1D27F08, Size:0x13F0, CRC32:0x1718F8A7 +class uGUIItemBaggageEx /*: uGUIStorage, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItemBaggageEx::cStorageData vftable:0x1D128E8, Size:0x10, CRC32:0x4BA31300 +class uGUIItemBaggageEx::cStorageData /*: cUIObject, MtObject*/ { +}; + +// uGUIItemBase01::cGUIItem vftable:0x1D25C70, Size:0x160, CRC32:0x1EB183C2 +class uGUIItemBase01::cGUIItem /*: MtObject*/ { +}; + +// uGUIItemIcon vftable:0x1D62860, Size:0x9D0, CRC32:0x1930625A +class uGUIItemIcon /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItemKeyItem01 vftable:0x1D262E8, Size:0xCC0, CRC32:0x64E43695 +class uGUIItemKeyItem01 /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItemSelectCommon vftable:0x1D28948, Size:0x26A0, CRC32:0x437C2D38 +class uGUIItemSelectCommon /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIItemSelectCommon::cListInfo vftable:0x1D288E8, Size:0x68, CRC32:0x314948A5 +class uGUIItemSelectCommon::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIItemSelectCommon::cListItem vftable:0x1D28930, Size:0x1D0, CRC32:0x65DB5CEC +class uGUIItemSelectCommon::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIItemSelectCommon::cRecipeInfo vftable:0x1D2890C, Size:0x28, CRC32:0x4D0ABCEE +class uGUIItemSelectCommon::cRecipeInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblem vftable:0x1D297C8, Size:0x2670, CRC32:0x63EFB433 +class uGUIJobEmblem /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobEmblem::cCrestInfo vftable:0x1D2974C, Size:0x2C, CRC32:0x5C43C2D1 +class uGUIJobEmblem::cCrestInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblem::cCrestItem vftable:0x1D29770, Size:0x44, CRC32:0x8D1D698 +class uGUIJobEmblem::cCrestItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblem::cJobInfo vftable:0x1D2970C, Size:0x2C, CRC32:0x548A2EE8 +class uGUIJobEmblem::cJobInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblem::cJobItem vftable:0x1D29730, Size:0x88, CRC32:0x183AA1 +class uGUIJobEmblem::cJobItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblem::cStatusInfo vftable:0x1D2978C, Size:0x30, CRC32:0x7B251BAB +class uGUIJobEmblem::cStatusInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblem::cStatusItem vftable:0x1D297B0, Size:0x48, CRC32:0x2FB70FE2 +class uGUIJobEmblem::cStatusItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobEmblemAnnounce vftable:0x1D29EF0, Size:0xC10, CRC32:0x2D9C4B3F +class uGUIJobEmblemAnnounce /*: uGUISkippableAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobExam vftable:0x1D29048, Size:0xA00, CRC32:0x2A9A14F5 +class uGUIJobExam /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobMaster vftable:0x1D2A680, Size:0x1DD0, CRC32:0x3DD41498 +class uGUIJobMaster /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobMaster::cListHeader vftable:0x1D2A5E0, Size:0x3C, CRC32:0x19520608 +class uGUIJobMaster::cListHeader /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobMaster::cListHeaderInfo vftable:0x1D2A618, Size:0x24, CRC32:0x6720823E +class uGUIJobMaster::cListHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobMaster::cListInfo vftable:0x1D2A63C, Size:0x30, CRC32:0x3274F849 +class uGUIJobMaster::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobMaster::cListItem vftable:0x1D2A5FC, Size:0x108, CRC32:0x66E6EC00 +class uGUIJobMaster::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobMaster::cOrder vftable:0x1D2A5A8, Size:0x48, CRC32:0x6AB806D9 +class uGUIJobMaster::cOrder /*: cUIObject, MtObject*/ { +}; + +// uGUIJobMaster::cRelease vftable:0x1D2A5C4, Size:0x10, CRC32:0x369997FC +class uGUIJobMaster::cRelease /*: cUIObject, MtObject*/ { +}; + +// uGUIJobOrbTree vftable:0x1D2AE38, Size:0x56D0, CRC32:0x30341BC6 +class uGUIJobOrbTree /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobOrbTree::cLineInfo vftable:0x1D2ADFC, Size:0x54, CRC32:0x7977EB71 +class uGUIJobOrbTree::cLineInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobOrbTree::cLineItem vftable:0x1D2AE20, Size:0x174, CRC32:0x2DE5FF38 +class uGUIJobOrbTree::cLineItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobOrbTree::cSphereInfo vftable:0x1D2ADBC, Size:0x58, CRC32:0x1F010E30 +class uGUIJobOrbTree::cSphereInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobOrbTree::cSphereItem vftable:0x1D2ADE0, Size:0xD0, CRC32:0x4B931A79 +class uGUIJobOrbTree::cSphereItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIJobSelect vftable:0x1D2B578, Size:0x920, CRC32:0x5B2F5D8E +class uGUIJobSelect /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobSelect::cItem vftable:0x1D2B530, Size:0x68, CRC32:0x33F08ABD +class uGUIJobSelect::cItem /*: MtObject*/ { +}; + +// uGUIJobSelect::cJobInfo vftable:0x1D2B54C, Size:0xC, CRC32:0x583DB5D3 +class uGUIJobSelect::cJobInfo /*: MtObject*/ { +}; + +// uGUIJobSelectCommon vftable:0x1D2BC70, Size:0x12B0, CRC32:0x4E36CFAF +class uGUIJobSelectCommon /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIJobSelectCommon::cListInfo vftable:0x1D2AFA4, Size:0x34, CRC32:0x22CBED76 +class uGUIJobSelectCommon::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIJobSelectCommon::cListItem vftable:0x1D2BC48, Size:0x88, CRC32:0x7659F93F +class uGUIJobSelectCommon::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIKeyConfig vftable:0x1D2C620, Size:0x25D0, CRC32:0x2735588D +class uGUIKeyConfig /*: uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIKeyConfig::cCategoryInfo vftable:0x1D2C558, Size:0x54, CRC32:0x31659791 +class uGUIKeyConfig::cCategoryInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIKeyConfig::cCategoryItem vftable:0x1D2C57C, Size:0x44, CRC32:0x65F783D8 +class uGUIKeyConfig::cCategoryItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIKeyConfig::cKeyInfo vftable:0x1D2C5A4, Size:0x20, CRC32:0x2FF25262 +class uGUIKeyConfig::cKeyInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIKeyConfig::cKeySettingInfo vftable:0x1D2C5D0, Size:0x44, CRC32:0x20F05358 +class uGUIKeyConfig::cKeySettingInfo /*: uGUIKeyConfig::cKeyInfo, uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIKeyConfig::cKeySettingItem vftable:0x1D2C5F4, Size:0x60, CRC32:0x74624711 +class uGUIKeyConfig::cKeySettingItem /*: uGUIKeyConfig::cKeyItem, uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIKokujuAnnounce vftable:0x1D2CDA8, Size:0xA10, CRC32:0x31EF226B +class uGUIKokujuAnnounce /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIKokujuMatching vftable:0x1D2D440, Size:0xF70, CRC32:0xB290D97 +class uGUIKokujuMatching /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUILayoutFurnitureItem vftable:0x1D19CF8, Size:0xCC0, CRC32:0x360FC060 +class uGUILayoutFurnitureItem /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUILoading vftable:0x1D2DAC0, Size:0x820, CRC32:0x6CCDAFD2 +class uGUILoading /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUILoginBonus vftable:0x1D2E188, Size:0x25B0, CRC32:0x60720613 +class uGUILoginBonus /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMail vftable:0x1D2E8A8, Size:0x2900, CRC32:0x26318B83 +class uGUIMail /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMail::cMailData vftable:0x1D2E838, Size:0x20, CRC32:0x66AA75D2 +class uGUIMail::cMailData /*: MtObject*/ { +}; + +// uGUIMail::cScrollDispList vftable:0x1D2E878, Size:0x40, CRC32:0x625DDA4F +class uGUIMail::cScrollDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIMail::cScrollItemList vftable:0x1D2E854, Size:0x24, CRC32:0x32AE8025 +class uGUIMail::cScrollItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMail::cTabData vftable:0x1D2E894, Size:0x5D0, CRC32:0x4DD73A07 +class uGUIMail::cTabData /*: MtObject*/ { +}; + +// uGUIMailCreate vftable:0x1D2EF88, Size:0x1180, CRC32:0x13FD060D +class uGUIMailCreate /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMailDetail vftable:0x1D2F5D8, Size:0x10F0, CRC32:0x322D9965 +class uGUIMailDetail /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMandraAnnounce vftable:0x1D2FC38, Size:0x7F0, CRC32:0x145DB17 +class uGUIMandraAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMandraBaggage vftable:0x1D302A8, Size:0x1600, CRC32:0x353EE622 +class uGUIMandraBaggage /*: uGUIStorage, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMandraItemBox vftable:0x1D30B10, Size:0x10D0, CRC32:0x608B8C9C +class uGUIMandraItemBox /*: uGUIStorage, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMandraItemBox::cStorageData vftable:0x1D30AE4, Size:0x10, CRC32:0x19586DD7 +class uGUIMandraItemBox::cStorageData /*: cUIObject, MtObject*/ { +}; + +// uGUIMap vftable:0x1D3FFF0, Size:0x3C60, CRC32:0xCD0879C +class uGUIMap /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMap::cLandId vftable:0x1D3FF20, Size:0x8, CRC32:0x1299FA5 +class uGUIMap::cLandId /*: MtObject*/ { +}; + +// uGUIMap::cMarker vftable:0x1D3FF3C, Size:0x160, CRC32:0x16033DE5 +class uGUIMap::cMarker /*: MtObject*/ { +}; + +// uGUIMap::cMarkerLandInfo vftable:0x1D3FF94, Size:0x40, CRC32:0x1D1621A8 +class uGUIMap::cMarkerLandInfo /*: MtObject*/ { +}; + +// uGUIMap::cMarkerUpdInfo vftable:0x1D3FF78, Size:0x50, CRC32:0x6A750242 +class uGUIMap::cMarkerUpdInfo /*: MtObject*/ { +}; + +// uGUIMap::cPointerCursor vftable:0x1D3FF5C, Size:0xB8, CRC32:0x230A503 +class uGUIMap::cPointerCursor /*: MtObject*/ { +}; + +// uGUIMap::cQuestMarkerData vftable:0x1D3FFB0, Size:0x20, CRC32:0x4A5A43B +class uGUIMap::cQuestMarkerData /*: MtObject*/ { +}; + +// uGUIMapMini vftable:0x1D40818, Size:0x3E80, CRC32:0x17B2B697 +class uGUIMapMini /*: uGUIMap, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMenuAreaInfo vftable:0x1D313E0, Size:0x1840, CRC32:0x2C302C5C +class uGUIMenuAreaInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMenuAreaInfo::cHeaderInfo vftable:0x1D31368, Size:0x24, CRC32:0x76FE3BBA +class uGUIMenuAreaInfo::cHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMenuAreaInfo::cHeaderItem vftable:0x1D3138C, Size:0x3C, CRC32:0x226C2FF3 +class uGUIMenuAreaInfo::cHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIMenuAreaInfo::cListInfo vftable:0x1D313A8, Size:0x48, CRC32:0xFEB8425 +class uGUIMenuAreaInfo::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMenuAreaInfo::cListItem vftable:0x1D313CC, Size:0x98, CRC32:0x5B79906C +class uGUIMenuAreaInfo::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIMenuCmdPawn vftable:0x1D31B18, Size:0x1720, CRC32:0x3FB83D25 +class uGUIMenuCmdPawn /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMenuComm vftable:0x1D321A0, Size:0x2F60, CRC32:0x2B1CFD62 +class uGUIMenuComm /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMenuTutorial vftable:0x1D32880, Size:0x1250, CRC32:0x5E5BEC9A +class uGUIMenuTutorial /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMenuTutorial::cCaption vftable:0x1D32858, Size:0x8, CRC32:0x473CAD35 +class uGUIMenuTutorial::cCaption /*: MtObject*/ { +}; + +// uGUIMissionInfo vftable:0x1D32F98, Size:0x1C50, CRC32:0x5042E2DC +class uGUIMissionInfo /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMissionInfo::cItem vftable:0x1D32F4C, Size:0x160, CRC32:0x5A85E77E +class uGUIMissionInfo::cItem /*: MtObject*/ { +}; + +// uGUIMissionInfo::cListInfo vftable:0x1D32F68, Size:0x2C, CRC32:0x3BD6E024 +class uGUIMissionInfo::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMissionResult vftable:0x1D33788, Size:0x2920, CRC32:0x151E0AC9 +class uGUIMissionResult /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMissionResult::cChargeEffectInfo vftable:0x1D33720, Size:0xC, CRC32:0x68FA2FC1 +class uGUIMissionResult::cChargeEffectInfo /*: MtObject*/ { +}; + +// uGUIMissionResult::cGpInfoList vftable:0x1D336C4, Size:0x14, CRC32:0x40A6EA93 +class uGUIMissionResult::cGpInfoList /*: MtObject*/ { +}; + +// uGUIMissionResult::cItemList vftable:0x1D336A8, Size:0xC, CRC32:0x4C8E9593 +class uGUIMissionResult::cItemList /*: MtObject*/ { +}; + +// uGUIMissionResult::cPointList vftable:0x1D3368C, Size:0x1C, CRC32:0x66924E9 +class uGUIMissionResult::cPointList /*: MtObject*/ { +}; + +// uGUIMissionResult::cResultScrollInfo vftable:0x1D336FC, Size:0x2C, CRC32:0x259E09B7 +class uGUIMissionResult::cResultScrollInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMissionResult::cResultScrollItem vftable:0x1D336E0, Size:0x40, CRC32:0x710C1DFE +class uGUIMissionResult::cResultScrollItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIMouseOverCursor vftable:0x1D33FD0, Size:0x810, CRC32:0x30795BCA +class uGUIMouseOverCursor /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMouseOverCursor::cMOC vftable:0x1D33FA8, Size:0x44, CRC32:0x4A7948FC +class uGUIMouseOverCursor::cMOC /*: MtObject*/ { +}; + +// uGUIMousePointer vftable:0x1D34660, Size:0x7F0, CRC32:0x3241D5C8 +class uGUIMousePointer /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMyRoom vftable:0x1D34F18, Size:0x1130, CRC32:0x4E5EC026 +class uGUIMyRoom /*: uGUIMyRoomBase, uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMyRoom::cList::cInfo vftable:0x1D34EDC, Size:0x24, CRC32:0x38D4F4BF +class uGUIMyRoom::cList::cInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMyRoom::cList::cItem vftable:0x1D34F00, Size:0x40, CRC32:0x6C46E0F6 +class uGUIMyRoom::cList::cItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIMyRoomBase vftable:0x1D34D00, Size:0xB20, CRC32:0xDD0778C +class uGUIMyRoomBase /*: uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMyRoomPopup vftable:0x1D35130, Size:0x37F0, CRC32:0x67D7199 +class uGUIMyRoomPopup /*: uGUIMyRoomBase, uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIMyRoomPopup::cList::cInfo vftable:0x1D350F4, Size:0x34, CRC32:0x48A53E9F +class uGUIMyRoomPopup::cList::cInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIMyRoomPopup::cList::cItem vftable:0x1D35118, Size:0x500, CRC32:0x1C372AD6 +class uGUIMyRoomPopup::cList::cItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper vftable:0x1D410D0, Size:0x4C50, CRC32:0x5AF70512 +class uGUINewspaper /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUINewspaper::cAreaInfo vftable:0x1D41060, Size:0xC, CRC32:0xD574CD1 +class uGUINewspaper::cAreaInfo /*: MtObject*/ { +}; + +// uGUINewspaper::cCycleContentsNewsInfo vftable:0x1D41044, Size:0x10, CRC32:0xCB28FA7 +class uGUINewspaper::cCycleContentsNewsInfo /*: MtObject*/ { +}; + +// uGUINewspaper::cLandAreaInfo vftable:0x1D41090, Size:0x28, CRC32:0x1A97E37F +class uGUINewspaper::cLandAreaInfo /*: MtObject*/ { +}; + +// uGUINewspaper::cScrollQuestDispList vftable:0x1D40F68, Size:0x5C, CRC32:0x708446AF +class uGUINewspaper::cScrollQuestDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollQuestItemList vftable:0x1D40F44, Size:0x30, CRC32:0x20771CC5 +class uGUINewspaper::cScrollQuestItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollRankingDispList vftable:0x1D40FA8, Size:0x5C, CRC32:0x4A1F8CD9 +class uGUINewspaper::cScrollRankingDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollRankingItemList vftable:0x1D40F84, Size:0x20, CRC32:0x1AECD6B3 +class uGUINewspaper::cScrollRankingItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollRewardDetailInfoList vftable:0x1D41004, Size:0x28, CRC32:0x5E2513DD +class uGUINewspaper::cScrollRewardDetailInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollRewardDetailItemList vftable:0x1D41028, Size:0x44, CRC32:0x61DFF193 +class uGUINewspaper::cScrollRewardDetailItemList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollRewardSummaryInfoList vftable:0x1D40FC4, Size:0x2C, CRC32:0x25A62D40 +class uGUINewspaper::cScrollRewardSummaryInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cScrollRewardSummaryItemList vftable:0x1D40FE8, Size:0x4C, CRC32:0x1A5CCF0E +class uGUINewspaper::cScrollRewardSummaryItemList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cSelectListHeaderInfo vftable:0x1D40F04, Size:0x28, CRC32:0x246BD1F4 +class uGUINewspaper::cSelectListHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cSelectListHeaderItem vftable:0x1D40F28, Size:0x44, CRC32:0x70F9C5BD +class uGUINewspaper::cSelectListHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cSelectListItemInfo vftable:0x1D40EC4, Size:0x28, CRC32:0x13FCAA20 +class uGUINewspaper::cSelectListItemInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUINewspaper::cSelectListItemItem vftable:0x1D40EE8, Size:0x44, CRC32:0x476EBE69 +class uGUINewspaper::cSelectListItemItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUINpcWindow vftable:0x1D6AD78, Size:0x2780, CRC32:0x453937AC +class uGUINpcWindow /*: uGUISystemMsg, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIOption vftable:0x1D41B10, Size:0x81F0, CRC32:0x165BDEB6 +class uGUIOption /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPPShop vftable:0x1D4BCB8, Size:0x2BD0, CRC32:0x6332812F +class uGUIPPShop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPPShop::cBuyInfo vftable:0x1D4BBB8, Size:0x14, CRC32:0x1E228A25 +class uGUIPPShop::cBuyInfo /*: cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cItemInfo vftable:0x1D4BB9C, Size:0x18, CRC32:0x4F6BABB4 +class uGUIPPShop::cItemInfo /*: cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cItemListSync vftable:0x1D4BBD4, Size:0xC, CRC32:0x2EDE8608 +class uGUIPPShop::cItemListSync /*: cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cJobInfo vftable:0x1D4BB80, Size:0x10, CRC32:0x18B0432C +class uGUIPPShop::cJobInfo /*: cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cScrollItemDispList vftable:0x1D4BC54, Size:0x1A0, CRC32:0x38ADB0A2 +class uGUIPPShop::cScrollItemDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cScrollItemInfoList vftable:0x1D4BC30, Size:0x24, CRC32:0x57A40886 +class uGUIPPShop::cScrollItemInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cScrollJobDispList vftable:0x1D4BC14, Size:0x98, CRC32:0x35540AF2 +class uGUIPPShop::cScrollJobDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPPShop::cScrollJobInfoList vftable:0x1D4BBF0, Size:0x24, CRC32:0x5A5DB2D6 +class uGUIPPShop::cScrollJobInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPPShopBuy vftable:0x1D4C410, Size:0xD00, CRC32:0x51D1E4B1 +class uGUIPPShopBuy /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPackageQuestHistory vftable:0x1D359E0, Size:0x2D00, CRC32:0x5FDD8BFC +class uGUIPackageQuestHistory /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPackageQuestHistory::cLogSelectListHeaderInfo vftable:0x1D358B4, Size:0x24, CRC32:0x565A5420 +class uGUIPackageQuestHistory::cLogSelectListHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cLogSelectListHeaderItem vftable:0x1D358D8, Size:0x44, CRC32:0x2C84069 +class uGUIPackageQuestHistory::cLogSelectListHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cLogSelectListItemInfo vftable:0x1D35874, Size:0x28, CRC32:0x72E79A8A +class uGUIPackageQuestHistory::cLogSelectListItemInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cLogSelectListItemItem vftable:0x1D35898, Size:0x44, CRC32:0x26758EC3 +class uGUIPackageQuestHistory::cLogSelectListItemItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cNpcFreeMessageItem vftable:0x1D358F4, Size:0xC, CRC32:0x128FA049 +class uGUIPackageQuestHistory::cNpcFreeMessageItem /*: MtObject*/ { +}; + +// uGUIPackageQuestHistory::cQuestListItemInfo vftable:0x1D359A4, Size:0x3C, CRC32:0x5681E15C +class uGUIPackageQuestHistory::cQuestListItemInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cQuestListItemItem vftable:0x1D359C8, Size:0xD0, CRC32:0x213F515 +class uGUIPackageQuestHistory::cQuestListItemItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cSequenceListNpcInfo vftable:0x1D35924, Size:0x40, CRC32:0x1F38ECF7 +class uGUIPackageQuestHistory::cSequenceListNpcInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cSequenceListNpcItem vftable:0x1D35948, Size:0x170, CRC32:0x4BAAF8BE +class uGUIPackageQuestHistory::cSequenceListNpcItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cSequenceListSeqInfo vftable:0x1D35964, Size:0x34, CRC32:0x500A4633 +class uGUIPackageQuestHistory::cSequenceListSeqInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPackageQuestHistory::cSequenceListSeqItem vftable:0x1D35988, Size:0x54, CRC32:0x498527A +class uGUIPackageQuestHistory::cSequenceListSeqItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPartyList vftable:0x1D36618, Size:0x7750, CRC32:0x4CC6109B +class uGUIPartyList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPartyList::cGUIPageListMainPawn vftable:0x1D364A0, Size:0x30, CRC32:0x19BC5BA0 +class uGUIPartyList::cGUIPageListMainPawn /*: uGUIPartyList::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIPartyList::cGUIPageListPartyMember vftable:0x1D36440, Size:0x30, CRC32:0x2B601C70 +class uGUIPartyList::cGUIPageListPartyMember /*: uGUIPartyList::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIPartyList::cGUIPageListPartySearch vftable:0x1D36560, Size:0x30, CRC32:0x6F743DAF +class uGUIPartyList::cGUIPageListPartySearch /*: uGUIPartyList::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIPartyList::cGUIPageListPlayerSearch vftable:0x1D365C0, Size:0x30, CRC32:0x2A6C0F54 +class uGUIPartyList::cGUIPageListPlayerSearch /*: uGUIPartyList::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIPartyList::cGUIPageListSupportPawn vftable:0x1D36500, Size:0x30, CRC32:0x762B6D98 +class uGUIPartyList::cGUIPageListSupportPawn /*: uGUIPartyList::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIPartyList::cTitle vftable:0x1D363C0, Size:0x14, CRC32:0x44CBA435 +class uGUIPartyList::cTitle /*: uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIPawnExpedition vftable:0x1D36EF0, Size:0x13B0, CRC32:0x4A704319 +class uGUIPawnExpedition /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPawnExpedition::cHeaderInfo vftable:0x1D36E74, Size:0x24, CRC32:0x62B87A3 +class uGUIPawnExpedition::cHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPawnExpedition::cHeaderItem vftable:0x1D36E98, Size:0x3C, CRC32:0x52B993EA +class uGUIPawnExpedition::cHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPawnExpedition::cListInfo vftable:0x1D36EB4, Size:0x34, CRC32:0x400EC44E +class uGUIPawnExpedition::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPawnExpedition::cListItem vftable:0x1D36ED8, Size:0x44, CRC32:0x149CD007 +class uGUIPawnExpedition::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPawnExpeditionResult vftable:0x1D375F8, Size:0x7F0, CRC32:0x6989A746 +class uGUIPawnExpeditionResult /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPawnReview vftable:0x1D37D08, Size:0xFF0, CRC32:0x49965F58 +class uGUIPawnReview /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPawnReviewEdit vftable:0x1D38448, Size:0x1150, CRC32:0x2CB9B770 +class uGUIPawnReviewEdit /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPawnReviewEdit::RadioButton vftable:0x1D383F8, Size:0xA0, CRC32:0x4F5267ED +class uGUIPawnReviewEdit::RadioButton /*: uGUIBase::cReferenceUIRadioButton, uGUIBase::cReferenceUIBase, uGUIBase::cSupportInstAnim, uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIPawnThinkList vftable:0x1D38B30, Size:0xAA0, CRC32:0x2E0A1691 +class uGUIPawnThinkList /*: uGUIBaseExtWindow, uGUIBaseExt, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPhoto vftable:0x1D391C8, Size:0xE20, CRC32:0x4A74678A +class uGUIPhoto /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPhotoAlbum vftable:0x1D398A8, Size:0xB50, CRC32:0x1312E9B +class uGUIPhotoAlbum /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPhotoUpload vftable:0x1D39F70, Size:0x1200, CRC32:0x4D8FFA34 +class uGUIPhotoUpload /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPhotoUpload::cCate vftable:0x1D39F44, Size:0x8, CRC32:0x73B2B036 +class uGUIPhotoUpload::cCate /*: MtObject*/ { +}; + +// uGUIPick01 vftable:0x1D3A660, Size:0x1080, CRC32:0x1962DBD +class uGUIPick01 /*: uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPick01::cGUIItem vftable:0x1D3A638, Size:0x160, CRC32:0x4BE591ED +class uGUIPick01::cGUIItem /*: MtObject*/ { +}; + +// uGUIPick01::cGUIUseItem vftable:0x1D3A608, Size:0x30, CRC32:0x735A5274 +class uGUIPick01::cGUIUseItem /*: MtObject*/ { +}; + +// uGUIPlace vftable:0x1D421E8, Size:0x880, CRC32:0x2ADEB05F +class uGUIPlace /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPointer vftable:0x1D3ADC8, Size:0xAA0, CRC32:0x9A9FFCE +class uGUIPointer /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopBuffBonus vftable:0x1D42840, Size:0x870, CRC32:0x4D4BAB95 +class uGUIPopBuffBonus /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopCmd01 vftable:0x1D42EC8, Size:0xB10, CRC32:0x5E1FA131 +class uGUIPopCmd01 /*: uGUIPopBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopCmd01::cItem vftable:0x1D42EA0, Size:0x54, CRC32:0x11622422 +class uGUIPopCmd01::cItem /*: uGUIBase::cSupportBase, MtObject*/ { +}; + +// uGUIPopCnvWnd vftable:0x1D435B8, Size:0x15C70, CRC32:0x56D4C320 +class uGUIPopCnvWnd /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopCraftDetail vftable:0x1D43C50, Size:0x1000, CRC32:0xC2CD96E +class uGUIPopCraftDetail /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopDetail01 vftable:0x1D443B8, Size:0x3880, CRC32:0x61DE8F7A +class uGUIPopDetail01 /*: uGUIPopBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopEventTop vftable:0x1D44B88, Size:0x10D0, CRC32:0x56B44AF +class uGUIPopEventTop /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + u32 'mRankNum' ; // Offset:0x108C, Var, CRC32:0x77BB382F, Flags:0x0 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopExchangeMoney vftable:0x1D45200, Size:0xCD0, CRC32:0x4A7FB8C1 +class uGUIPopExchangeMoney /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopFilter vftable:0x1D45948, Size:0x7460, CRC32:0x26B6AD5B +class uGUIPopFilter /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopFilter::cData vftable:0x1D458B4, Size:0x164, CRC32:0x456BE220 +class uGUIPopFilter::cData /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPopFilter::cListItem vftable:0x1D45898, Size:0x4E0, CRC32:0x2C310707 +class uGUIPopFilter::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPopItemSelect vftable:0x1D46048, Size:0x3870, CRC32:0x4A0495DD +class uGUIPopItemSelect /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopItemSelect::cListInfo vftable:0x1D4602C, Size:0x2C, CRC32:0x2E3EF66B +class uGUIPopItemSelect::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPopItemSelect::cListItem vftable:0x1D46010, Size:0x180, CRC32:0x7AACE222 +class uGUIPopItemSelect::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPopListDialog vftable:0x1D46748, Size:0xEF0, CRC32:0x37A328AC +class uGUIPopListDialog /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopListDialog::cListInfo vftable:0x1D466F8, Size:0x38, CRC32:0xE31956F +class uGUIPopListDialog::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPopListDialog::cListItem vftable:0x1D4671C, Size:0x40, CRC32:0x5AA38126 +class uGUIPopListDialog::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIPopNumber01 vftable:0x1D46DF0, Size:0xCA0, CRC32:0x28D7173D +class uGUIPopNumber01 /*: uGUIPopBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopPartyList vftable:0x1D47490, Size:0x1AE0, CRC32:0x43044819 +class uGUIPopPartyList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopPartyList::cJob vftable:0x1D47468, Size:0x80, CRC32:0xBE65C9E +class uGUIPopPartyList::cJob /*: MtObject*/ { +}; + +// uGUIPopPartyMember vftable:0x1D47D08, Size:0xDF0, CRC32:0x6347ED86 +class uGUIPopPartyMember /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopPawnList vftable:0x1D483F8, Size:0x5CD0, CRC32:0x256145F9 +class uGUIPopPawnList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopPawnPoint vftable:0x1D48B88, Size:0x1290, CRC32:0x324B67FA +class uGUIPopPawnPoint /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopPlayerSearch vftable:0x1D49208, Size:0x1100, CRC32:0x7E7A7F8C +class uGUIPopPlayerSearch /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopProfile vftable:0x1D498D8, Size:0x10C0, CRC32:0x4CB3D3D5 +class uGUIPopProfile /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopRimStone vftable:0x1D49FA8, Size:0x2330, CRC32:0xB99B13B +class uGUIPopRimStone /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopRmcQuestInfo vftable:0x1D4A718, Size:0xDF0, CRC32:0x79545A19 +class uGUIPopRmcQuestInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopSkillInfo vftable:0x1D4AD90, Size:0x8E0, CRC32:0x4654F16B +class uGUIPopSkillInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPopTopSel vftable:0x1D4B498, Size:0x11D0, CRC32:0x3A2A7E4A +class uGUIPopTopSel /*: uGUIPopBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPresetEquip vftable:0x1D4CAD8, Size:0x2910, CRC32:0x2682128 +class uGUIPresetEquip /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIPresetEquip::cListInfo vftable:0x1D4CAB8, Size:0x24, CRC32:0x1198BDEE +class uGUIPresetEquip::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIPresetEquip::cListItem vftable:0x1D4CA9C, Size:0x40, CRC32:0x450AA9A7 +class uGUIPresetEquip::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestActive vftable:0x1D4D940, Size:0x1290, CRC32:0x78C07E02 +class uGUIQuestActive /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestBoard vftable:0x1D4E058, Size:0x17F0, CRC32:0x6FC47599 +class uGUIQuestBoard /*: uGUIQuestBoardBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestBoard::cListInfo vftable:0x1D4E038, Size:0x24, CRC32:0x761CFE0D +class uGUIQuestBoard::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestBoardBase vftable:0x1D4E708, Size:0x1700, CRC32:0x4C936775 +class uGUIQuestBoardBase /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestBoardBase::cListHeader vftable:0x1D4E6D8, Size:0x50, CRC32:0x23CE21F0 +class uGUIQuestBoardBase::cListHeader /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestBoardBase::cListItem vftable:0x1D4E6F4, Size:0x58, CRC32:0x1E0B4621 +class uGUIQuestBoardBase::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestDelivery vftable:0x1D4EE18, Size:0x16B0, CRC32:0x75EEAF3D +class uGUIQuestDelivery /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mMode' ; // Offset:0x7E0, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestDelivery::cDeliveryItem vftable:0x1D4EDF0, Size:0xC, CRC32:0x17C5E49D +class uGUIQuestDelivery::cDeliveryItem /*: cUIObject, MtObject*/ { +}; + +// uGUIQuestDelivery::cListInfo vftable:0x1D4EDCC, Size:0x24, CRC32:0x56148843 +class uGUIQuestDelivery::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestDelivery::cListItem vftable:0x1D4EDB0, Size:0x40, CRC32:0x2869C0A +class uGUIQuestDelivery::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestHistory vftable:0x1D4F570, Size:0x1220, CRC32:0x750B4144 +class uGUIQuestHistory /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestHistory::cListInfo vftable:0x1D4F554, Size:0x2C, CRC32:0x59CA9889 +class uGUIQuestHistory::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestHistory::cListItem vftable:0x1D4F538, Size:0x3C, CRC32:0xD588CC0 +class uGUIQuestHistory::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestInfo vftable:0x1D4FD38, Size:0x1CC0, CRC32:0x6BE1A40F +class uGUIQuestInfo /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { +}; + +// uGUIQuestInfo::cListInfo vftable:0x1D4FD18, Size:0x2C, CRC32:0x3B41E87B +class uGUIQuestInfo::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestInfo::cRewardItem vftable:0x1D4FCFC, Size:0x820, CRC32:0x6B4310DB +class uGUIQuestInfo::cRewardItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestList vftable:0x1D50438, Size:0x4590, CRC32:0x64A06D40 +class uGUIQuestList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mFlowId' ; // Offset:0x7E0, Var, CRC32:0x54AEB614, Flags:0x10000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestList::cDetailInfo vftable:0x1D5041C, Size:0x2C, CRC32:0x15B779FB +class uGUIQuestList::cDetailInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestList::cListInfo vftable:0x1D503F8, Size:0x2C, CRC32:0x39A9A00B +class uGUIQuestList::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestList::cListItem vftable:0x1D503DC, Size:0xD0, CRC32:0x6D3BB442 +class uGUIQuestList::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestReward vftable:0x1D50B90, Size:0x7430, CRC32:0x7D0FF053 +class uGUIQuestReward /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuestReward::cListInfo vftable:0x1D50AF8, Size:0x30, CRC32:0x313AE37F +class uGUIQuestReward::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestReward::cListItem vftable:0x1D50ADC, Size:0x198, CRC32:0x65A8F736 +class uGUIQuestReward::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestReward::cRewardInfo vftable:0x1D50B60, Size:0x10C, CRC32:0x4C6F9265 +class uGUIQuestReward::cRewardInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIQuestReward::cRewardItem vftable:0x1D50B30, Size:0x970, CRC32:0x18FD862C +class uGUIQuestReward::cRewardItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIQueueAnnounce vftable:0x1D513E8, Size:0xA00, CRC32:0x121CB82D +class uGUIQueueAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceCaution vftable:0x1D516D8, Size:0xA20, CRC32:0x6BBE0C24 +class uGUIQueueAnnounceCaution /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceClanDungeon vftable:0x1D51B40, Size:0xA10, CRC32:0x4360CB22 +class uGUIQueueAnnounceClanDungeon /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceDarkBoss vftable:0x1D526C8, Size:0xEE0, CRC32:0x84B078A +class uGUIQueueAnnounceDarkBoss /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceDarkDungeon vftable:0x1D52D50, Size:0xA40, CRC32:0x420825C1 +class uGUIQueueAnnounceDarkDungeon /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceLvUp vftable:0x1D53420, Size:0xA40, CRC32:0x1AACDF14 +class uGUIQueueAnnounceLvUp /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnouncePawn vftable:0x1D51850, Size:0xA50, CRC32:0x44B7F985 +class uGUIQueueAnnouncePawn /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceQuest vftable:0x1D51560, Size:0x15C0, CRC32:0x48AB8709 +class uGUIQueueAnnounceQuest /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceQuestAllClear vftable:0x1D519C8, Size:0x1210, CRC32:0x4C058FBC +class uGUIQueueAnnounceQuestAllClear /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQueueAnnounceSeasonDungeon vftable:0x1D51CB8, Size:0xA20, CRC32:0x22023102 +class uGUIQueueAnnounceSeasonDungeon /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuickParty vftable:0x1D53A90, Size:0x7E0, CRC32:0x7CF629F1 +class uGUIQuickParty /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIQuickPartyCancel vftable:0x1D47608, Size:0x1AE0, CRC32:0x6DB425E1 +class uGUIQuickPartyCancel /*: uGUIPopPartyList, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRankUp vftable:0x1D548A8, Size:0x7F0, CRC32:0x1715F14E +class uGUIRankUp /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRankingBoard vftable:0x1D541A0, Size:0x1850, CRC32:0x705A7634 +class uGUIRankingBoard /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + event 'LOXV' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x5B5723E9, Flags:0xA0000 + u32 'num' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x23BC5091, Flags:0x0 + bool 'my_rank_debug' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x49DAF196, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRankingBoard::cListInfo vftable:0x1D54140, Size:0x58, CRC32:0x53358DB0 +class uGUIRankingBoard::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIRankingBoard::cListItem vftable:0x1D54124, Size:0x58, CRC32:0x7A799F9 +class uGUIRankingBoard::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIRankingBoard::cRankingInfo vftable:0x1D54180, Size:0x24, CRC32:0x51E443F2 +class uGUIRankingBoard::cRankingInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIRankingBoard::cRankingItem vftable:0x1D54164, Size:0x68, CRC32:0x57657BB +class uGUIRankingBoard::cRankingItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIRetry vftable:0x1D54F00, Size:0xA40, CRC32:0x7023B271 +class uGUIRetry /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRetrySelect vftable:0x1D555F0, Size:0x8C0, CRC32:0x50A6B845 +class uGUIRetrySelect /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRimStone vftable:0x1D55ED0, Size:0x27E0, CRC32:0x49380772 +class uGUIRimStone /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRimStone::cGUIPageListLostPawn vftable:0x1D55E70, Size:0x30, CRC32:0x1530AD9B +class uGUIRimStone::cGUIPageListLostPawn /*: uGUIRimStone::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIRimStone::cGUIPageListMainPawn vftable:0x1D55DA0, Size:0x30, CRC32:0x1B87886 +class uGUIRimStone::cGUIPageListMainPawn /*: uGUIRimStone::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIRimStone::cGUIPageListSearchCategory vftable:0x1D55C70, Size:0x30, CRC32:0x3E69EC2E +class uGUIRimStone::cGUIPageListSearchCategory /*: cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIRimStone::cGUIPageListSearchPawn vftable:0x1D55D38, Size:0x34, CRC32:0x57242E85 +class uGUIRimStone::cGUIPageListSearchPawn /*: uGUIRimStone::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIRimStone::cGUIPageListSupportPawn vftable:0x1D55E08, Size:0x30, CRC32:0x732FE42A +class uGUIRimStone::cGUIPageListSupportPawn /*: uGUIRimStone::cGUIPageListCommon, cGUIPageList, cUIObject, MtObject*/ { +}; + +// uGUIRimWarp vftable:0x1D56750, Size:0x1520, CRC32:0x41AC9830 +class uGUIRimWarp /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mMenuType' ; // Offset:0x7E4, Var, CRC32:0xD1A81F42, Flags:0x0 + u32 'mFlowId' ; // Offset:0x7E8, Var, CRC32:0x54AEB614, Flags:0x0 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIRimWarp::cHeaderInfo vftable:0x1D566F4, Size:0x28, CRC32:0x624BD6D7 +class uGUIRimWarp::cHeaderInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIRimWarp::cHeaderItem vftable:0x1D566D8, Size:0x3C, CRC32:0x36D9C29E +class uGUIRimWarp::cHeaderItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIRimWarp::cListInfo vftable:0x1D56734, Size:0x4C, CRC32:0x3577AFD9 +class uGUIRimWarp::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIRimWarp::cListItem vftable:0x1D56718, Size:0x50, CRC32:0x61E5BB90 +class uGUIRimWarp::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIRoyalAnnounce vftable:0x1D56E88, Size:0xA80, CRC32:0x6FF310BB +class uGUIRoyalAnnounce /*: uGUIQueueAnnounce, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISaveListComment vftable:0x1D574F8, Size:0xB90, CRC32:0x74BA00A +class uGUISaveListComment /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISaveListPC vftable:0x1D57B68, Size:0x14D0, CRC32:0x3085C8C7 +class uGUISaveListPC /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + bool 'Cancel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xFC35E0, Setter:0x0, CRC32:0xAE453FBB, Flags:0x830000 + bool 'FlowEnd' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xFC35F0, Setter:0x0, CRC32:0x10047B19, Flags:0x830000 + u32 'Mode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xFC35D0, Setter:0xFC3B40, CRC32:0xC807176A, Flags:0x800000 +}; + +// uGUIScheduler vftable:0x20C5620, Size:0x340, CRC32:0x5A290F8C +class uGUIScheduler /*: uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'FlowId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C040, Setter:0x159CCE0, CRC32:0x9261E5EC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerSelect vftable:0x1D583F8, Size:0x1020, CRC32:0x7B32EC85 +class uGUIServerSelect /*: uGUIServerSelectBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerSelectBase vftable:0x1D58260, Size:0x1020, CRC32:0x111A1D4B +class uGUIServerSelectBase /*: uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerSelectBase::cGUIMember vftable:0x1D58220, Size:0x24, CRC32:0x11835284 +class uGUIServerSelectBase::cGUIMember /*: MtObject*/ { +}; + +// uGUIServerSelectBase::cName vftable:0x1D581C4, Size:0x14, CRC32:0x13845271 +class uGUIServerSelectBase::cName /*: MtObject*/ { +}; + +// uGUIServerSelectBase::cScrollDistList vftable:0x1D581E0, Size:0x4C, CRC32:0x67665197 +class uGUIServerSelectBase::cScrollDistList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIServerSelectBase::cScrollInfoList vftable:0x1D581FC, Size:0x30, CRC32:0x7DEF4F73 +class uGUIServerSelectBase::cScrollInfoList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIServerSelectSMENU vftable:0x1D58590, Size:0x1020, CRC32:0x1BECED81 +class uGUIServerSelectSMENU /*: uGUIServerSelectBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerSelectSMENUserver vftable:0x1D58728, Size:0x1020, CRC32:0x62DD0257 +class uGUIServerSelectSMENUserver /*: uGUIServerSelectSMENU, uGUIServerSelectBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerUIDialog vftable:0x1D594E8, Size:0x840, CRC32:0x6BA308A +class uGUIServerUIDialog /*: uGUIServerUIBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerUITimeEvent vftable:0x1D59BA0, Size:0x3080, CRC32:0x55E176E4 +class uGUIServerUITimeEvent /*: uGUIServerUIBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIServerUITimeEvent::cScrollInfoDispList vftable:0x1D59B8C, Size:0x3C, CRC32:0x58036EDF +class uGUIServerUITimeEvent::cScrollInfoDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIServerUITimeEvent::cScrollInfoItemList vftable:0x1D59B68, Size:0x20, CRC32:0x8F034B5 +class uGUIServerUITimeEvent::cScrollInfoItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIServerUITimeEvent::cScrollMenuDispList vftable:0x1D59B4C, Size:0x50, CRC32:0x521D5AFF +class uGUIServerUITimeEvent::cScrollMenuDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIServerUITimeEvent::cScrollMenuItemList vftable:0x1D59B28, Size:0x20, CRC32:0x2EE0095 +class uGUIServerUITimeEvent::cScrollMenuItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIShakeEnemy vftable:0x1D5A2D0, Size:0x7F0, CRC32:0xD867C01 +class uGUIShakeEnemy /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIShakeStick vftable:0x1D5A930, Size:0x8D0, CRC32:0x39A20C7A +class uGUIShakeStick /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIShop vftable:0x1D5AFD0, Size:0x5C80, CRC32:0x5B7D6B69 +class uGUIShop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIShop::cScrollDispList vftable:0x1D5AFBC, Size:0x1A0, CRC32:0x2D4C07E6 +class uGUIShop::cScrollDispList /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUIShop::cScrollItemList vftable:0x1D5AF98, Size:0x28, CRC32:0x7DBF5D8C +class uGUIShop::cScrollItemList /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUIShopBuy vftable:0x1D5B658, Size:0xD40, CRC32:0x6734521C +class uGUIShopBuy /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIShopItem vftable:0x1D26610, Size:0xD90, CRC32:0x1751C593 +class uGUIShopItem /*: uGUIItem01, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIShopTitle vftable:0x1D5BC88, Size:0x9A0, CRC32:0x6A35229B +class uGUIShopTitle /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISkill vftable:0x1D5C558, Size:0x5EC0, CRC32:0xFE07E5 +class uGUISkill /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISkill::PresetLeftItem vftable:0x1D5C518, Size:0x40, CRC32:0x73378686 +class uGUISkill::PresetLeftItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUISkill::cJobData vftable:0x1D5C4E0, Size:0x10, CRC32:0x1B598847 +class uGUISkill::cJobData /*: cUIObject, MtObject*/ { +}; + +// uGUISkill::cListInfo vftable:0x1D5C4BC, Size:0x60, CRC32:0x424C93C7 +class uGUISkill::cListInfo /*: uGUIBase::cScrollListInfoBase, cUIObject, MtObject*/ { +}; + +// uGUISkill::cListItem vftable:0x1D5C48C, Size:0x158, CRC32:0x16DE878E +class uGUISkill::cListItem /*: uGUIBase::cScrollListItemBase, cUIObject, MtObject*/ { +}; + +// uGUISkill::cSkillData vftable:0x1D5C4FC, Size:0x14, CRC32:0x48D7B1D4 +class uGUISkill::cSkillData /*: cUIObject, MtObject*/ { +}; + +// uGUISkillLvUp vftable:0x1D5CCE8, Size:0x9D0, CRC32:0x151EC3D6 +class uGUISkillLvUp /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISkippableAnnounce vftable:0x1D5D350, Size:0x7E0, CRC32:0x6FC520BF +class uGUISkippableAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIStockFurnitureItem vftable:0x1D199D0, Size:0xCC0, CRC32:0x6EA77B1E +class uGUIStockFurnitureItem /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIStorage vftable:0x1D5E090, Size:0xDE0, CRC32:0x6FD78C52 +class uGUIStorage /*: uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIStorageEx vftable:0x1D5E890, Size:0x13F0, CRC32:0x3F53DD44 +class uGUIStorageEx /*: uGUIItemBaggageEx, uGUIStorage, uGUIItemBase01, uGUIUseItemBase, uGUIsMenuBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + u32 'mSwitch' ; // Offset:0x7E8, Var, CRC32:0x5175E229, Flags:0x10000 + u32 'mVAR_sw' ; // Offset:0x7EC, Var, CRC32:0xFB21F7B9, Flags:0x10000 + u32 'mVAR_change_flow' ; // Offset:0x7F0, Var, CRC32:0x2E333453, Flags:0x10000 + u32 'mReserveSwitch' ; // Offset:0x818, Var, CRC32:0x2829E425, Flags:0x10000 + bool 'mIsReserveForce' ; // Offset:0x81C, Var, CRC32:0x2DFB61B1, Flags:0x10000 + s32 'mMoveNum' ; // Offset:0x820, Var, CRC32:0x6C681E08, Flags:0x10000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISubList vftable:0x1D5F100, Size:0x900, CRC32:0x6E2B2CB +class uGUISubList /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISubRecipe vftable:0x1D5F758, Size:0xA40, CRC32:0x274DDFB0 +class uGUISubRecipe /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISubtitles vftable:0x20C5738, Size:0xAC0, CRC32:0x3B2C2A12 +class uGUISubtitles /*: uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + class 'Subtitles'[22] ; // Offset:0x348, Array, CRC32:0xDA37B4DA, Flags:0x200000 + u32 'MessageInstanceId' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C140, Setter:0x159CF00, CRC32:0x304403B7, Flags:0x800000 + string 'MessageResourcePath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C150, Setter:0x159CF10, CRC32:0x39DC0D96, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISubtitles::Subtitles vftable:0x20C5724, Size:0x54, CRC32:0x37690BB7 +class uGUISubtitles::Subtitles /*: MtObject*/ { + u32 'Language' ; // Offset:0x4, Var, CRC32:0xD252EC1C, Flags:0x0 + bool 'Visible' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C2F0, Setter:0x159DF20, CRC32:0x4AF22E3A, Flags:0x800000 + string 'IndexName' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C070, Setter:0x159CD50, CRC32:0x9F91BFB1, Flags:0x800000 +}; + +// uGUISystemMsg vftable:0x1D5FE48, Size:0x1980, CRC32:0x7A06104E +class uGUISystemMsg /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUISystemMsg::cChoiceInfo vftable:0x1D5FDEC, Size:0x214, CRC32:0x3E38E323 +class uGUISystemMsg::cChoiceInfo /*: MtObject*/ { +}; + +// uGUISystemMsg::cPageInfo vftable:0x1D5FE1C, Size:0xA1C, CRC32:0x18E04C3C +class uGUISystemMsg::cPageInfo /*: MtObject*/ { +}; + +// uGUITelop vftable:0x1D60568, Size:0xC00, CRC32:0x6BE661A1 +class uGUITelop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + f32 'mCntSkip' ; // Offset:0xBF8, Var, CRC32:0xE37CF762, Flags:0x0 + u32 'MessageIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xFEC160, Setter:0xFEC320, CRC32:0x52CC87C0, Flags:0x800000 + custom 'MessageResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xFEC170, Setter:0xFEC340, CRC32:0xD61D8C50, Flags:0x800000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUITextHud vftable:0x1D60C08, Size:0x830, CRC32:0x2D3E4A86 +class uGUITextHud /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUITitle vftable:0x1D61260, Size:0x8C0, CRC32:0x75F59BF9 +class uGUITitle /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUITouchTargetSelector vftable:0x1D3F158, Size:0x870, CRC32:0x27717651 +class uGUITouchTargetSelector /*: uGUIGaugeNpcBase, uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUITutorialAnnounce vftable:0x1D61920, Size:0x8A0, CRC32:0x319B3D13 +class uGUITutorialAnnounce /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUITutorialPop vftable:0x1D61F98, Size:0xA80, CRC32:0x231DAD8B +class uGUITutorialPop /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIUseItemBase::cEquipInfo vftable:0x1D62630, Size:0x10, CRC32:0x6C67946B +class uGUIUseItemBase::cEquipInfo /*: MtObject*/ { +}; + +// uGUIUseItemBase::cGetItemInfo vftable:0x1D30AC0, Size:0xC, CRC32:0x3DF71929 +class uGUIUseItemBase::cGetItemInfo /*: MtObject*/ { +}; + +// uGUIWarehouseSelect vftable:0x1D62EF8, Size:0x940, CRC32:0x6DBDCAE7 +class uGUIWarehouseSelect /*: uGUIBase, uGUI, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + class 'Variable' ; // Offset:0x320, Var, CRC32:0xCAC41A24, Flags:0x0 + bool 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x538AB0, Setter:0x15989DA, CRC32:0x1448E7B, Flags:0x800000 + bool 'Manual3DPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD6DA70, Setter:0x159CE00, CRC32:0x3859A58C, Flags:0x800000 + bool 'UseViewInstance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1595C20, Setter:0x159DEE0, CRC32:0x955763EA, Flags:0x800000 + bool 'VirtualScreen' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C620, Setter:0x159DF00, CRC32:0x36B20C13, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xD4DE40, Setter:0x15989D5, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u8 'StencilRef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C230, Setter:0x159DED0, CRC32:0x184A205E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'DrawStencil' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C3C0, Setter:0x159CCC0, CRC32:0x5FD730A1, Flags:0x800000 + u32 'ScreenLayer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x159C220, Setter:0xD77A10, CRC32:0x1E2FBA2, Flags:0x800000 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x48A350, Setter:0xD77420, CRC32:0x642F418E, Flags:0x800000 + bool 'Wait' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xDBF4C0, Setter:0x159DFD0, CRC32:0x2223D324, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGUIsMenuBase::cPulldown vftable:0x1D498B8, Size:0x470, CRC32:0x69D26AB8 +class uGUIsMenuBase::cPulldown /*: MtObject*/ { +}; + +// uGeometry2 vftable:0x20DA1F0, Size:0xE0, CRC32:0x33A9D93B +class uGeometry2 /*: uGeometry2Base, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mOwnerSystem' ; // Offset:0x40, Var, CRC32:0x6B8CA74B, Flags:0x0 + class 'OwnerInfo' ; // Offset:0x40, Var, CRC32:0xF415E485, Flags:0x60000 + class 'mGeometryArray' ; // Offset:0x50, Var, CRC32:0x4D82E8BB, Flags:0x0 + class 'Geometry' ; // Offset:0x50, Var, CRC32:0x93DB9302, Flags:0x60000 + classref 'mpGeometryGroupUnit' ; // Offset:0xD4, Var, CRC32:0xED6FCABC, Flags:0x0 + classref 'Parent' ; // Offset:0xD4, Var, CRC32:0xC5DD9A86, Flags:0x110000 + u32 'Num' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196ECF0, Setter:0x196EEA0, CRC32:0x1BF11671, Flags:0x820000 + bool 'Disp' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196ED30, Setter:0x196EEC0, CRC32:0xD9DC442F, Flags:0x820000 + bool 'Active' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196ED20, Setter:0x196EEB0, CRC32:0xB34D06CB, Flags:0x820000 + custom 'mpRGeometry2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196ED10, Setter:0x196EEE0, CRC32:0x4EA8509E, Flags:0x800000 + custom 'rGeometry2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196ED10, Setter:0x196EEE0, CRC32:0xD175C242, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGeometry2Collider vftable:0x20DA428, Size:0x120, CRC32:0x68077325 +class uGeometry2Collider /*: uGeometry2Base, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpOwner' ; // Offset:0x40, Var, CRC32:0x4B533E00, Flags:0x100000 + class 'mColliderNode' ; // Offset:0x50, Var, CRC32:0x2376F4AA, Flags:0x20000 + classref 'mpRegistNodeParam' ; // Offset:0xF0, Var, CRC32:0x63175E22, Flags:0x20000 + class 'mHitNodeArrayArray' ; // Offset:0xF4, Var, CRC32:0x10E5DD34, Flags:0x0 + bool 'mFlgForceRegistActive' ; // Offset:0x108, Var, CRC32:0xBCABD5A2, Flags:0x0 + bool 'mFlgForceRegistPassive' ; // Offset:0x109, Var, CRC32:0x72CC0483, Flags:0x0 + bool 'mFlgUseResourceType' ; // Offset:0x10A, Var, CRC32:0xF5126D82, Flags:0x0 + u32 'mDefaultType' ; // Offset:0x10C, Var, CRC32:0x902CF88D, Flags:0x0 + bool 'mFlgUseResourceAttribute' ; // Offset:0x110, Var, CRC32:0xC271033F, Flags:0x0 + u32 'mDefaultAttribute' ; // Offset:0x114, Var, CRC32:0xFCC0D200, Flags:0x0 + bool 'mFlgUseResourceActiveUseFunctionID' ; // Offset:0x118, Var, CRC32:0x7985D236, Flags:0x0 + u32 'mDefaultActiveUseFunctionID' ; // Offset:0x11C, Var, CRC32:0x10156CF, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + classref 'mpAttachGeometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19708C0, Setter:0x1970B30, CRC32:0xE1937D65, Flags:0x900000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGeometry2Collider::cContactInfo vftable:0x20DA3AC, Size:0x50, CRC32:0x7D8CEB43 +class uGeometry2Collider::cContactInfo /*: MtObject*/ { + classref 'mpHitActiveNode' ; // Offset:0x4, Var, CRC32:0xCAFF84B9, Flags:0x100000 + classref 'mpHitPassiveNode' ; // Offset:0x8, Var, CRC32:0xC23D7E9B, Flags:0x100000 + u32 'mHitActiveNodeGeometryIndex' ; // Offset:0xC, Var, CRC32:0x1743AE2A, Flags:0x100000 + u32 'mHitPassiveNodeGeometryIndex' ; // Offset:0x10, Var, CRC32:0x78A77011, Flags:0x100000 + f32 'pos(X) ' ; // Offset:0x20, Var, CRC32:0x3B05255F, Flags:0x20000 + f32 'pos(Y) ' ; // Offset:0x24, Var, CRC32:0x2C7E311C, Flags:0x20000 + f32 'pos(Z) ' ; // Offset:0x28, Var, CRC32:0x15F30DD9, Flags:0x20000 + f32 'normal(X) ' ; // Offset:0x30, Var, CRC32:0xF69885AB, Flags:0x20000 + f32 'normal(Y) ' ; // Offset:0x34, Var, CRC32:0x3DC4560E, Flags:0x20000 + f32 'normal(Z) ' ; // Offset:0x38, Var, CRC32:0xBB5024A0, Flags:0x20000 + f32 'distance ' ; // Offset:0x40, Var, CRC32:0x88126373, Flags:0x20000 + f32 'toi ' ; // Offset:0x44, Var, CRC32:0xF006E994, Flags:0x20000 + bool 'bFind ' ; // Offset:0x48, Var, CRC32:0x627114E2, Flags:0x20000 +}; + +// uGeometry2Collider::cNodeGeometryInfo vftable:0x20DA3C8, Size:0x48, CRC32:0x564820FD +class uGeometry2Collider::cNodeGeometryInfo /*: MtObject*/ { + classref 'mpRegistGeometry' ; // Offset:0x40, Var, CRC32:0x3ECEF549, Flags:0x100000 + classref 'mpRegistGeometryParam' ; // Offset:0x44, Var, CRC32:0x9DB6D80A, Flags:0x100000 +}; + +// uGeometry2Group vftable:0x20DA730, Size:0x88, CRC32:0x454CE087 +class uGeometry2Group /*: uGeometry2Base, cUnit, MtObject*/ { + event '[h' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDC9637AB, Flags:0xA0000 + event '`OFF' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDA2F7C9C, Flags:0xA0000 + event '`ON' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x411FC41F, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mOwnerSystem' ; // Offset:0x40, Var, CRC32:0x6B8CA74B, Flags:0x0 + class 'OwnerInfo' ; // Offset:0x40, Var, CRC32:0xF415E485, Flags:0x60000 + class 'mGeometryGroupArray' ; // Offset:0x4C, Var, CRC32:0x2B6B2572, Flags:0x0 + class 'GeometryGroup' ; // Offset:0x4C, Var, CRC32:0x64A682FE, Flags:0x60000 + bool '}`XbhON/OFF' ; // Offset:0x7C, Var, CRC32:0x78C228BD, Flags:0x0 + u32 'ŏO[v' ; // Offset:0x80, Var, CRC32:0x1B116D02, Flags:0x0 + custom 'Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19714F0, Setter:0x19719C0, CRC32:0xBA1869BF, Flags:0x800000 + custom 'Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19714F0, Setter:0x19719C0, CRC32:0xBA1869BF, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGeometry2GroupCollider vftable:0x20DA810, Size:0x100, CRC32:0x55587F80 +class uGeometry2GroupCollider /*: uGeometry2Base, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mOwnerSystem' ; // Offset:0x40, Var, CRC32:0x6B8CA74B, Flags:0x40000 + bool 'mFlgRegistCollider' ; // Offset:0x58, Var, CRC32:0x7518EEAE, Flags:0x0 + class 'mNodeArray' ; // Offset:0x5C, Var, CRC32:0xA6D8B27A, Flags:0x20000 + classref 'mpGeometryGroupUnit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1971EC0, Setter:0x1972060, CRC32:0xED6FCABC, Flags:0x900000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGeometry3 vftable:0x20DA2C0, Size:0x100, CRC32:0x44AEE9AD +class uGeometry3 /*: cUnit, MtObject*/ { + event 'RestoreGeometry' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x85DA21A, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mGeometryGroup' ; // Offset:0x50, Var, CRC32:0x814E42C9, Flags:0x0 + classref 'mpColliderNode' ; // Offset:0xE0, Var, CRC32:0x35B5F239, Flags:0x0 + bool 'mFlgUseGroupID' ; // Offset:0xEC, Var, CRC32:0xD69AC757, Flags:0x0 + u32 'mUserPtrUseMode' ; // Offset:0xF0, Var, CRC32:0x652E7AD0, Flags:0x0 + u32 'mUseGroupIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196F4D0, Setter:0x196F740, CRC32:0xEA8B9C9E, Flags:0x800000 + u32 'mUseGroupID' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196F4C0, Setter:0x196F6F0, CRC32:0x851EC775, Flags:0x800000 + custom 'mpRGeometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196F480, Setter:0x196F6B0, CRC32:0xACD3CAD0, Flags:0x800000 + class 'AttachModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x196F450, Setter:0x196F540, CRC32:0x439DEEAD, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGodRaysFilter vftable:0x20BF528, Size:0x110, CRC32:0x6B71A237 +class uGodRaysFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mColor' ; // Offset:0x50, Var, CRC32:0x9BE2D228, Flags:0x0 + vector3 'mDirection' ; // Offset:0x60, Var, CRC32:0x62DE5FF7, Flags:0x0 + vector3 'mPoint' ; // Offset:0x70, Var, CRC32:0x4A1169E5, Flags:0x0 + f32 'mMaskRadius' ; // Offset:0x84, Var, CRC32:0x918C878, Flags:0x0 + f32 'mMaskWeight' ; // Offset:0x88, Var, CRC32:0x35A9F363, Flags:0x0 + f32 'mDecay' ; // Offset:0x8C, Var, CRC32:0x44725D67, Flags:0x0 + f32 'mThreshold' ; // Offset:0x90, Var, CRC32:0xB7EEA4D2, Flags:0x0 + f32 'mGamma' ; // Offset:0x94, Var, CRC32:0x39F74AB0, Flags:0x0 + f32 'mDirectionLength' ; // Offset:0x98, Var, CRC32:0x881F9A78, Flags:0x0 + classref 'mpBlur'[5] ; // Offset:0x9C, Array, CRC32:0x9F169D46, Flags:0x230000 + classref 'mpFinal' ; // Offset:0xB0, Var, CRC32:0x68E684BA, Flags:0x30000 + classref 'mpTempTexture' ; // Offset:0xB4, Var, CRC32:0xB37CFFC8, Flags:0x30000 + f32 'mStartZ' ; // Offset:0xB8, Var, CRC32:0x1AB819B2, Flags:0x0 + f32 'mEndZ' ; // Offset:0xBC, Var, CRC32:0x3CD3E372, Flags:0x0 + f32 'mShadowFactor' ; // Offset:0xDC, Var, CRC32:0x5C5E571D, Flags:0x0 + f32 'mScale' ; // Offset:0xE0, Var, CRC32:0x11F2BF45, Flags:0x0 + f32 'mShadowThreshold' ; // Offset:0xE4, Var, CRC32:0xA3257008, Flags:0x0 + classref 'mpOcclusionFactor' ; // Offset:0xF0, Var, CRC32:0x935CF6A3, Flags:0x30000 + f32 'mOcclusionSphereRadius' ; // Offset:0xF4, Var, CRC32:0x4B3203B5, Flags:0x0 + f32 'mOcclusionBlurWidthOffset' ; // Offset:0xF8, Var, CRC32:0xD11A6AA0, Flags:0x0 + f32 'mOcclusionBlurWidthScale' ; // Offset:0xFC, Var, CRC32:0xFBD6C37A, Flags:0x0 + bool 'mUseShadow' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5E0, Setter:0x14E1000, CRC32:0x38E0CFF9, Flags:0x800000 + bool 'mUseLDR' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE6C0, Setter:0x14E14F0, CRC32:0xECBC7B3, Flags:0x800000 + bool 'mCutoff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE560, Setter:0x14E0720, CRC32:0xACA943, Flags:0x800000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6880, Setter:0x14E0860, CRC32:0xFF50780E, Flags:0x800000 + u32 'mMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFA0, Setter:0x14E0920, CRC32:0x4EC38C97, Flags:0x800000 + u32 'mIterativeNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6870, Setter:0x14E0850, CRC32:0xF946A367, Flags:0x800000 + bool 'mUseGray' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE580, Setter:0x14E0830, CRC32:0x78339B7A, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mUsePoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE6D0, Setter:0x14E1510, CRC32:0x9CE30F62, Flags:0x800000 + bool 'mUseOcclusionBlurWidth' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5B0, Setter:0x14E0A30, CRC32:0x4F2167A4, Flags:0x800000 + bool 'mUseOcclusionAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE590, Setter:0x14E09C0, CRC32:0x9AD52D16, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGraphPatch vftable:0x0, Size:0x50, CRC32:0x4878F43E +class uGraphPatch /*: cUnit, MtObject*/ { +}; + +// uGrass vftable:0x20D12E0, Size:0x180, CRC32:0x3A3C85C4 +class uGrass /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + hermitecurve 'mHorizontalReduction' ; // Offset:0x54, Var, CRC32:0x8F0D4DD9, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x98, Var, CRC32:0xE3993DD6, Flags:0x8000000 + u32 'mWindGroup' ; // Offset:0x9C, Var, CRC32:0xC334694E, Flags:0x0 + f32 'AmbientOcclusionScale' ; // Offset:0xB0, Var, CRC32:0x4D94DBCD, Flags:0x0 + f32 'AmbientOcclusionOffset' ; // Offset:0xB4, Var, CRC32:0x84A90E97, Flags:0x0 + f32 'LightMapScale' ; // Offset:0xB8, Var, CRC32:0xB09F263, Flags:0x0 + f32 'LightMapOffset' ; // Offset:0xBC, Var, CRC32:0xB5811D51, Flags:0x0 + classref 'mpWind' ; // Offset:0xD0, Var, CRC32:0xA3F886CB, Flags:0x100000 + f32 'mPhase' ; // Offset:0xD4, Var, CRC32:0x4C094C0A, Flags:0x0 + bool 'mFixedBillboardEnable' ; // Offset:0xE1, Var, CRC32:0x8BFC291C, Flags:0x0 + bool 'mBillboardSwingEnable' ; // Offset:0xE2, Var, CRC32:0xA1FBE373, Flags:0x0 + bool 'mForcedFade' ; // Offset:0xE8, Var, CRC32:0xB4C5BECD, Flags:0x0 + bool 'mPoppingGrass' ; // Offset:0xE9, Var, CRC32:0xEEDB89C2, Flags:0x0 + bool 'mSH' ; // Offset:0xEA, Var, CRC32:0xA920B9AB, Flags:0x0 + bool 'mUVSwitchEnable' ; // Offset:0xEB, Var, CRC32:0x23693D39, Flags:0x0 + f32 'mAlphaTestThreshold' ; // Offset:0xEC, Var, CRC32:0xE7537A1B, Flags:0x0 + f32 'mDetailNormalFactor' ; // Offset:0xF4, Var, CRC32:0x4781A949, Flags:0x0 + f32 'mDetailNormalWrap' ; // Offset:0xF8, Var, CRC32:0xA6B5F24A, Flags:0x0 + u32 'mPCFType' ; // Offset:0xFC, Var, CRC32:0xA1318E6B, Flags:0x0 + u32 'mCurveMode' ; // Offset:0x140, Var, CRC32:0xDA215815, Flags:0x0 + u32 'mBillboardPattern' ; // Offset:0x148, Var, CRC32:0xBA41A6B3, Flags:0x0 + vector3 'mOffset' ; // Offset:0x150, Var, CRC32:0x679663E1, Flags:0x0 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7050, Setter:0x17B7560, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mShaderMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B70A0, Setter:0x17B7620, CRC32:0x148F59C7, Flags:0x800000 + f32 'mVisiblePercent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B70B0, Setter:0x17B7760, CRC32:0x7CD70E2A, Flags:0x800000 + custom 'mpGrass' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7080, Setter:0x17B75F0, CRC32:0x2C3E478F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mNearClipDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7060, Setter:0x17B7570, CRC32:0xA3D00CD9, Flags:0x800000 + f32 'mFadeEndDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7030, Setter:0x17B1719, CRC32:0x4D5F670C, Flags:0x800000 + f32 'mFadeBeginDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7020, Setter:0x17B1714, CRC32:0xCB9D656, Flags:0x800000 + custom 'mpDetailNormalMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7010, Setter:0x17B74B0, CRC32:0xB8295820, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrass2 vftable:0x20D9BE8, Size:0x9F50, CRC32:0x54646BAC +class uGrass2 /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mOneFrameTrial' ; // Offset:0x40, Var, CRC32:0xFFD7B1C3, Flags:0x0 + f32 'mCacheBeginDistance' ; // Offset:0x44, Var, CRC32:0x6502B2F8, Flags:0x0 + bool 'mDebug' ; // Offset:0x48, Var, CRC32:0x9111DD66, Flags:0x0 + bool 'mPopping' ; // Offset:0x49, Var, CRC32:0xF607C3EA, Flags:0x0 + bool 'mForcedFade' ; // Offset:0x4B, Var, CRC32:0xB4C5BECD, Flags:0x0 + bool 'mSH' ; // Offset:0x4C, Var, CRC32:0xA920B9AB, Flags:0x0 + bool 'mBillboardMode' ; // Offset:0x4D, Var, CRC32:0x8627FD98, Flags:0x0 + bool 'mZPrepassEnable' ; // Offset:0x4E, Var, CRC32:0x8498E88C, Flags:0x0 + f32 'mFadeBeginDistance' ; // Offset:0x50, Var, CRC32:0xCB9D656, Flags:0x0 + f32 'mFadeEndDistance' ; // Offset:0x54, Var, CRC32:0x4D5F670C, Flags:0x0 + u32 'mMaxLightNum' ; // Offset:0x58, Var, CRC32:0x79E8D4B0, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x5C, Var, CRC32:0xE3993DD6, Flags:0x8000000 + u32 'mWindGroup' ; // Offset:0x60, Var, CRC32:0xC334694E, Flags:0x8000000 + u32 'mTextureQuality' ; // Offset:0x64, Var, CRC32:0xAF87D6E5, Flags:0x0 + f32 'mVisiblePercent' ; // Offset:0x68, Var, CRC32:0x7CD70E2A, Flags:0x0 + f32 'mNearClipDistance' ; // Offset:0x6C, Var, CRC32:0xA3D00CD9, Flags:0x0 + f32 'AmbientOcclusionScale' ; // Offset:0x70, Var, CRC32:0x4D94DBCD, Flags:0x0 + f32 'AmbientOcclusionOffset' ; // Offset:0x74, Var, CRC32:0x84A90E97, Flags:0x0 + f32 'LightMapScale' ; // Offset:0x78, Var, CRC32:0xB09F263, Flags:0x0 + f32 'LightMapOffset' ; // Offset:0x7C, Var, CRC32:0xB5811D51, Flags:0x0 + vector4 'mColorTweak' ; // Offset:0x90, Var, CRC32:0x96DE581B, Flags:0x0 + hermitecurve 'mFadeCurve' ; // Offset:0xA0, Var, CRC32:0xFE1FB150, Flags:0x0 + u32 'mRenderMode' ; // Offset:0xE0, Var, CRC32:0xD322C702, Flags:0x0 + u32 'mPCFType' ; // Offset:0xE4, Var, CRC32:0xA1318E6B, Flags:0x0 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpGrass' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1951F70, Setter:0x1952250, CRC32:0x2C3E478F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassMarkLine vftable:0x20CFFA8, Size:0x670, CRC32:0x6A3EE5D4 +class uGrassMarkLine /*: uGrassMark, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mMark' ; // Offset:0x5E4, Var, CRC32:0xBF7D394D, Flags:0x0 + f32 'mFreeze' ; // Offset:0x5E8, Var, CRC32:0x780D5D2B, Flags:0x0 + f32 'mColorTeak' ; // Offset:0x5EC, Var, CRC32:0x4CEBCE25, Flags:0x0 + vector3 'mHeadPoint' ; // Offset:0x630, Var, CRC32:0xCBCF36A9, Flags:0x0 + vector3 'mTailPoint' ; // Offset:0x640, Var, CRC32:0xDACD453C, Flags:0x0 + f32 'mHeadAttenuation' ; // Offset:0x650, Var, CRC32:0xC452AFC9, Flags:0x0 + f32 'mTailAttenuation' ; // Offset:0x654, Var, CRC32:0x8066B3EA, Flags:0x0 + classref 'mpParent' ; // Offset:0x658, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mHeadParentNo' ; // Offset:0x65C, Var, CRC32:0xC53BF951, Flags:0x0 + s32 'mTailParentNo' ; // Offset:0x660, Var, CRC32:0xD4FFC842, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassMarkPoint vftable:0x20CFF38, Size:0x640, CRC32:0x307C771C +class uGrassMarkPoint /*: uGrassMark, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mMark' ; // Offset:0x5E4, Var, CRC32:0xBF7D394D, Flags:0x0 + f32 'mFreeze' ; // Offset:0x5E8, Var, CRC32:0x780D5D2B, Flags:0x0 + f32 'mColorTeak' ; // Offset:0x5EC, Var, CRC32:0x4CEBCE25, Flags:0x0 + vector3 'mPoint' ; // Offset:0x620, Var, CRC32:0x4A1169E5, Flags:0x0 + f32 'mAttenuation' ; // Offset:0x630, Var, CRC32:0x20F782D9, Flags:0x0 + classref 'mpParent' ; // Offset:0x634, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x638, Var, CRC32:0xE0F3333C, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassReceiver vftable:0x20CFE40, Size:0x48, CRC32:0x2CE16A52 +class uGrassReceiver /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassWind::cSwingParameters vftable:0x20CF9CC, Size:0xB0, CRC32:0x7FA0E53 +class uGrassWind::cSwingParameters /*: MtObject*/ { + bool 'mUseLogistic' ; // Offset:0x50, Var, CRC32:0xF85D31E2, Flags:0x0 + bool 'mUseInterpolateSpeed' ; // Offset:0x51, Var, CRC32:0xE93F469D, Flags:0x0 + f32 'mInterpolateSpeed' ; // Offset:0x54, Var, CRC32:0x136E8631, Flags:0x0 + f32 'mUpdateInterval' ; // Offset:0x68, Var, CRC32:0x598ABFF1, Flags:0x0 + f32 'mModelAmp' ; // Offset:0x6C, Var, CRC32:0x39F51879, Flags:0x0 + f32 'mModelPhaseCoeff' ; // Offset:0x70, Var, CRC32:0x89AD7330, Flags:0x0 + f32 'mCurrentPhaseSpeed' ; // Offset:0x84, Var, CRC32:0xD16AFBE8, Flags:0x10000 + f32 'mCurrentPhaseSpeed2' ; // Offset:0x88, Var, CRC32:0x66D75131, Flags:0x10000 + f32 'mBasePhaseSpeed' ; // Offset:0x8C, Var, CRC32:0x586BE56F, Flags:0x0 + f32 'mBasePhaseSpeed2' ; // Offset:0x90, Var, CRC32:0x158246AC, Flags:0x0 + f32 'mPhaseSpeed' ; // Offset:0x94, Var, CRC32:0xC0AAE24D, Flags:0x10000 + f32 'mPhaseSpeed2' ; // Offset:0x98, Var, CRC32:0xC07AC64F, Flags:0x10000 + f32 'mNoiseRate' ; // Offset:0x9C, Var, CRC32:0xBB27B3B4, Flags:0x0 + f32 'mNoiseRate2' ; // Offset:0xA0, Var, CRC32:0x46001A6, Flags:0x0 + f32 'mBias' ; // Offset:0xA4, Var, CRC32:0x9B8EA167, Flags:0x0 +}; + +// uGrassWindDirection vftable:0x1DA53B0, Size:0x6C0, CRC32:0x5F803DCB +class uGrassWindDirection /*: uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + float3 'mDirection' ; // Offset:0x5F8, Var, CRC32:0x62DE5FF7, Flags:0x0 + class 'mParam' ; // Offset:0x610, Var, CRC32:0x594EE648, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassWindGlobal vftable:0x20CFB78, Size:0x610, CRC32:0x440AE2A0 +class uGrassWindGlobal /*: uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + classref 'mpWind' ; // Offset:0x5F8, Var, CRC32:0xA3F886CB, Flags:0x0 + f32 'mStiffness' ; // Offset:0x5FC, Var, CRC32:0xD5A31E44, Flags:0x0 + f32 'mDamper' ; // Offset:0x600, Var, CRC32:0x8355D35F, Flags:0x0 + f32 'mPhaseCoefficient' ; // Offset:0x604, Var, CRC32:0x66A5FB09, Flags:0x0 + f32 'mPhaseAttenuation' ; // Offset:0x608, Var, CRC32:0xA69808FC, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassWindLine vftable:0x20CFAF8, Size:0x680, CRC32:0x42EED361 +class uGrassWindLine /*: uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + vector3 'mHeadPoint' ; // Offset:0x640, Var, CRC32:0xCBCF36A9, Flags:0x0 + vector3 'mTailPoint' ; // Offset:0x650, Var, CRC32:0xDACD453C, Flags:0x0 + f32 'mHeadAttenuation' ; // Offset:0x660, Var, CRC32:0xC452AFC9, Flags:0x0 + f32 'mTailAttenuation' ; // Offset:0x664, Var, CRC32:0x8066B3EA, Flags:0x0 + classref 'mpParent' ; // Offset:0x668, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mHeadParentNo' ; // Offset:0x66C, Var, CRC32:0xC53BF951, Flags:0x0 + s32 'mTailParentNo' ; // Offset:0x670, Var, CRC32:0xD4FFC842, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uGrassWindPoint vftable:0x20CFA78, Size:0x710, CRC32:0xB5FE029 +class uGrassWindPoint /*: uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + vector3 'mPoint' ; // Offset:0x630, Var, CRC32:0x4A1169E5, Flags:0x0 + f32 'mAttenuation' ; // Offset:0x640, Var, CRC32:0x20F782D9, Flags:0x0 + classref 'mpParent' ; // Offset:0x644, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x648, Var, CRC32:0xE0F3333C, Flags:0x0 + class 'mParam' ; // Offset:0x650, Var, CRC32:0x594EE648, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uHateEnemy vftable:0x1CE9CA0, Size:0x21B0, CRC32:0x497C300E +class uHateEnemy /*: uEnemy, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uHazeFilter vftable:0x20BF078, Size:0xC0, CRC32:0x70CC7783 +class uHazeFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mUVWOffset' ; // Offset:0x50, Var, CRC32:0x9AF65F4D, Flags:0x10000 + vector4 'mDirection' ; // Offset:0x60, Var, CRC32:0x62DE5FF7, Flags:0x0 + f32 'mSpeed' ; // Offset:0x90, Var, CRC32:0xF2926437, Flags:0x0 + f32 'mNoiseTexScale' ; // Offset:0x94, Var, CRC32:0x2CEBA9AA, Flags:0x0 + f32 'mMoveScale' ; // Offset:0x98, Var, CRC32:0x225EC86B, Flags:0x0 + f32 'mHazeScale' ; // Offset:0x9C, Var, CRC32:0xBAE3F562, Flags:0x0 + custom 'mpVolumeNoiseTexture' ; // Offset:0xA0, Var, CRC32:0xBD9F870, Flags:0x0 + custom 'mpHazeSrc' ; // Offset:0xA4, Var, CRC32:0xB414BFF3, Flags:0x0 + bool 'mInvSrc' ; // Offset:0xA8, Var, CRC32:0x6FBBDB13, Flags:0x0 + bool 'mSrcZ' ; // Offset:0xA9, Var, CRC32:0x13DC27E2, Flags:0x0 + f32 'mDepthStart' ; // Offset:0xAC, Var, CRC32:0x46D79314, Flags:0x0 + f32 'mDepthEnd' ; // Offset:0xB0, Var, CRC32:0xFE911A96, Flags:0x0 + f32 'mHeightStart' ; // Offset:0xB4, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xB8, Var, CRC32:0x441D8659, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uHazeFilterEm021004 vftable:0x1DA3A20, Size:0xD0, CRC32:0x1CEC57FB +class uHazeFilterEm021004 /*: uHazeFilterExt, uHazeFilter, uFilter, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mUVWOffset' ; // Offset:0x50, Var, CRC32:0x9AF65F4D, Flags:0x10000 + vector4 'mDirection' ; // Offset:0x60, Var, CRC32:0x62DE5FF7, Flags:0x0 + f32 'mSpeed' ; // Offset:0x90, Var, CRC32:0xF2926437, Flags:0x0 + f32 'mNoiseTexScale' ; // Offset:0x94, Var, CRC32:0x2CEBA9AA, Flags:0x0 + f32 'mMoveScale' ; // Offset:0x98, Var, CRC32:0x225EC86B, Flags:0x0 + f32 'mHazeScale' ; // Offset:0x9C, Var, CRC32:0xBAE3F562, Flags:0x0 + custom 'mpVolumeNoiseTexture' ; // Offset:0xA0, Var, CRC32:0xBD9F870, Flags:0x10000 + bool 'mSrcZ' ; // Offset:0xA9, Var, CRC32:0x13DC27E2, Flags:0x0 + f32 'mDepthStart' ; // Offset:0xAC, Var, CRC32:0x46D79314, Flags:0x0 + f32 'mDepthEnd' ; // Offset:0xB0, Var, CRC32:0xFE911A96, Flags:0x0 + f32 'mHeightStart' ; // Offset:0xB4, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xB8, Var, CRC32:0x441D8659, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uHazeFilterExt vftable:0x1DA39B8, Size:0xD0, CRC32:0x5700CD73 +class uHazeFilterExt /*: uHazeFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mUVWOffset' ; // Offset:0x50, Var, CRC32:0x9AF65F4D, Flags:0x10000 + vector4 'mDirection' ; // Offset:0x60, Var, CRC32:0x62DE5FF7, Flags:0x0 + f32 'mSpeed' ; // Offset:0x90, Var, CRC32:0xF2926437, Flags:0x0 + f32 'mNoiseTexScale' ; // Offset:0x94, Var, CRC32:0x2CEBA9AA, Flags:0x0 + f32 'mMoveScale' ; // Offset:0x98, Var, CRC32:0x225EC86B, Flags:0x0 + f32 'mHazeScale' ; // Offset:0x9C, Var, CRC32:0xBAE3F562, Flags:0x0 + custom 'mpVolumeNoiseTexture' ; // Offset:0xA0, Var, CRC32:0xBD9F870, Flags:0x10000 + bool 'mSrcZ' ; // Offset:0xA9, Var, CRC32:0x13DC27E2, Flags:0x0 + f32 'mDepthStart' ; // Offset:0xAC, Var, CRC32:0x46D79314, Flags:0x0 + f32 'mDepthEnd' ; // Offset:0xB0, Var, CRC32:0xFE911A96, Flags:0x0 + f32 'mHeightStart' ; // Offset:0xB4, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xB8, Var, CRC32:0x441D8659, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uHemiSphereLight vftable:0x20C91F8, Size:0x3F0, CRC32:0x60C10879 +class uHemiSphereLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x3D0, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uHemiSphereLightExt vftable:0x1D66EA0, Size:0x3F0, CRC32:0x39452261 +class uHemiSphereLightExt /*: uHemiSphereLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x3D0, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uHuman vftable:0x1D64240, Size:0x2E90, CRC32:0x3753CFC2 +class uHuman /*: uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uHuman::cBlendMotionCtrl vftable:0x1D64228, Size:0xC, CRC32:0x4644E88A +class uHuman::cBlendMotionCtrl /*: MtObject*/ { +}; + +// uHuman::cEnemyClimbInfo vftable:0x1BAE390, Size:0x2A0, CRC32:0x33D5B262 +class uHuman::cEnemyClimbInfo /*: MtObject*/ { +}; + +// uHuman::cHealSeCaller vftable:0x1D641F0, Size:0x10, CRC32:0x47792BC1 +class uHuman::cHealSeCaller /*: MtObject*/ { +}; + +// uHuman::cLimitActCtrl vftable:0x1D6420C, Size:0x84, CRC32:0x6CCBB8E9 +class uHuman::cLimitActCtrl /*: MtObject*/ { +}; + +// uHumanEnemy vftable:0x1D64C80, Size:0x2F00, CRC32:0x4F96FCD +class uHumanEnemy /*: uHuman, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uHumanEnemyLeo vftable:0x1D655F8, Size:0x2F10, CRC32:0x374AFC8 +class uHumanEnemyLeo /*: uHumanEnemy, uHuman, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uISC vftable:0x20D0348, Size:0x1F0, CRC32:0x352D8BF +class uISC /*: cUnit, MtObject*/ { + event32 'Save ISC Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xBC3D50DB, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mIsc' ; // Offset:0x40, Var, CRC32:0xB815A3A5, Flags:0x0 + classref 'mpTexDepthNorm' ; // Offset:0x120, Var, CRC32:0x8C51618D, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + custom 'mpResISC' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172AE80, Setter:0x172B260, CRC32:0x554DB396, Flags:0x800000 + classref 'mpDrawTargetUnit[4]' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172AE30, Setter:0x172B250, CRC32:0x9EFDBC0C, Flags:0x900000 + classref 'mpDrawTargetUnit[3]' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172AE20, Setter:0x172B240, CRC32:0xD1BC2ACB, Flags:0x900000 + classref 'mpDrawTargetUnit[2]' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172AE10, Setter:0x172B230, CRC32:0xC8A71B8A, Flags:0x900000 + classref 'mpDrawTargetUnit[1]' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172AE00, Setter:0x172B220, CRC32:0xE38A4849, Flags:0x900000 + classref 'mpDrawTargetUnit[0]' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172ADF0, Setter:0x172B210, CRC32:0xFA917908, Flags:0x900000 + classref 'mpCamTargetUnit' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x172AD30, Setter:0x172B190, CRC32:0x6A68D4B, Flags:0x900000 +}; + +// uISC::ISC vftable:0x20D0334, Size:0xE0, CRC32:0x7BEE2FF5 +class uISC::ISC /*: MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + u32 'IscID' ; // Offset:0x44, Var, CRC32:0xF2F3914, Flags:0x0 + u32 'joint' ; // Offset:0x48, Var, CRC32:0x620A83F8, Flags:0x0 + bool 'Use Back (IscID+1)' ; // Offset:0x4C, Var, CRC32:0xA96C97B4, Flags:0x0 + obb 'cam' ; // Offset:0x50, Var, CRC32:0x5CA1497, Flags:0x0 + bool 'ClustersDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x172AEA0, Setter:0x172B1A0, GetCount:0x172AD40, Reallocate:0x172B200 CRC32:0x4E3C4792, Flags:0xA00000 +}; + +// uImagePlaneFilter vftable:0x20BEE08, Size:0x80, CRC32:0x14A4CC49 +class uImagePlaneFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mColor' ; // Offset:0x50, Var, CRC32:0x9BE2D228, Flags:0x0 + custom 'mpTexture' ; // Offset:0x60, Var, CRC32:0xC83DF7A2, Flags:0x0 + float2 'mPos' ; // Offset:0x64, Var, CRC32:0x50227663, Flags:0x0 + float2 'mScale' ; // Offset:0x6C, Var, CRC32:0x11F2BF45, Flags:0x0 + f32 'mAngle' ; // Offset:0x74, Var, CRC32:0xFD35DFC8, Flags:0x0 + s32 'mBlendType' ; // Offset:0x78, Var, CRC32:0xC5267DD2, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uInfiniteLight vftable:0x20C8EF0, Size:0x3E0, CRC32:0x5982031D +class uInfiniteLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uInfiniteLightExt vftable:0x1D66C20, Size:0x410, CRC32:0x7ABA8845 +class uInfiniteLightExt /*: uInfiniteLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + class 'mBind' ; // Offset:0x3E0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uInfiniteLightExtEm021004 vftable:0x1D670E0, Size:0x410, CRC32:0x25D8A506 +class uInfiniteLightExtEm021004 /*: uInfiniteLightExt, uInfiniteLight, uLight, cUnit, MtObject*/ { + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + class 'mBind' ; // Offset:0x3E0, Var, CRC32:0x9FC5386F, Flags:0x0 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uJobEquip vftable:0x1D65978, Size:0x1CD0, CRC32:0x56CD3A1A +class uJobEquip /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uLantern vftable:0x1D660F8, Size:0x19F0, CRC32:0x52EDC97 +class uLantern /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uLanternLight vftable:0x1D66D20, Size:0x460, CRC32:0x2CF9E660 +class uLanternLight /*: uPointLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLanternLight_PlOverHead vftable:0x1D66DA0, Size:0x460, CRC32:0x140AAA64 +class uLanternLight_PlOverHead /*: uLanternLight, uPointLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLargeEnemyCamera vftable:0x1D66688, Size:0x60, CRC32:0x5D4A08F5 +class uLargeEnemyCamera /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mStartDistance' ; // Offset:0x40, Var, CRC32:0xC8003144, Flags:0x0 + f32 'mEndDistance' ; // Offset:0x44, Var, CRC32:0xDBAF220E, Flags:0x0 + bool 'mIsLargeCamera' ; // Offset:0x48, Var, CRC32:0xCE5F3E48, Flags:0x10000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLight::cHardwareDispCtrlLight vftable:0x1D66BD8, Size:0x14, CRC32:0x7607DF23 +class uLight::cHardwareDispCtrlLight /*: cUnit::cHardwareDispCtrl, MtObject*/ { + u32 'mFlag' ; // Offset:0xC, Var, CRC32:0x8FD20A6, Flags:0x0 +}; + +// uLightScatteringFilter vftable:0x20BF298, Size:0xA0, CRC32:0x3A9B7358 +class uLightScatteringFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mMeiScattering' ; // Offset:0x50, Var, CRC32:0x28F8728D, Flags:0x0 + vector3 'mRaylieghScattering' ; // Offset:0x60, Var, CRC32:0xC2E7148C, Flags:0x0 + vector3 'mSunColor' ; // Offset:0x70, Var, CRC32:0x826878D1, Flags:0x0 + vector3 'mSunDir' ; // Offset:0x80, Var, CRC32:0x95847D90, Flags:0x0 + f32 'mMeiDirective' ; // Offset:0x90, Var, CRC32:0x4D8997AD, Flags:0x0 + f32 'mBlendFactor' ; // Offset:0x94, Var, CRC32:0x801246A7, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLightScatteringFog vftable:0x20CCDC8, Size:0x240, CRC32:0x4C335ED1 +class uLightScatteringFog /*: uFog, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + vector3 'mMeiScattering' ; // Offset:0x1A0, Var, CRC32:0x28F8728D, Flags:0x0 + vector3 'mRaylieghScattering' ; // Offset:0x1B0, Var, CRC32:0xC2E7148C, Flags:0x0 + vector3 'mSunColor' ; // Offset:0x1C0, Var, CRC32:0x826878D1, Flags:0x0 + vector3 'mSunDir' ; // Offset:0x1D0, Var, CRC32:0x95847D90, Flags:0x0 + f32 'mMeiDirective' ; // Offset:0x1E0, Var, CRC32:0x4D8997AD, Flags:0x0 + f32 'mDensity' ; // Offset:0x1E4, Var, CRC32:0x434A19E4, Flags:0x0 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLightScatteringFogExt vftable:0x1CF2DA0, Size:0x240, CRC32:0x517C4777 +class uLightScatteringFogExt /*: uLightScatteringFog, uFog, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + vector3 'mMeiScattering' ; // Offset:0x1A0, Var, CRC32:0x28F8728D, Flags:0x0 + vector3 'mRaylieghScattering' ; // Offset:0x1B0, Var, CRC32:0xC2E7148C, Flags:0x0 + vector3 'mSunColor' ; // Offset:0x1C0, Var, CRC32:0x826878D1, Flags:0x0 + vector3 'mSunDir' ; // Offset:0x1D0, Var, CRC32:0x95847D90, Flags:0x0 + f32 'mMeiDirective' ; // Offset:0x1E0, Var, CRC32:0x4D8997AD, Flags:0x0 + f32 'mDensity' ; // Offset:0x1E4, Var, CRC32:0x434A19E4, Flags:0x0 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLightShaft vftable:0x20DBC38, Size:0xC0, CRC32:0x31743660 +class uLightShaft /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mNumPlane' ; // Offset:0x40, Var, CRC32:0x44A74BEC, Flags:0x0 + vector3 'mPosition' ; // Offset:0x50, Var, CRC32:0x6EA2D468, Flags:0x0 + vector3 'mLookAt' ; // Offset:0x60, Var, CRC32:0x72C72FDA, Flags:0x0 + f32 'mLSNear' ; // Offset:0x74, Var, CRC32:0x78E11E9B, Flags:0x0 + f32 'mLSFar' ; // Offset:0x78, Var, CRC32:0x816EC58, Flags:0x0 + f32 'mLSFov' ; // Offset:0x7C, Var, CRC32:0x91F805CF, Flags:0x0 + f32 'mLSAspect' ; // Offset:0x80, Var, CRC32:0x9E38CEEA, Flags:0x0 + custom 'mpCookieTexture' ; // Offset:0x84, Var, CRC32:0x74A59967, Flags:0x0 + classref 'mpPositionParent' ; // Offset:0x8C, Var, CRC32:0x516CDFF, Flags:0x100000 + s32 'mPositionParentNo' ; // Offset:0x90, Var, CRC32:0x7A7D5B0F, Flags:0x0 + classref 'mpLookAtParent' ; // Offset:0x94, Var, CRC32:0xD1F82F54, Flags:0x100000 + s32 'mLookAtParentNo' ; // Offset:0x98, Var, CRC32:0x75FE009C, Flags:0x0 + f32 'mDecayStart' ; // Offset:0x9C, Var, CRC32:0x498FC78B, Flags:0x0 + vector4 'mColor' ; // Offset:0xA0, Var, CRC32:0x9BE2D228, Flags:0x0 + vector4 'mRegion' ; // Offset:0xB0, Var, CRC32:0x31FE5847, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLightSpaceShadow vftable:0x20CE860, Size:0x1A0, CRC32:0x194984AA +class uLightSpaceShadow /*: uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + bool 'mDeferredShadow' ; // Offset:0x13A, Var, CRC32:0x333A77A5, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mSmoothCascade' ; // Offset:0x181, Var, CRC32:0xEA9B04D, Flags:0x0 + f32 'mThreshold0' ; // Offset:0x184, Var, CRC32:0x4EB36DF0, Flags:0x0 + f32 'mThreshold1' ; // Offset:0x188, Var, CRC32:0x39B45D66, Flags:0x0 + f32 'mLSMMaxReduction' ; // Offset:0x18C, Var, CRC32:0x29D4E91, Flags:0x0 + bool 'mAdjustNearPlane' ; // Offset:0x190, Var, CRC32:0xF639E817, Flags:0x0 + f32 'mNearPlaneDistance' ; // Offset:0x194, Var, CRC32:0xCFAE9B8F, Flags:0x0 + easecurve 'mLSMReductionCurve' ; // Offset:0x198, Var, CRC32:0xA567C142, Flags:0x0 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + bool 'mCascadeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AA0, Setter:0x16E4B30, CRC32:0x783A1B8A, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uLightSpaceShadowExt vftable:0x1D6FBB8, Size:0x1A0, CRC32:0x42DF75A4 +class uLightSpaceShadowExt /*: uLightSpaceShadow, uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + bool 'mDeferredShadow' ; // Offset:0x13A, Var, CRC32:0x333A77A5, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mSmoothCascade' ; // Offset:0x181, Var, CRC32:0xEA9B04D, Flags:0x0 + f32 'mThreshold0' ; // Offset:0x184, Var, CRC32:0x4EB36DF0, Flags:0x0 + f32 'mThreshold1' ; // Offset:0x188, Var, CRC32:0x39B45D66, Flags:0x0 + f32 'mLSMMaxReduction' ; // Offset:0x18C, Var, CRC32:0x29D4E91, Flags:0x0 + bool 'mAdjustNearPlane' ; // Offset:0x190, Var, CRC32:0xF639E817, Flags:0x0 + f32 'mNearPlaneDistance' ; // Offset:0x194, Var, CRC32:0xCFAE9B8F, Flags:0x0 + easecurve 'mLSMReductionCurve' ; // Offset:0x198, Var, CRC32:0xA567C142, Flags:0x0 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + bool 'mCascadeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AA0, Setter:0x16E4B30, CRC32:0x783A1B8A, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMandragoraBase vftable:0x1D67828, Size:0x1D00, CRC32:0x24B16F7A +class uMandragoraBase /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uMandragoraBody vftable:0x1D68280, Size:0x1D00, CRC32:0x3FAD9AA9 +class uMandragoraBody /*: uMandragoraBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uMandragoraControl vftable:0x1D67FB8, Size:0x1D90, CRC32:0x1AD9F678 +class uMandragoraControl /*: uMandragoraBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uMandragoraControl::ActBase vftable:0x1D67AF8, Size:0x50, CRC32:0x60F7D5E7 +class uMandragoraControl::ActBase /*: cAction, MtObject*/ { +}; + +// uMandragoraControl::ActFootwork vftable:0x1D67B40, Size:0x60, CRC32:0x594E2691 +class uMandragoraControl::ActFootwork /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActGreeting vftable:0x1D67E58, Size:0x60, CRC32:0x160F847F +class uMandragoraControl::ActGreeting /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActItemReceive vftable:0x1D67E10, Size:0x50, CRC32:0x16FD543E +class uMandragoraControl::ActItemReceive /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActLifted vftable:0x1D67D80, Size:0x50, CRC32:0x458A5D7F +class uMandragoraControl::ActLifted /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActMotCombToolMode vftable:0x1D67CA8, Size:0x60, CRC32:0xAC887FA +class uMandragoraControl::ActMotCombToolMode /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActMove vftable:0x1D67B88, Size:0x70, CRC32:0x4F7D1CFE +class uMandragoraControl::ActMove /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActNothing vftable:0x1D67EA0, Size:0x50, CRC32:0x2175DD14 +class uMandragoraControl::ActNothing /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActPartyVisitMode vftable:0x1D67F78, Size:0x50, CRC32:0x2A9224F1 +class uMandragoraControl::ActPartyVisitMode /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActPictureMode vftable:0x1D67D38, Size:0x60, CRC32:0x38EBC83 +class uMandragoraControl::ActPictureMode /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActResourceMove vftable:0x1D67CF0, Size:0x50, CRC32:0x6619D6F3 +class uMandragoraControl::ActResourceMove /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActSelect vftable:0x1D67C60, Size:0x50, CRC32:0x4B4E9EF1 +class uMandragoraControl::ActSelect /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActStroked vftable:0x1D67DC8, Size:0x50, CRC32:0x25834344 +class uMandragoraControl::ActStroked /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActSwiming vftable:0x1D67EE8, Size:0x60, CRC32:0x675703ED +class uMandragoraControl::ActSwiming /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActTurn vftable:0x1D67BD0, Size:0x60, CRC32:0x633EC1 +class uMandragoraControl::ActTurn /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActWarp vftable:0x1D67F30, Size:0x60, CRC32:0x73F6A7E0 +class uMandragoraControl::ActWarp /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraControl::ActWaypointMove vftable:0x1D67C18, Size:0x70, CRC32:0x43848733 +class uMandragoraControl::ActWaypointMove /*: uMandragoraControl::ActBase, cAction, MtObject*/ { +}; + +// uMandragoraHead vftable:0x1D68548, Size:0x1D00, CRC32:0x43F66787 +class uMandragoraHead /*: uMandragoraBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uMandragoraParts vftable:0x1D68810, Size:0x1D00, CRC32:0x3143840E +class uMandragoraParts /*: uMandragoraBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uMockUpModel vftable:0x1D69398, Size:0x3260, CRC32:0x4725A4FC +class uMockUpModel /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uModel vftable:0x20C3768, Size:0x19D0, CRC32:0x45A468EE +class uModel /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uModel::Joint vftable:0x20C2FF8, Size:0xA0, CRC32:0x40E80DD6 +class uModel::Joint /*: MtObject*/ { + classref 'mpConstraint' ; // Offset:0x4, Var, CRC32:0x5968E3D1, Flags:0x0 + f32 'mLength' ; // Offset:0x8, Var, CRC32:0x3FE13783, Flags:0x20000 + u32 'mDepth' ; // Offset:0xC, Var, CRC32:0x71786A8, Flags:0x0 + vector3 'mOffset' ; // Offset:0x50, Var, CRC32:0x679663E1, Flags:0x20000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x0 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x0 + vector3 'mTrans' ; // Offset:0x80, Var, CRC32:0x8D95847C, Flags:0x0 + color 'mShaderAttributes' ; // Offset:0x9C, Var, CRC32:0x6F06D4C7, Flags:0x0 + u32 'mChildNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15363F0, Setter:0x0, CRC32:0x77A3DE38, Flags:0x830000 + u8 'mCalcNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15363A0, Setter:0x0, CRC32:0x2DFA081B, Flags:0x830000 + u32 'mNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A90, Setter:0x1537D50, CRC32:0xF34660DC, Flags:0x830000 + u32 'mType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1536450, Setter:0x15031D0, CRC32:0x55D79C15, Flags:0x820000 + u32 'mSymmetry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4F18C0, Setter:0x1537E40, CRC32:0xA89B5656, Flags:0x820000 + u32 'mParent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x606450, Setter:0x1537D60, CRC32:0x312C97E, Flags:0x820000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x9769C0, Setter:0x98C830, CRC32:0xDD77E828, Flags:0x820000 +}; + +// uModel::JointDAGNode vftable:0x20C301C, Size:0x24, CRC32:0x6DA7651F +class uModel::JointDAGNode /*: MtObject*/ { +}; + +// uModel::Motion vftable:0x20C1F54, Size:0x140, CRC32:0x56F5B156 +class uModel::Motion /*: MtObject*/ { + u16 'mState' ; // Offset:0x6, Var, CRC32:0x5E27483A, Flags:0x30000 + u32 'mAttr' ; // Offset:0xC, Var, CRC32:0xDD77E828, Flags:0x8000000 + f32 'mInterFrame' ; // Offset:0x40, Var, CRC32:0xFC535746, Flags:0x0 + f32 'mInterCount' ; // Offset:0x44, Var, CRC32:0xCC722FE9, Flags:0x10000 + f32 'mBlend' ; // Offset:0x48, Var, CRC32:0x5629EBE9, Flags:0x0 + f32 'mFrameMax' ; // Offset:0x54, Var, CRC32:0xD4575283, Flags:0x10000 + f32 'mLoopFrame' ; // Offset:0x58, Var, CRC32:0xCDC68F54, Flags:0x0 + easecurve 'mInterCurve' ; // Offset:0x6C, Var, CRC32:0x1E32363C, Flags:0x0 + quaternion 'mPrevQuat' ; // Offset:0x80, Var, CRC32:0xBEA5195F, Flags:0x10000 + quaternion 'mBaseQuat' ; // Offset:0x90, Var, CRC32:0x24C2A58E, Flags:0x10000 + vector3 'mPrevTrans' ; // Offset:0xB0, Var, CRC32:0xD77C84E8, Flags:0x10000 + vector3 'mBaseTrans' ; // Offset:0xC0, Var, CRC32:0x26320116, Flags:0x10000 + u32 'mSequence'[4] ; // Offset:0x110, Array, CRC32:0x7A08E7B6, Flags:0x8200000 + u32 'mPrevSequence'[4] ; // Offset:0x120, Array, CRC32:0x59C4AD1C, Flags:0x8200000 + u16 'KeyFrameWork'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15027D0, Setter:0x0, GetCount:0x15027C0, Reallocate:0x0 CRC32:0xB7B8E96C, Flags:0xA30000 + u32 'PrevKeyFrame'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1502810, Setter:0x0, GetCount:0x15027C0, Reallocate:0x0 CRC32:0x9927F8E1, Flags:0xA30000 + u32 'KeyFrame'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1502770, Setter:0x0, GetCount:0x15027C0, Reallocate:0x0 CRC32:0xA99225B2, Flags:0xA30000 + bool 'HasKeyFrame'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x1502830, Setter:0x0, GetCount:0x15027C0, Reallocate:0x0 CRC32:0x3CB723C3, Flags:0xA30000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15027C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + f32 'mSpeed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x68D8E0, Setter:0x4B1650, CRC32:0xF2926437, Flags:0x800000 + f32 'mFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1502800, Setter:0x685200, CRC32:0x484CA60C, Flags:0x800000 + u32 'mMotionNoHex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC50, Setter:0x1503160, CRC32:0x9E579FE5, Flags:0x820000 + u32 'mMotionNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC50, Setter:0x1503160, CRC32:0xEDD62344, Flags:0x800000 +}; + +// uModelPlaneClip vftable:0x20CE2E8, Size:0x1A00, CRC32:0x1496D88C +class uModelPlaneClip /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + bool 'mEnableClip' ; // Offset:0x19D0, Var, CRC32:0xE1D0AD4E, Flags:0x0 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + vector3 'mPlaneOffset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16D4C90, Setter:0x16D50F0, CRC32:0x392147C5, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + vector3 'mPlaneNormal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16D4C50, Setter:0x16D5060, CRC32:0x41AEE5F1, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uModelSky vftable:0x20CE250, Size:0xEA0, CRC32:0x1EC9902C +class uModelSky /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + custom 'mpBaseMap'[2] ; // Offset:0xE80, Array, CRC32:0xEE9D0CFA, Flags:0x200000 + f32 'mLerp' ; // Offset:0xE88, Var, CRC32:0x8AAD3F18, Flags:0x0 + f32 'mFogMulRate' ; // Offset:0xE8C, Var, CRC32:0xB9035880, Flags:0x0 + f32 'mFogAddRate' ; // Offset:0xE90, Var, CRC32:0x8659A80B, Flags:0x0 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uModelSymmetry vftable:0x20CE398, Size:0xE80, CRC32:0x113ADA76 +class uModelSymmetry /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMotionBlurFilter vftable:0x20BEFA8, Size:0xA8, CRC32:0x43BCBC9C +class uMotionBlurFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + classref 'mpTempTexture' ; // Offset:0x50, Var, CRC32:0xB37CFFC8, Flags:0x30000 + classref 'mpBlurTempTexture' ; // Offset:0x54, Var, CRC32:0xDB03032, Flags:0x30000 + classref 'mpVelocityMap' ; // Offset:0x58, Var, CRC32:0x52260EE7, Flags:0x30000 + classref 'mpTileMax' ; // Offset:0x60, Var, CRC32:0xEAABAF02, Flags:0x30000 + classref 'mpNeighborMax' ; // Offset:0x64, Var, CRC32:0x794B780A, Flags:0x30000 + f32 'mDepthLimit' ; // Offset:0x68, Var, CRC32:0xA6382EFB, Flags:0x0 + f32 'mFBLimit' ; // Offset:0x6C, Var, CRC32:0xCC0D4EA1, Flags:0x0 + f32 'mFBScale' ; // Offset:0x70, Var, CRC32:0x5FDD8345, Flags:0x0 + f32 'mFBDepthBias' ; // Offset:0x74, Var, CRC32:0x9B78159A, Flags:0x0 + bool 'mStretchBlur' ; // Offset:0x78, Var, CRC32:0xC9E1052C, Flags:0x0 + bool 'mCameraBlur' ; // Offset:0x79, Var, CRC32:0xDDE6A726, Flags:0x0 + bool 'mMedianBlur' ; // Offset:0x7A, Var, CRC32:0x413E5022, Flags:0x0 + u32 'mFeedbackNum' ; // Offset:0x7C, Var, CRC32:0x8FCAEE74, Flags:0x0 + s32 'mSampleLevel' ; // Offset:0x80, Var, CRC32:0x65F4DB0C, Flags:0x0 + s32 'mResolution' ; // Offset:0x84, Var, CRC32:0x5E3CF100, Flags:0x0 + s32 'mVelocityResolution' ; // Offset:0x8C, Var, CRC32:0x66610748, Flags:0x0 + f32 'mOBLimit' ; // Offset:0x94, Var, CRC32:0x59950B72, Flags:0x0 + f32 'mSBScale' ; // Offset:0x98, Var, CRC32:0x6A3B302C, Flags:0x0 + f32 'mSBDepthBias' ; // Offset:0x9C, Var, CRC32:0x44D97D13, Flags:0x0 + f32 'mRBScale' ; // Offset:0xA0, Var, CRC32:0xCC4C3B98, Flags:0x0 + bool 'mReconstructBlur' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5D0, Setter:0x14E0CD0, CRC32:0x18C6F6CD, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMotionCamera vftable:0x20C46C0, Size:0x140, CRC32:0x6AE27F28 +class uMotionCamera /*: uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0xA0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mTrackPos' ; // Offset:0xB0, Var, CRC32:0xA88969A2, Flags:0x0 + vector3 'mTrackTarget' ; // Offset:0xC0, Var, CRC32:0x64C00EBC, Flags:0x0 + f32 'mZoom' ; // Offset:0xD0, Var, CRC32:0x6E22B248, Flags:0x0 + f32 'mRoll' ; // Offset:0xD4, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCut' ; // Offset:0xD8, Var, CRC32:0x600B0432, Flags:0x0 + f32 'mFrame' ; // Offset:0xDC, Var, CRC32:0x484CA60C, Flags:0x0 + f32 'mSpeed' ; // Offset:0xE0, Var, CRC32:0xF2926437, Flags:0x0 + u32 'mFovType' ; // Offset:0xE4, Var, CRC32:0x74705A54, Flags:0x0 + bool 'mTrackLink' ; // Offset:0xE8, Var, CRC32:0x33E0BF4, Flags:0x0 + bool 'mRepeat' ; // Offset:0xE9, Var, CRC32:0x96CB1AF1, Flags:0x0 + bool 'mCutRepeat' ; // Offset:0xEA, Var, CRC32:0x3DDD5B12, Flags:0x0 + bool 'mShowPath' ; // Offset:0xEB, Var, CRC32:0xEF580178, Flags:0x0 + bool 'mShowLineOfSight' ; // Offset:0xEC, Var, CRC32:0x65D33E21, Flags:0x0 + classref 'mpParent' ; // Offset:0xF4, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0xF8, Var, CRC32:0xE0F3333C, Flags:0x0 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpCameraList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x456EC0, Setter:0x1578AB0, CRC32:0x470683E4, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMovie vftable:0x20C6A18, Size:0xD8, CRC32:0xF6FE858 +class uMovie /*: cUnit, MtObject*/ { + event 'Seek' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x8BF5AE56, Flags:0xA0000 + event 'Pause' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE9A44216, Flags:0xA0000 + event 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x1448E7B, Flags:0xA0000 + event 'ShutDown' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x3319EC55, Flags:0xA0000 + event 'Stop' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE69B4677, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + bool 'mLoop' ; // Offset:0x40, Var, CRC32:0x7856D6D2, Flags:0x0 + bool 'mAudioEnable' ; // Offset:0x41, Var, CRC32:0xC36AE716, Flags:0x0 + bool 'mClear' ; // Offset:0x42, Var, CRC32:0x18056BC7, Flags:0x0 + u32 'mDrawFrame' ; // Offset:0x44, Var, CRC32:0xDC9A4253, Flags:0x30000 + u32 'mStatus' ; // Offset:0x48, Var, CRC32:0x459CCC2D, Flags:0x30000 + u32 'mPresentationMode' ; // Offset:0x4C, Var, CRC32:0xC7496B5C, Flags:0x0 + u32 'mVideoWidth' ; // Offset:0x68, Var, CRC32:0xB486B966, Flags:0x30000 + u32 'mVideoHeight' ; // Offset:0x6C, Var, CRC32:0x28776F4A, Flags:0x30000 + f32 'mVideoFrameRate' ; // Offset:0x70, Var, CRC32:0x3F96A909, Flags:0x30000 + f32 'mClipDuration' ; // Offset:0x74, Var, CRC32:0x633DB332, Flags:0x30000 + u32 'mAudioChannels' ; // Offset:0x78, Var, CRC32:0xE8F41C7C, Flags:0x30000 + u32 'mAudioSampleRate' ; // Offset:0x7C, Var, CRC32:0x48DD378C, Flags:0x30000 + u32 'mAudioBitsPerSample' ; // Offset:0x80, Var, CRC32:0x5284E1D0, Flags:0x30000 + bool 'mDelayVideo' ; // Offset:0xCC, Var, CRC32:0x73115A84, Flags:0x30000 + f32 'mSeekTime' ; // Offset:0xD0, Var, CRC32:0xEEC42A17, Flags:0x20000 + u32 'Volume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6B70, Setter:0x15B72D0, CRC32:0x41C93717, Flags:0x800000 + u32 'Category' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B62A0, Setter:0x15B7210, CRC32:0xC58468, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpRenderTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6A40, Setter:0x15B72A0, CRC32:0x8308FBF8, Flags:0x800000 + custom 'Movie' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B64D0, Setter:0x15B7260, CRC32:0x23602294, Flags:0x800000 + u32 'PlayerStatus' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6A30, Setter:0x15B7290, CRC32:0xAE28D3F7, Flags:0x830000 + bool 'DelaySound' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6CE0, Setter:0x15B7240, CRC32:0xE4154189, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMovieExt vftable:0x1D69C50, Size:0x120, CRC32:0x6FDA73DA +class uMovieExt /*: uMovie, cUnit, MtObject*/ { + event 'Seek' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x8BF5AE56, Flags:0xA0000 + event 'Pause' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE9A44216, Flags:0xA0000 + event 'Play' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x1448E7B, Flags:0xA0000 + event 'ShutDown' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x3319EC55, Flags:0xA0000 + event 'Stop' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE69B4677, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + bool 'mLoop' ; // Offset:0x40, Var, CRC32:0x7856D6D2, Flags:0x0 + bool 'mAudioEnable' ; // Offset:0x41, Var, CRC32:0xC36AE716, Flags:0x0 + bool 'mClear' ; // Offset:0x42, Var, CRC32:0x18056BC7, Flags:0x0 + u32 'mDrawFrame' ; // Offset:0x44, Var, CRC32:0xDC9A4253, Flags:0x30000 + u32 'mStatus' ; // Offset:0x48, Var, CRC32:0x459CCC2D, Flags:0x30000 + u32 'mPresentationMode' ; // Offset:0x4C, Var, CRC32:0xC7496B5C, Flags:0x0 + u32 'mVideoWidth' ; // Offset:0x68, Var, CRC32:0xB486B966, Flags:0x30000 + u32 'mVideoHeight' ; // Offset:0x6C, Var, CRC32:0x28776F4A, Flags:0x30000 + f32 'mVideoFrameRate' ; // Offset:0x70, Var, CRC32:0x3F96A909, Flags:0x30000 + f32 'mClipDuration' ; // Offset:0x74, Var, CRC32:0x633DB332, Flags:0x30000 + u32 'mAudioChannels' ; // Offset:0x78, Var, CRC32:0xE8F41C7C, Flags:0x30000 + u32 'mAudioSampleRate' ; // Offset:0x7C, Var, CRC32:0x48DD378C, Flags:0x30000 + u32 'mAudioBitsPerSample' ; // Offset:0x80, Var, CRC32:0x5284E1D0, Flags:0x30000 + bool 'mDelayVideo' ; // Offset:0xCC, Var, CRC32:0x73115A84, Flags:0x30000 + f32 'mSeekTime' ; // Offset:0xD0, Var, CRC32:0xEEC42A17, Flags:0x20000 + u32 'Volume' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6B70, Setter:0x15B72D0, CRC32:0x41C93717, Flags:0x800000 + u32 'Category' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B62A0, Setter:0x15B7210, CRC32:0xC58468, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpRenderTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6A40, Setter:0x15B72A0, CRC32:0x8308FBF8, Flags:0x800000 + custom 'Movie' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B64D0, Setter:0x15B7260, CRC32:0x23602294, Flags:0x800000 + u32 'PlayerStatus' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6A30, Setter:0x15B7290, CRC32:0xAE28D3F7, Flags:0x830000 + bool 'DelaySound' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B6CE0, Setter:0x15B7240, CRC32:0xE4154189, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMultiBloomFilter vftable:0x20D2218, Size:0x68, CRC32:0x315ECCA9 +class uMultiBloomFilter /*: uMultiFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mDrawNum' ; // Offset:0x50, Var, CRC32:0x6E689E18, Flags:0x30000 + u32 'mDrawMax' ; // Offset:0x54, Var, CRC32:0x2F5D13FF, Flags:0x30000 + u32 'mEntry' ; // Offset:0x58, Var, CRC32:0xD69507B1, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMultiBlurFilter vftable:0x20D2098, Size:0x68, CRC32:0x2B7F3C +class uMultiBlurFilter /*: uMultiFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mDrawNum' ; // Offset:0x50, Var, CRC32:0x6E689E18, Flags:0x30000 + u32 'mDrawMax' ; // Offset:0x54, Var, CRC32:0x2F5D13FF, Flags:0x30000 + u32 'mEntry' ; // Offset:0x58, Var, CRC32:0xD69507B1, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMultiChromaticAberrationFilter vftable:0x20BBE70, Size:0x78, CRC32:0x19289B64 +class uMultiChromaticAberrationFilter /*: uMultiFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mDrawNum' ; // Offset:0x50, Var, CRC32:0x6E689E18, Flags:0x30000 + u32 'mDrawMax' ; // Offset:0x54, Var, CRC32:0x2F5D13FF, Flags:0x30000 + u32 'mEntry' ; // Offset:0x58, Var, CRC32:0xD69507B1, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMultiColorCorrectFilter vftable:0x20D2198, Size:0x68, CRC32:0x3C9BC06D +class uMultiColorCorrectFilter /*: uMultiFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mDrawNum' ; // Offset:0x50, Var, CRC32:0x6E689E18, Flags:0x30000 + u32 'mDrawMax' ; // Offset:0x54, Var, CRC32:0x2F5D13FF, Flags:0x30000 + u32 'mEntry' ; // Offset:0x58, Var, CRC32:0xD69507B1, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uMultiGodRaysFilter vftable:0x20D2118, Size:0x68, CRC32:0x21BEEFA6 +class uMultiGodRaysFilter /*: uMultiFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mDrawNum' ; // Offset:0x50, Var, CRC32:0x6E689E18, Flags:0x30000 + u32 'mDrawMax' ; // Offset:0x54, Var, CRC32:0x2F5D13FF, Flags:0x30000 + u32 'mEntry' ; // Offset:0x58, Var, CRC32:0xD69507B1, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uNetStorage vftable:0x20D0B20, Size:0x58, CRC32:0x233B21E6 +class uNetStorage /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uNoiseFogFilter vftable:0x20BEF40, Size:0xD0, CRC32:0x785BD903 +class uNoiseFogFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mColor' ; // Offset:0x50, Var, CRC32:0x9BE2D228, Flags:0x0 + vector3 'mUVWOffset' ; // Offset:0x60, Var, CRC32:0x9AF65F4D, Flags:0x10000 + vector4 'mDirection' ; // Offset:0x70, Var, CRC32:0x62DE5FF7, Flags:0x0 + f32 'mSpeed' ; // Offset:0xA0, Var, CRC32:0xF2926437, Flags:0x0 + f32 'mTexScale' ; // Offset:0xA4, Var, CRC32:0xB0EC61ED, Flags:0x0 + f32 'mBias' ; // Offset:0xA8, Var, CRC32:0x9B8EA167, Flags:0x0 + f32 'mMoveScale' ; // Offset:0xAC, Var, CRC32:0x225EC86B, Flags:0x0 + f32 'mDepthStart' ; // Offset:0xB0, Var, CRC32:0x46D79314, Flags:0x0 + f32 'mDepthEnd' ; // Offset:0xB4, Var, CRC32:0xFE911A96, Flags:0x0 + f32 'mHeightStart' ; // Offset:0xB8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xBC, Var, CRC32:0x441D8659, Flags:0x0 + custom 'mpVolumeNoiseTexture' ; // Offset:0xC0, Var, CRC32:0xBD9F870, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uNpc vftable:0x1D6A178, Size:0x2EC0, CRC32:0x3DA9993 +class uNpc /*: uHuman, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uOccluder vftable:0x20D0060, Size:0x80, CRC32:0xE3DB0EA +class uOccluder /*: cUnit, MtObject*/ { + event 'fitting' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x22AF3475, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mQuad[0]' ; // Offset:0x40, Var, CRC32:0xB51D0FCF, Flags:0x0 + vector3 'mQuad[1]' ; // Offset:0x50, Var, CRC32:0xAC063E8E, Flags:0x0 + vector3 'mQuad[2]' ; // Offset:0x60, Var, CRC32:0x872B6D4D, Flags:0x0 + vector3 'mQuad[3]' ; // Offset:0x70, Var, CRC32:0x9E305C0C, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOccluderMover vftable:0x20D00C8, Size:0x100, CRC32:0x437EB25F +class uOccluderMover /*: uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOfsMotionCamera vftable:0x1D6B450, Size:0x5C0, CRC32:0x669BBF52 +class uOfsMotionCamera /*: uMotionCamera, uCamera, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mFarPlane' ; // Offset:0x40, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mNearPlane' ; // Offset:0x44, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mAspect' ; // Offset:0x48, Var, CRC32:0xCE1F6A64, Flags:0x0 + f32 'mFov' ; // Offset:0x4C, Var, CRC32:0x38E35D2E, Flags:0x0 + vector3 'mCameraPos' ; // Offset:0x50, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x60, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x70, Var, CRC32:0x97CFE05E, Flags:0x0 + vector3 'mOffsetPos' ; // Offset:0xA0, Var, CRC32:0xB849CDBB, Flags:0x0 + vector3 'mTrackPos' ; // Offset:0xB0, Var, CRC32:0xA88969A2, Flags:0x0 + vector3 'mTrackTarget' ; // Offset:0xC0, Var, CRC32:0x64C00EBC, Flags:0x0 + f32 'mZoom' ; // Offset:0xD0, Var, CRC32:0x6E22B248, Flags:0x0 + f32 'mRoll' ; // Offset:0xD4, Var, CRC32:0xF7BCF9F2, Flags:0x0 + u32 'mCut' ; // Offset:0xD8, Var, CRC32:0x600B0432, Flags:0x0 + f32 'mFrame' ; // Offset:0xDC, Var, CRC32:0x484CA60C, Flags:0x0 + f32 'mSpeed' ; // Offset:0xE0, Var, CRC32:0xF2926437, Flags:0x0 + u32 'mFovType' ; // Offset:0xE4, Var, CRC32:0x74705A54, Flags:0x0 + bool 'mTrackLink' ; // Offset:0xE8, Var, CRC32:0x33E0BF4, Flags:0x0 + bool 'mRepeat' ; // Offset:0xE9, Var, CRC32:0x96CB1AF1, Flags:0x0 + bool 'mCutRepeat' ; // Offset:0xEA, Var, CRC32:0x3DDD5B12, Flags:0x0 + bool 'mShowPath' ; // Offset:0xEB, Var, CRC32:0xEF580178, Flags:0x0 + bool 'mShowLineOfSight' ; // Offset:0xEC, Var, CRC32:0x65D33E21, Flags:0x0 + classref 'mpParent' ; // Offset:0xF4, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0xF8, Var, CRC32:0xE0F3333C, Flags:0x0 + class 'mAdjustParamList'[4] ; // Offset:0x150, Array, CRC32:0xA7494737, Flags:0x200000 + f32 'mStartInterFrame' ; // Offset:0x3C0, Var, CRC32:0xE9EC36CA, Flags:0x0 + f32 'mEndInterFrame' ; // Offset:0x3C4, Var, CRC32:0x67C4C334, Flags:0x0 + u32 'mOption' ; // Offset:0x500, Var, CRC32:0x641AA981, Flags:0x0 + f32 'mInterPower' ; // Offset:0x510, Var, CRC32:0xE2216A2B, Flags:0x0 + bool 'mIsTargetReplace' ; // Offset:0x5A4, Var, CRC32:0x86DB9165, Flags:0x0 + classref 'mpEyeTarget' ; // Offset:0x5A8, Var, CRC32:0xF7E4346C, Flags:0x0 + classref 'mpLookTarget' ; // Offset:0x5AC, Var, CRC32:0xBBD28EBF, Flags:0x0 + classref 'mpNewEyeTarget' ; // Offset:0x5B0, Var, CRC32:0x4D46E163, Flags:0x0 + classref 'mpNewLookTarget' ; // Offset:0x5B4, Var, CRC32:0x2BD731FB, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'mpCameraList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x456EC0, Setter:0x1578AB0, CRC32:0x470683E4, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOfsMotionCamera::cAdjustParam vftable:0x1D6B430, Size:0x90, CRC32:0x743C1490 +class uOfsMotionCamera::cAdjustParam /*: MtObject*/ { + u32 'mAdjustTarget' ; // Offset:0x4, Var, CRC32:0x4497E679, Flags:0x0 + f32 'mAdjWeight' ; // Offset:0x10, Var, CRC32:0x3B414333, Flags:0x0 + s32 'mJointNum' ; // Offset:0x14, Var, CRC32:0x8792FF62, Flags:0x10000 + vector3 'mOrgJointPos' ; // Offset:0x60, Var, CRC32:0xD20B3B95, Flags:0x10000 + vector3 'mJointSubVec' ; // Offset:0x70, Var, CRC32:0x855DECC2, Flags:0x10000 + s32 'mJointNoList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x103D5A0, Setter:0x103E920, GetCount:0x103D5B0, Reallocate:0x103E930 CRC32:0xE0D43814, Flags:0xA10000 + s32 'mJointNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103D570, Setter:0x103E900, CRC32:0x673E4986, Flags:0x800000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103D5C0, Setter:0x103E940, CRC32:0xCD5ACEBE, Flags:0x900000 +}; + +// uOmModel vftable:0x1D6C5E8, Size:0x1D80, CRC32:0x28320CB6 +class uOmModel /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uOmShell vftable:0x1C9A3B0, Size:0x1A20, CRC32:0x3A35CC92 +class uOmShell /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uOmSimple vftable:0x1D6C8B0, Size:0x1CE0, CRC32:0x4E0B0938 +class uOmSimple /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uOmSwingInstancing vftable:0x1D6C058, Size:0x5110, CRC32:0x50743C63 +class uOmSwingInstancing /*: uOmSwingModelInstancing, uOmSwingModel, uSwingModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0x14, Var, CRC32:0x21BA894E, Flags:0x0 + custom 'mpDepthBiasTexture' ; // Offset:0x20, Var, CRC32:0xC71C605E, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + class 'mInstance' ; // Offset:0xF40, Var, CRC32:0x6ABE8143, Flags:0x0 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + custom 'mpAfterSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF750, Setter:0x17AF920, CRC32:0xC37FAD94, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + custom 'mpSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7A0, Setter:0x17AFFD0, CRC32:0x65256F26, Flags:0x800000 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOmSwingModel vftable:0x1D6D118, Size:0xF40, CRC32:0x19AC0F09 +class uOmSwingModel /*: uSwingModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0x14, Var, CRC32:0x21BA894E, Flags:0x0 + custom 'mpDepthBiasTexture' ; // Offset:0x20, Var, CRC32:0xC71C605E, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + custom 'mpAfterSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF750, Setter:0x17AF920, CRC32:0xC37FAD94, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + custom 'mpSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7A0, Setter:0x17AFFD0, CRC32:0x65256F26, Flags:0x800000 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOmSwingModelInstancing vftable:0x1D6BFB0, Size:0x20D0, CRC32:0x4B7F3E63 +class uOmSwingModelInstancing /*: uOmSwingModel, uSwingModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0x14, Var, CRC32:0x21BA894E, Flags:0x0 + custom 'mpDepthBiasTexture' ; // Offset:0x20, Var, CRC32:0xC71C605E, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + class 'mInstance' ; // Offset:0xF40, Var, CRC32:0x6ABE8143, Flags:0x0 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + custom 'mpAfterSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF750, Setter:0x17AF920, CRC32:0xC37FAD94, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + custom 'mpSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7A0, Setter:0x17AFFD0, CRC32:0x65256F26, Flags:0x800000 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOutlineFilter vftable:0x20BF3F0, Size:0x160, CRC32:0x46393159 +class uOutlineFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + s32 'mFilterType' ; // Offset:0x54, Var, CRC32:0x25BC9EB5, Flags:0x0 + class 'mDetector'[4] ; // Offset:0x58, Array, CRC32:0x27E76A04, Flags:0x200000 + s32 'mCompositeType' ; // Offset:0xC8, Var, CRC32:0x51096820, Flags:0x0 + u32 'mFilterLevel' ; // Offset:0xCC, Var, CRC32:0xB1F89E38, Flags:0x0 + bool 'mMultiColor' ; // Offset:0xD0, Var, CRC32:0xF651008, Flags:0x0 + vector4 'mColor'[4] ; // Offset:0xE0, Array, CRC32:0x9BE2D228, Flags:0x200000 + bool 'mFadeEnable' ; // Offset:0x120, Var, CRC32:0x1F65D688, Flags:0x0 + f32 'mFadeStart' ; // Offset:0x124, Var, CRC32:0x36FFB968, Flags:0x0 + f32 'mFadeEnd' ; // Offset:0x128, Var, CRC32:0x92FA73BF, Flags:0x0 + f32 'mFadeLimite' ; // Offset:0x12C, Var, CRC32:0x4ED29350, Flags:0x0 + f32 'mGeometryThick' ; // Offset:0x130, Var, CRC32:0xBDA18E9, Flags:0x0 + bool 'mGeometryIDTest' ; // Offset:0x134, Var, CRC32:0xB11B2236, Flags:0x0 + s32 'mOutlineType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFD0, Setter:0x14E0AA0, CRC32:0x3DA66884, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uOutlineFilter::Detector vftable:0x20BF3D0, Size:0x1C, CRC32:0x1EF724EF +class uOutlineFilter::Detector /*: MtObject*/ { + s32 'mType' ; // Offset:0x4, Var, CRC32:0x55D79C15, Flags:0x0 + u32 'mIDStart' ; // Offset:0x8, Var, CRC32:0xCF360BA, Flags:0x0 + u32 'mIDEnd' ; // Offset:0xC, Var, CRC32:0x7C321BC9, Flags:0x0 + f32 'mDepthStart' ; // Offset:0x10, Var, CRC32:0x46D79314, Flags:0x0 + f32 'mDepthEnd' ; // Offset:0x14, Var, CRC32:0xFE911A96, Flags:0x0 + f32 'mDepthBias' ; // Offset:0x18, Var, CRC32:0x35715D94, Flags:0x0 +}; + +// uPCShutdownCheck vftable:0x1D6E320, Size:0x90, CRC32:0x47EBE09D +class uPCShutdownCheck /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uPawn vftable:0x1D6D698, Size:0x2EB0, CRC32:0x40836A86 +class uPawn /*: uHuman, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uPlayer vftable:0x1D6E8B0, Size:0x2F40, CRC32:0x72B401FD +class uPlayer /*: uHuman, uCharacter, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uPointCubeMapLight vftable:0x20C92F8, Size:0x490, CRC32:0x3261DF4B +class uPointCubeMapLight /*: uCubeMapLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector4 'FactorR'[3] ; // Offset:0x3D0, Array, CRC32:0x67C821DA, Flags:0x210000 + vector4 'FactorG'[3] ; // Offset:0x400, Array, CRC32:0xA15C531, Flags:0x210000 + vector4 'FactorB'[3] ; // Offset:0x430, Array, CRC32:0x7A7F31BE, Flags:0x210000 + vector3 'mPos' ; // Offset:0x470, Var, CRC32:0x50227663, Flags:0x0 + f32 'mStart' ; // Offset:0x480, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x484, Var, CRC32:0xD007A37E, Flags:0x0 + custom 'mpCubeMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162ED90, Setter:0x1635630, CRC32:0x8D2DF9F1, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uPointLight vftable:0x20C8F70, Size:0x460, CRC32:0x49A43F8E +class uPointLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uPointLightExt vftable:0x1D66CA0, Size:0x4E0, CRC32:0x2411727E +class uPointLightExt /*: uPointLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x460, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4AC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4AD, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoPLE' ; // Offset:0x4AF, Var, CRC32:0xBA351187, Flags:0x10000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uPointShadow vftable:0x20CEAE0, Size:0x2B0, CRC32:0xE0F1A5B +class uPointShadow /*: uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + vector3 'mLightPos' ; // Offset:0x170, Var, CRC32:0xCBFD1ECD, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x180, Var, CRC32:0xBA573BC8, Flags:0x20000 + matrix44 'mRangeOBB.coord' ; // Offset:0x180, Var, CRC32:0x2175E535, Flags:0x0 + vector3 'mRangeOBB.extent' ; // Offset:0x1C0, Var, CRC32:0x61FD218D, Flags:0x0 + f32 'mShadowDistanceBias' ; // Offset:0x230, Var, CRC32:0xA3EE28D1, Flags:0x0 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2FB0, Setter:0x16E6850, CRC32:0xF761A181, Flags:0x820000 + f32 'NearClipDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D50, Setter:0x16E6A30, CRC32:0xE7DF422D, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + bool 'ShadowMapCacheEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DB0, Setter:0x16E9450, CRC32:0x405188E6, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uPointShadowExt vftable:0x1D6FD98, Size:0x2D0, CRC32:0x6A42F65 +class uPointShadowExt /*: uPointShadow, uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + vector3 'mLightPos' ; // Offset:0x170, Var, CRC32:0xCBFD1ECD, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x180, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x180, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x1C0, Var, CRC32:0x61FD218D, Flags:0x0 + f32 'mShadowDistanceBias' ; // Offset:0x230, Var, CRC32:0xA3EE28D1, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x2B0, Var, CRC32:0xBF8B9461, Flags:0x0 + vector3 'mLightOffset' ; // Offset:0x2C0, Var, CRC32:0xF383DFA, Flags:0x0 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2FB0, Setter:0x16E6850, CRC32:0xF761A181, Flags:0x820000 + f32 'NearClipDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D50, Setter:0x16E6A30, CRC32:0xE7DF422D, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + bool 'ShadowMapCacheEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DB0, Setter:0x16E9450, CRC32:0x405188E6, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uRadialBlurFilter vftable:0x20BF010, Size:0x100, CRC32:0x11EDABFE +class uRadialBlurFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mCenter' ; // Offset:0x50, Var, CRC32:0x7E6C4215, Flags:0x0 + vector3 'mWPos' ; // Offset:0x60, Var, CRC32:0x4970F55B, Flags:0x0 + vector4 'mColor' ; // Offset:0x70, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mBlurStart' ; // Offset:0x94, Var, CRC32:0x2F6C58EC, Flags:0x0 + f32 'mBlurWidth' ; // Offset:0x98, Var, CRC32:0x3C0F484C, Flags:0x0 + f32 'mBrightThreshold' ; // Offset:0x9C, Var, CRC32:0x5A87D45, Flags:0x0 + f32 'mStartZ' ; // Offset:0xA0, Var, CRC32:0x1AB819B2, Flags:0x0 + f32 'mEndZ' ; // Offset:0xA4, Var, CRC32:0x3CD3E372, Flags:0x0 + f32 'mStartH' ; // Offset:0xA8, Var, CRC32:0xE90168FA, Flags:0x0 + f32 'mEndH' ; // Offset:0xAC, Var, CRC32:0xCF6A923A, Flags:0x0 + f32 'mStartW' ; // Offset:0xB0, Var, CRC32:0x6409650F, Flags:0x0 + f32 'mEndW' ; // Offset:0xB4, Var, CRC32:0x42629FCF, Flags:0x0 + f32 'mOcclusionSphereRadius' ; // Offset:0xEC, Var, CRC32:0x4B3203B5, Flags:0x0 + f32 'mOcclusionBlurWidthOffset' ; // Offset:0xF0, Var, CRC32:0xD11A6AA0, Flags:0x0 + f32 'mOcclusionBlurWidthScale' ; // Offset:0xF4, Var, CRC32:0xFBD6C37A, Flags:0x0 + u32 'mBlendStateType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6660, Setter:0x14E05F0, CRC32:0x4A10AC4B, Flags:0x800000 + bool 'mUseOcclusionAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5A0, Setter:0x14E0A10, CRC32:0x9AD52D16, Flags:0x800000 + bool 'mUseOcclusionBlurWidth' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5C0, Setter:0x14E0A80, CRC32:0x4F2167A4, Flags:0x800000 + float2 'lt' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6890, Setter:0x14E08A0, CRC32:0x20067C8E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'MaskTexture' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D68D0, Setter:0x14E08E0, CRC32:0x2399DDD8, Flags:0x800000 + float2 'rb' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D68B0, Setter:0x14E08C0, CRC32:0x93F600, Flags:0x800000 + u32 'mSamples' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFE0, Setter:0x14E0FF0, CRC32:0x9A702469, Flags:0x800000 + u32 'mMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFB0, Setter:0x14E0950, CRC32:0x4EC38C97, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uRagdoll vftable:0x20C9E60, Size:0x1D0, CRC32:0x581ED5CF +class uRagdoll /*: uRigidBody, uPhysics, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uRagdoll::JOINT_INFO vftable:0x20C9E4C, Size:0x24, CRC32:0x435F0109 +class uRagdoll::JOINT_INFO /*: MtObject*/ { +}; + +// uRagdoll::RIGID_BODY_INFO vftable:0x20C9E30, Size:0x130, CRC32:0xBCEE497 +class uRagdoll::RIGID_BODY_INFO /*: MtObject*/ { +}; + +// uRagdollExt vftable:0x1D6EC38, Size:0x1D0, CRC32:0x5A6CD4EC +class uRagdollExt /*: uRagdoll, uRigidBody, uPhysics, cUnit, MtObject*/ { + event 'All Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x16D0D797, Flags:0xA0000 + event 'All Enable' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xDA6D6968, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uResetFlag vftable:0x1D6ECC8, Size:0x50, CRC32:0x11D39792 +class uResetFlag /*: cUnit, MtObject*/ { + bool 'mResetSoftBody' ; // Offset:0x40, Var, CRC32:0x1F739086, Flags:0x0 + bool 'mPauseSoftBody' ; // Offset:0x41, Var, CRC32:0x597736C, Flags:0x0 + bool 'mGrassWind' ; // Offset:0x42, Var, CRC32:0xD2926697, Flags:0x0 + f32 'mSoftBodyLength' ; // Offset:0x44, Var, CRC32:0xEEB65A35, Flags:0x0 + f32 'mJointExLength' ; // Offset:0x48, Var, CRC32:0x88661BFB, Flags:0x0 + bool 'mTreeHIGH_LOD' ; // Offset:0x4C, Var, CRC32:0xBCD6FF7E, Flags:0x0 +}; + +// uResidingCallDraw vftable:0x1D6ED98, Size:0x50, CRC32:0x28604181 +class uResidingCallDraw /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uRigidBody vftable:0x20C98E0, Size:0x188, CRC32:0x48938DD1 +class uRigidBody /*: uPhysics, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uRigidBodyExt vftable:0x1D6EE30, Size:0x198, CRC32:0x2DBF72C7 +class uRigidBodyExt /*: uRigidBody, uPhysics, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScheduler vftable:0x20BE4F0, Size:0x68, CRC32:0x2ED1A340 +class uScheduler /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mSpeed' ; // Offset:0x4C, Var, CRC32:0xF2926437, Flags:0x0 + bool 'mPause' ; // Offset:0x50, Var, CRC32:0x2A2E082C, Flags:0x0 + bool 'mLoop' ; // Offset:0x51, Var, CRC32:0x7856D6D2, Flags:0x0 + bool 'mFloorFrame' ; // Offset:0x52, Var, CRC32:0xA60F567E, Flags:0x10000 + bool 'mMarkerAdjust' ; // Offset:0x53, Var, CRC32:0xB4D9F332, Flags:0x0 + classref 'mpUnitList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x149C120, Setter:0x149C740, GetCount:0x149C1D0, Reallocate:0x149C760 CRC32:0xE8978121, Flags:0xB10000 + f32 'mMarkerFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C0B0, Setter:0x149C620, CRC32:0x6F851332, Flags:0x800000 + u32 'mMarkerNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C020, Setter:0x149C5D0, CRC32:0x6BF15214, Flags:0x800000 + bool 'isPauseToFullStopMoved' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C1F0, Setter:0x0, CRC32:0xE2650086, Flags:0x830000 + bool 'isPauseToFullStop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C1E0, Setter:0x149C720, CRC32:0xE17999A6, Flags:0x800000 + f32 'FrameF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C000, Setter:0x149C5C0, CRC32:0x508EB7D0, Flags:0x800000 + u32 'Frame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x419210, Setter:0x41A580, CRC32:0x8BC6EC36, Flags:0x800000 + custom 'mpScheduler' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10D9570, Setter:0x149C570, CRC32:0xDBB56AA1, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSchedulerEdit vftable:0x20BE558, Size:0x68, CRC32:0x49CECAD +class uSchedulerEdit /*: uScheduler, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mSpeed' ; // Offset:0x4C, Var, CRC32:0xF2926437, Flags:0x0 + bool 'mPause' ; // Offset:0x50, Var, CRC32:0x2A2E082C, Flags:0x0 + bool 'mLoop' ; // Offset:0x51, Var, CRC32:0x7856D6D2, Flags:0x0 + bool 'mFloorFrame' ; // Offset:0x52, Var, CRC32:0xA60F567E, Flags:0x10000 + bool 'mMarkerAdjust' ; // Offset:0x53, Var, CRC32:0xB4D9F332, Flags:0x0 + classref 'mpUnitList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x149C120, Setter:0x149C740, GetCount:0x149C1D0, Reallocate:0x149C760 CRC32:0xE8978121, Flags:0xB10000 + f32 'mMarkerFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C0B0, Setter:0x149C620, CRC32:0x6F851332, Flags:0x800000 + u32 'mMarkerNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C020, Setter:0x149C5D0, CRC32:0x6BF15214, Flags:0x800000 + bool 'isPauseToFullStopMoved' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C1F0, Setter:0x0, CRC32:0xE2650086, Flags:0x830000 + bool 'isPauseToFullStop' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C1E0, Setter:0x149C720, CRC32:0xE17999A6, Flags:0x800000 + f32 'FrameF' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149C000, Setter:0x149C5C0, CRC32:0x508EB7D0, Flags:0x800000 + u32 'Frame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x419210, Setter:0x41A580, CRC32:0x8BC6EC36, Flags:0x800000 + custom 'mpScheduler' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10D9570, Setter:0x149C570, CRC32:0xDBB56AA1, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrBaseModel vftable:0x1D6F408, Size:0xEC0, CRC32:0x1ED52EB1 +class uScrBaseModel /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + s8 'mZoneLocalGp[0]' ; // Offset:0x5, Var, CRC32:0x8A1528AB, Flags:0x0 + s8 'mZoneLocalGp[1]' ; // Offset:0x7, Var, CRC32:0x930E19EA, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + s8 'mZoneLocalGp[2]' ; // Offset:0x9, Var, CRC32:0xB8234A29, Flags:0x0 + s8 'mZoneLocalGp[3]' ; // Offset:0xB, Var, CRC32:0xA1387B68, Flags:0x0 + s8 'mZoneLocalGp[4]' ; // Offset:0xD, Var, CRC32:0xEE79EDAF, Flags:0x0 + s8 'mZoneLocalGp[5]' ; // Offset:0xF, Var, CRC32:0xF762DCEE, Flags:0x0 + s8 'mZoneLocalGp[6]' ; // Offset:0x11, Var, CRC32:0xDC4F8F2D, Flags:0x0 + s8 'mZoneLocalGp[7]' ; // Offset:0x13, Var, CRC32:0xC554BE6C, Flags:0x0 + s8 'mZoneLocalGp[8]' ; // Offset:0x15, Var, CRC32:0x42CCA2A3, Flags:0x0 + s8 'mZoneLocalGp[9]' ; // Offset:0x17, Var, CRC32:0x5BD793E2, Flags:0x0 + s8 'mZoneLocalGp[10]' ; // Offset:0x19, Var, CRC32:0x85C53DDC, Flags:0x0 + s8 'mZoneLocalGp[11]' ; // Offset:0x1B, Var, CRC32:0x9CDE0C9D, Flags:0x0 + s8 'mZoneLocalGp[12]' ; // Offset:0x1D, Var, CRC32:0xB7F35F5E, Flags:0x0 + s8 'mZoneLocalGp[13]' ; // Offset:0x1F, Var, CRC32:0xAEE86E1F, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + s8 'mZoneLocalGp[14]' ; // Offset:0x21, Var, CRC32:0xE1A9F8D8, Flags:0x0 + s8 'mZoneLocalGp[15]' ; // Offset:0x23, Var, CRC32:0xF8B2C999, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + bool 'mDisableZone' ; // Offset:0xEAC, Var, CRC32:0xBF8B9461, Flags:0x0 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mOffsetPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049600, Setter:0x1049C50, CRC32:0xB849CDBB, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrBaseModelDayNight vftable:0x1D6FAD0, Size:0x1E10, CRC32:0x131980D4 +class uScrBaseModelDayNight /*: uScrBaseModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + s8 'mZoneLocalGp[0]' ; // Offset:0x5, Var, CRC32:0x8A1528AB, Flags:0x0 + s8 'mZoneLocalGp[1]' ; // Offset:0x7, Var, CRC32:0x930E19EA, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + s8 'mZoneLocalGp[2]' ; // Offset:0x9, Var, CRC32:0xB8234A29, Flags:0x0 + s8 'mZoneLocalGp[3]' ; // Offset:0xB, Var, CRC32:0xA1387B68, Flags:0x0 + s8 'mZoneLocalGp[4]' ; // Offset:0xD, Var, CRC32:0xEE79EDAF, Flags:0x0 + s8 'mZoneLocalGp[5]' ; // Offset:0xF, Var, CRC32:0xF762DCEE, Flags:0x0 + s8 'mZoneLocalGp[6]' ; // Offset:0x11, Var, CRC32:0xDC4F8F2D, Flags:0x0 + s8 'mZoneLocalGp[7]' ; // Offset:0x13, Var, CRC32:0xC554BE6C, Flags:0x0 + s8 'mZoneLocalGp[8]' ; // Offset:0x15, Var, CRC32:0x42CCA2A3, Flags:0x0 + s8 'mZoneLocalGp[9]' ; // Offset:0x17, Var, CRC32:0x5BD793E2, Flags:0x0 + s8 'mZoneLocalGp[10]' ; // Offset:0x19, Var, CRC32:0x85C53DDC, Flags:0x0 + s8 'mZoneLocalGp[11]' ; // Offset:0x1B, Var, CRC32:0x9CDE0C9D, Flags:0x0 + s8 'mZoneLocalGp[12]' ; // Offset:0x1D, Var, CRC32:0xB7F35F5E, Flags:0x0 + s8 'mZoneLocalGp[13]' ; // Offset:0x1F, Var, CRC32:0xAEE86E1F, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + s8 'mZoneLocalGp[14]' ; // Offset:0x21, Var, CRC32:0xE1A9F8D8, Flags:0x0 + s8 'mZoneLocalGp[15]' ; // Offset:0x23, Var, CRC32:0xF8B2C999, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + bool 'mDisableZone' ; // Offset:0xEAC, Var, CRC32:0xBF8B9461, Flags:0x0 + vector4 'mNightColor' ; // Offset:0x1E00, Var, CRC32:0xECFAE1C7, Flags:0x0 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + vector3 'mOffsetPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049600, Setter:0x1049C50, CRC32:0xB849CDBB, Flags:0x800000 + u32 'MaterialMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049F20, Setter:0x104A060, CRC32:0x2B67C99E, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrBaseModelHQ vftable:0x1D6F550, Size:0xEC0, CRC32:0x5C4A88C +class uScrBaseModelHQ /*: uScrBaseModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + s8 'mZoneLocalGp[0]' ; // Offset:0x5, Var, CRC32:0x8A1528AB, Flags:0x0 + s8 'mZoneLocalGp[1]' ; // Offset:0x7, Var, CRC32:0x930E19EA, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + s8 'mZoneLocalGp[2]' ; // Offset:0x9, Var, CRC32:0xB8234A29, Flags:0x0 + s8 'mZoneLocalGp[3]' ; // Offset:0xB, Var, CRC32:0xA1387B68, Flags:0x0 + s8 'mZoneLocalGp[4]' ; // Offset:0xD, Var, CRC32:0xEE79EDAF, Flags:0x0 + s8 'mZoneLocalGp[5]' ; // Offset:0xF, Var, CRC32:0xF762DCEE, Flags:0x0 + s8 'mZoneLocalGp[6]' ; // Offset:0x11, Var, CRC32:0xDC4F8F2D, Flags:0x0 + s8 'mZoneLocalGp[7]' ; // Offset:0x13, Var, CRC32:0xC554BE6C, Flags:0x0 + s8 'mZoneLocalGp[8]' ; // Offset:0x15, Var, CRC32:0x42CCA2A3, Flags:0x0 + s8 'mZoneLocalGp[9]' ; // Offset:0x17, Var, CRC32:0x5BD793E2, Flags:0x0 + s8 'mZoneLocalGp[10]' ; // Offset:0x19, Var, CRC32:0x85C53DDC, Flags:0x0 + s8 'mZoneLocalGp[11]' ; // Offset:0x1B, Var, CRC32:0x9CDE0C9D, Flags:0x0 + s8 'mZoneLocalGp[12]' ; // Offset:0x1D, Var, CRC32:0xB7F35F5E, Flags:0x0 + s8 'mZoneLocalGp[13]' ; // Offset:0x1F, Var, CRC32:0xAEE86E1F, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + s8 'mZoneLocalGp[14]' ; // Offset:0x21, Var, CRC32:0xE1A9F8D8, Flags:0x0 + s8 'mZoneLocalGp[15]' ; // Offset:0x23, Var, CRC32:0xF8B2C999, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + bool 'mDisableZone' ; // Offset:0xEAC, Var, CRC32:0xBF8B9461, Flags:0x0 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mOffsetPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049600, Setter:0x1049C50, CRC32:0xB849CDBB, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrModel vftable:0x1D6F358, Size:0x1A10, CRC32:0x54A9C99C +class uScrModel /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + s8 'mZoneLocalGp[0]' ; // Offset:0x5, Var, CRC32:0x8A1528AB, Flags:0x0 + s8 'mZoneLocalGp[1]' ; // Offset:0x7, Var, CRC32:0x930E19EA, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + s8 'mZoneLocalGp[2]' ; // Offset:0x9, Var, CRC32:0xB8234A29, Flags:0x0 + s8 'mZoneLocalGp[3]' ; // Offset:0xB, Var, CRC32:0xA1387B68, Flags:0x0 + s8 'mZoneLocalGp[4]' ; // Offset:0xD, Var, CRC32:0xEE79EDAF, Flags:0x0 + s8 'mZoneLocalGp[5]' ; // Offset:0xF, Var, CRC32:0xF762DCEE, Flags:0x0 + s8 'mZoneLocalGp[6]' ; // Offset:0x11, Var, CRC32:0xDC4F8F2D, Flags:0x0 + s8 'mZoneLocalGp[7]' ; // Offset:0x13, Var, CRC32:0xC554BE6C, Flags:0x0 + s8 'mZoneLocalGp[8]' ; // Offset:0x15, Var, CRC32:0x42CCA2A3, Flags:0x0 + s8 'mZoneLocalGp[9]' ; // Offset:0x17, Var, CRC32:0x5BD793E2, Flags:0x0 + s8 'mZoneLocalGp[10]' ; // Offset:0x19, Var, CRC32:0x85C53DDC, Flags:0x0 + s8 'mZoneLocalGp[11]' ; // Offset:0x1B, Var, CRC32:0x9CDE0C9D, Flags:0x0 + s8 'mZoneLocalGp[12]' ; // Offset:0x1D, Var, CRC32:0xB7F35F5E, Flags:0x0 + s8 'mZoneLocalGp[13]' ; // Offset:0x1F, Var, CRC32:0xAEE86E1F, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + s8 'mZoneLocalGp[14]' ; // Offset:0x21, Var, CRC32:0xE1A9F8D8, Flags:0x0 + s8 'mZoneLocalGp[15]' ; // Offset:0x23, Var, CRC32:0xF8B2C999, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x19FC, Var, CRC32:0xBF8B9461, Flags:0x0 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + vector3 'mOffsetPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049610, Setter:0x1049C90, CRC32:0xB849CDBB, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uScrModelHQ vftable:0x1D6F4A0, Size:0x1A10, CRC32:0x1B804FC4 +class uScrModelHQ /*: uScrModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + s8 'mZoneLocalGp[0]' ; // Offset:0x5, Var, CRC32:0x8A1528AB, Flags:0x0 + s8 'mZoneLocalGp[1]' ; // Offset:0x7, Var, CRC32:0x930E19EA, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + s8 'mZoneLocalGp[2]' ; // Offset:0x9, Var, CRC32:0xB8234A29, Flags:0x0 + s8 'mZoneLocalGp[3]' ; // Offset:0xB, Var, CRC32:0xA1387B68, Flags:0x0 + s8 'mZoneLocalGp[4]' ; // Offset:0xD, Var, CRC32:0xEE79EDAF, Flags:0x0 + s8 'mZoneLocalGp[5]' ; // Offset:0xF, Var, CRC32:0xF762DCEE, Flags:0x0 + s8 'mZoneLocalGp[6]' ; // Offset:0x11, Var, CRC32:0xDC4F8F2D, Flags:0x0 + s8 'mZoneLocalGp[7]' ; // Offset:0x13, Var, CRC32:0xC554BE6C, Flags:0x0 + s8 'mZoneLocalGp[8]' ; // Offset:0x15, Var, CRC32:0x42CCA2A3, Flags:0x0 + s8 'mZoneLocalGp[9]' ; // Offset:0x17, Var, CRC32:0x5BD793E2, Flags:0x0 + s8 'mZoneLocalGp[10]' ; // Offset:0x19, Var, CRC32:0x85C53DDC, Flags:0x0 + s8 'mZoneLocalGp[11]' ; // Offset:0x1B, Var, CRC32:0x9CDE0C9D, Flags:0x0 + s8 'mZoneLocalGp[12]' ; // Offset:0x1D, Var, CRC32:0xB7F35F5E, Flags:0x0 + s8 'mZoneLocalGp[13]' ; // Offset:0x1F, Var, CRC32:0xAEE86E1F, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + s8 'mZoneLocalGp[14]' ; // Offset:0x21, Var, CRC32:0xE1A9F8D8, Flags:0x0 + s8 'mZoneLocalGp[15]' ; // Offset:0x23, Var, CRC32:0xF8B2C999, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x19FC, Var, CRC32:0xBF8B9461, Flags:0x0 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + vector3 'mOffsetPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049610, Setter:0x1049C90, CRC32:0xB849CDBB, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uScreenSpace vftable:0x1C7F540, Size:0x280, CRC32:0x60F09AE5 +class uScreenSpace /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpColorTarget' ; // Offset:0x44, Var, CRC32:0xCA322876, Flags:0x30000 + classref 'mpDistortionTex' ; // Offset:0x50, Var, CRC32:0x9BD73618, Flags:0x30000 + vector3 'mCameraPos' ; // Offset:0x80, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x90, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mCameraTarget' ; // Offset:0xA0, Var, CRC32:0x6EAB3E5B, Flags:0x0 + f32 'mNearPlane' ; // Offset:0xB0, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mFarPlane' ; // Offset:0xB4, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mFOV' ; // Offset:0xB8, Var, CRC32:0x96095944, Flags:0x0 + u32 'mSceneDrawMode' ; // Offset:0xBC, Var, CRC32:0x4E708CE3, Flags:0x0 + u32 'mSceneView' ; // Offset:0xC0, Var, CRC32:0xE8FEEC5B, Flags:0x0 + color 'mClearColor' ; // Offset:0xC4, Var, CRC32:0x52778E8B, Flags:0x0 + bool 'mDraw2D' ; // Offset:0xCC, Var, CRC32:0xD1CCC93A, Flags:0x0 + bool 'mFXAA' ; // Offset:0xCD, Var, CRC32:0x6C16CCB5, Flags:0x0 + u32 'mAttribute' ; // Offset:0x250, Var, CRC32:0xA6EE61BF, Flags:0x0 + s32 'mDepth' ; // Offset:0x254, Var, CRC32:0x71786A8, Flags:0x0 + class 'mPointTable' ; // Offset:0x258, Var, CRC32:0x40A2C9B1, Flags:0x0 + classref 'mpCamera' ; // Offset:0x26C, Var, CRC32:0xB0290F47, Flags:0x100000 + u32 'mPass' ; // Offset:0x270, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x274, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mLayer' ; // Offset:0x278, Var, CRC32:0x196FBBDB, Flags:0x0 + bool 'mDepthToAlpha' ; // Offset:0x27C, Var, CRC32:0xA8188BF, Flags:0x0 + u32 'mTextureSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DA90, Setter:0xB2AE50, CRC32:0x71C13470, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mDistortionEnabled' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DAA0, Setter:0x168DB40, CRC32:0x647AC5B1, Flags:0x800000 + custom 'mpRenderTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DA80, Setter:0xB2ADE0, CRC32:0x8308FBF8, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrollCollisionGeometry vftable:0x20D1548, Size:0x120, CRC32:0x2199744B +class uScrollCollisionGeometry /*: uScrollCollision, cUnit, MtObject*/ { + event 'MatrixReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x5A9A904F, Flags:0xA0000 + u32 'ScrollType' ; // Offset:0x4, Var, CRC32:0x966FCF24, Flags:0x0 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpOwner' ; // Offset:0x40, Var, CRC32:0x4B533E00, Flags:0x100000 + classref 'mpPlusData' ; // Offset:0x44, Var, CRC32:0x18E78BE7, Flags:0x0 + class 'mColliderGeometryArray' ; // Offset:0x48, Var, CRC32:0x96A45556, Flags:0x0 + class 'mScrMatrix' ; // Offset:0x90, Var, CRC32:0x187DE6FA, Flags:0x0 + matrix44 'mReserveMatrix' ; // Offset:0xC0, Var, CRC32:0xBFF3EEF2, Flags:0x0 + bool 'mFlgReserveResetSet' ; // Offset:0x100, Var, CRC32:0xEA0B4226, Flags:0x0 + bool 'mFlgReserveMatrixSet' ; // Offset:0x101, Var, CRC32:0x35B47553, Flags:0x0 + bool 'mFlgAutoSyncEnableMove' ; // Offset:0x103, Var, CRC32:0x221DEB8B, Flags:0x0 + bool 'mFlgAlwayUpdate' ; // Offset:0x10C, Var, CRC32:0xE4C1B96F, Flags:0x0 + bool 'mFlgUpdateOnce' ; // Offset:0x10D, Var, CRC32:0xB91546DF, Flags:0x0 + bool 'mFlgStopSet' ; // Offset:0x10E, Var, CRC32:0x2F2E7F0A, Flags:0x0 + bool 'mFlgEnableOwner' ; // Offset:0x10F, Var, CRC32:0x8AAFA4C0, Flags:0x0 + bool 'mFlgStopSetControl' ; // Offset:0x112, Var, CRC32:0x67AE04FE, Flags:0x0 + matrix44 'MoveMatrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B9E20, Setter:0x17BA810, CRC32:0x9074BE3, Flags:0x800000 + bool 'mFlgAutoSync' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B9ED0, Setter:0x17BA190, CRC32:0x821898A5, Flags:0x800000 + u32 'ScrollType(Bit)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B9EB0, Setter:0x17BA9B0, CRC32:0xF0B4F657, Flags:0x820000 + u8 'ScrollGroupIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B15B0, Setter:0x17F6090, CRC32:0x6D98B29B, Flags:0x810000 + u32 'ScrollGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B15A0, Setter:0x17F60C0, CRC32:0xC169666D, Flags:0x810000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrollCollisionGeometry::cGeometryInfo vftable:0x20D151C, Size:0x60, CRC32:0x66540C1A +class uScrollCollisionGeometry::cGeometryInfo /*: MtObject*/ { + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x0 + classref 'mpOwner' ; // Offset:0x4, Var, CRC32:0x4B533E00, Flags:0x0 + u32 'mElementIndex' ; // Offset:0x8, Var, CRC32:0x8519072D, Flags:0x10000 + u32 'Attribute(List)' ; // Offset:0x30, Var, CRC32:0xC07C17E5, Flags:0x20000 + u32 'Attribute' ; // Offset:0x30, Var, CRC32:0x877492A7, Flags:0x0 + u32 'UserAttr0(List)' ; // Offset:0x34, Var, CRC32:0xB4287CBF, Flags:0x20000 + u32 'UserAttr0' ; // Offset:0x34, Var, CRC32:0x756E1BF5, Flags:0x0 + u32 'UserAttr1(List)' ; // Offset:0x38, Var, CRC32:0x125F770B, Flags:0x20000 + u32 'UserAttr1' ; // Offset:0x38, Var, CRC32:0x2692B63, Flags:0x0 + u32 'UserAttr2(List)' ; // Offset:0x3C, Var, CRC32:0x23B76D96, Flags:0x20000 + u32 'UserAttr2' ; // Offset:0x3C, Var, CRC32:0x9B607AD9, Flags:0x0 + u32 'UserAttr3(List)' ; // Offset:0x40, Var, CRC32:0x85C06622, Flags:0x20000 + u32 'UserAttr3' ; // Offset:0x40, Var, CRC32:0xEC674A4F, Flags:0x0 + classref 'Geometry' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B9D10, Setter:0x17BA280, CRC32:0x93DB9302, Flags:0x840000 + bool 'Active' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B9EC0, Setter:0x17BA180, CRC32:0xB34D06CB, Flags:0x800000 + u32 'Type' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B9D40, Setter:0x17BA2E0, CRC32:0xD31307E8, Flags:0x800000 +}; + +// uScrollCollisionGeometryGroupModel vftable:0x20DA9D8, Size:0x70, CRC32:0x54FA049E +class uScrollCollisionGeometryGroupModel /*: uScrollCollision, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'WIgO[vjbg' ; // Offset:0x44, Var, CRC32:0xD385A4A6, Flags:0x0 + class 'WIgjbgXg' ; // Offset:0x48, Var, CRC32:0x4ABCEBFC, Flags:0x10000 + bool 'I[i[o^' ; // Offset:0x68, Var, CRC32:0x47361260, Flags:0x10000 + classref 'I[i[f(uModel)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972DE0, Setter:0x1973070, CRC32:0x550CB9F3, Flags:0x900000 + custom 'WIgO[v\[X(.geo2g)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972DF0, Setter:0x19730D0, CRC32:0x2E85A9DD, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrollCollisionGeometryModel vftable:0x20DA8B0, Size:0x60, CRC32:0x5ED6FA84 +class uScrollCollisionGeometryModel /*: uScrollCollision, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'WIgjbg' ; // Offset:0x44, Var, CRC32:0x6732E3D7, Flags:0x0 + classref '{SCRjbg' ; // Offset:0x48, Var, CRC32:0xE6A73EE1, Flags:0x100000 + bool 'I[i[o^' ; // Offset:0x4C, Var, CRC32:0x47361260, Flags:0x10000 + classref 'ejbg' ; // Offset:0x58, Var, CRC32:0xC139B608, Flags:0x110000 + bool 'O[v[h' ; // Offset:0x5C, Var, CRC32:0x96376A81, Flags:0x10000 + u32 '`' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972660, Setter:0x1972A40, CRC32:0x3AE64B11, Flags:0x820000 + classref 'I[i[f(uModel)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972640, Setter:0x1972980, CRC32:0x550CB9F3, Flags:0x900000 + custom 'WIg\[X(.geo2)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972650, Setter:0x19729E0, CRC32:0xC875DC41, Flags:0x800000 + bool '`' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972680, Setter:0x1972A30, CRC32:0xBFDA9E1A, Flags:0x820000 + bool 'ANeBu' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1972670, Setter:0x1972A20, CRC32:0x64EB2ED9, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uScrollCollisionSbc vftable:0x20DAAC0, Size:0xF0, CRC32:0x24E6FDAF +class uScrollCollisionSbc /*: uScrollCollision, cUnit, MtObject*/ { + event 'Connect ON' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x48F43D6C, Flags:0xA0000 + event 'Connect OFF' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x132AB7E3, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'SbcHandle' ; // Offset:0x48, Var, CRC32:0x5D57E310, Flags:0x30000 + vector3 'Offset' ; // Offset:0x50, Var, CRC32:0xA1593019, Flags:0x0 + vector3 'Pos' ; // Offset:0x60, Var, CRC32:0x476B5FB3, Flags:0x10000 + quaternion 'Qt' ; // Offset:0x70, Var, CRC32:0x4AEE3430, Flags:0x10000 + matrix44 'WMat' ; // Offset:0x80, Var, CRC32:0xDBADE6A8, Flags:0x10000 + bool 'Move' ; // Offset:0xC2, Var, CRC32:0xB0F367B9, Flags:0x10000 + bool 'ConnectJointNo(IO)' ; // Offset:0xC7, Var, CRC32:0x6F2E2CEE, Flags:0x10000 + bool 'ConnectModelJoint(IO)' ; // Offset:0xC7, Var, CRC32:0x2BCDFF86, Flags:0x10000 + bool 'ConnectModelJointIndex(IO)' ; // Offset:0xC8, Var, CRC32:0xE413B356, Flags:0x10000 + u32 'UseJointIndex(IO)' ; // Offset:0xCC, Var, CRC32:0x8BE4AE7C, Flags:0x10000 + u32 'JointIndex' ; // Offset:0xCC, Var, CRC32:0x15393272, Flags:0x20000 + u32 'UseJointNo(IO)' ; // Offset:0xD0, Var, CRC32:0x20036FA, Flags:0x10000 + u32 'UseJointNo' ; // Offset:0xD0, Var, CRC32:0xA4605730, Flags:0x20000 + u32 'OffsetMode' ; // Offset:0xD4, Var, CRC32:0xD56EBF6F, Flags:0x0 + bool 'EraseWorldMatrixScale' ; // Offset:0xDA, Var, CRC32:0x3FCD8418, Flags:0x0 + u32 'LimitMode' ; // Offset:0xDC, Var, CRC32:0x3180A2E3, Flags:0x0 + u32 'TargetPartsIndex' ; // Offset:0xE0, Var, CRC32:0x7C1A8EC8, Flags:0x0 + u32 'TargetPartsID' ; // Offset:0xE4, Var, CRC32:0xA05B7DA7, Flags:0x0 + bool 'mFlgNextForceUpdate' ; // Offset:0xE8, Var, CRC32:0x6E4C1F00, Flags:0x30000 + bool 'mFlgNextForceResetset' ; // Offset:0xE9, Var, CRC32:0xE31B82F, Flags:0x30000 + bool 'Sbc Active' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974950, Setter:0x19755B0, CRC32:0x506AC5B3, Flags:0x800000 + bool 'OwnerMoveSyncEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974910, Setter:0x1975500, CRC32:0xDDC31052, Flags:0x800000 + bool 'UseJointNo(Flag)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974940, Setter:0x19752D0, CRC32:0x7B9B0DB, Flags:0x820000 + bool 'ConnectEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974920, Setter:0x19754F0, CRC32:0x72FFC5B0, Flags:0x830000 + u32 'SbcGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19748F0, Setter:0x19755C0, CRC32:0xB91E6857, Flags:0x800000 + u32 'SbcType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974900, Setter:0x19755E0, CRC32:0xE6A8576C, Flags:0x800000 + bool 'UseJointIndex(Flag)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974930, Setter:0x1975290, CRC32:0x94B41D84, Flags:0x820000 + custom 'Resource(rCollision)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19748E0, Setter:0x1975400, CRC32:0x6C46ECEC, Flags:0x800000 + classref 'Owner' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x19748D0, Setter:0x1975320, CRC32:0xF15E3687, Flags:0x900000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'UseJointWorldMatrix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1974960, Setter:0x1975600, CRC32:0xC5E70C55, Flags:0x820000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSetFurniture vftable:0x1D1A020, Size:0x1CE0, CRC32:0x4031AD30 +class uSetFurniture /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShadow::cHardwareDispCtrlShadow vftable:0x1D6FB8C, Size:0x14, CRC32:0x398D7BB4 +class uShadow::cHardwareDispCtrlShadow /*: cUnit::cHardwareDispCtrl, MtObject*/ { + u32 'mFlag' ; // Offset:0xC, Var, CRC32:0x8FD20A6, Flags:0x0 +}; + +// uShallowWind vftable:0x20CDEE8, Size:0x310, CRC32:0x9C893DB +class uShallowWind /*: uWind, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mDeltaTime' ; // Offset:0x58, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mDumpingCoef' ; // Offset:0x68, Var, CRC32:0x34E96BA4, Flags:0x0 + bool 'mRecoveriable' ; // Offset:0x6C, Var, CRC32:0xACBD7045, Flags:0x0 + f32 'mUpdateInterval' ; // Offset:0x70, Var, CRC32:0x598ABFF1, Flags:0x0 + f32 'mBaseScale' ; // Offset:0x90, Var, CRC32:0xBA553A2F, Flags:0x0 + class 'mWindGenerator'[4] ; // Offset:0xD0, Array, CRC32:0xA099EAB3, Flags:0x200000 + vector3 'mBasePos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD1C0, Setter:0x16CD790, CRC32:0x3450C923, Flags:0x800000 + u32 'mIteratorZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD560, Setter:0x16CD960, CRC32:0x6810BB42, Flags:0x800000 + u32 'mIteratorX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD550, Setter:0x16CD950, CRC32:0x861EDA6E, Flags:0x800000 + f32 'mGridPitch' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD540, Setter:0x16CD880, CRC32:0xC1DDC2D0, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uShl020702BladeShot vftable:0x1CDCD60, Size:0x2490, CRC32:0x1113360 +class uShl020702BladeShot /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShl021004MainMagic01 vftable:0x1D708B8, Size:0x2380, CRC32:0x201284A2 +class uShl021004MainMagic01 /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShl021004MainMagic02 vftable:0x1D70BF0, Size:0x24B0, CRC32:0x391BD518 +class uShl021004MainMagic02 /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShl021004SubEnchant vftable:0x1D718D0, Size:0x2390, CRC32:0x4C0D5C80 +class uShl021004SubEnchant /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShl021004SubMagic03 vftable:0x1D70F38, Size:0x23F0, CRC32:0xC8C1110 +class uShl021004SubMagic03 /*: uShlLineConnectCtrl, uShlGeneOwnerJoint, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShl021004SubMagic04 vftable:0x1D71598, Size:0x2380, CRC32:0x12E884B3 +class uShl021004SubMagic04 /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShl021004ThunderBall vftable:0x1D71268, Size:0x2370, CRC32:0x5D9F01A8 +class uShl021004ThunderBall /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemColBase vftable:0x1D76328, Size:0x2370, CRC32:0x661AADB4 +class uShlAlchemColBase /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemColEnchant vftable:0x1D769B8, Size:0x2380, CRC32:0x67E4FCEB +class uShlAlchemColEnchant /*: uShlEnchant, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemColTrapAttack vftable:0x1D76D20, Size:0x2390, CRC32:0x5E0C9227 +class uShlAlchemColTrapAttack /*: uShlAlchemyTrapAttack, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemy vftable:0x1D725A0, Size:0x2380, CRC32:0x230DAD85 +class uShlAlchemy /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemyCS03 vftable:0x1D728D8, Size:0x23A0, CRC32:0x1B23B7DA +class uShlAlchemyCS03 /*: uShlAlchemy, uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemyCS03Ex01 vftable:0x1D72C68, Size:0x23B0, CRC32:0x283C2BEB +class uShlAlchemyCS03Ex01 /*: uShlAlchemyCS03, uShlAlchemy, uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemyObj vftable:0x1D73648, Size:0x2420, CRC32:0x38C2CCF +class uShlAlchemyObj /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemyTrap vftable:0x1D73F70, Size:0x2430, CRC32:0x23178814 +class uShlAlchemyTrap /*: uShlAlchemyObj, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlAlchemyTrapAttack vftable:0x1D74310, Size:0x2380, CRC32:0x1FBAA5EF +class uShlAlchemyTrapAttack /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlArrow vftable:0x1D74BC8, Size:0x2450, CRC32:0x60D0626A +class uShlArrow /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlArrowInc vftable:0x1D74F08, Size:0x2360, CRC32:0x44D655E3 +class uShlArrowInc /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlArrowRainCtrl vftable:0x1D75778, Size:0x2390, CRC32:0x6661AFD1 +class uShlArrowRainCtrl /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlBakuensen vftable:0x1D775C8, Size:0x23C0, CRC32:0x6D1E1FE5 +class uShlBakuensen /*: uShlKeepOwnerLog, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + f32 'mKeepLogTimer' ; // Offset:0x2378, Var, CRC32:0x6545F477, Flags:0x0 + vector3 'mKeepLogPosLast' ; // Offset:0x2380, Var, CRC32:0xB7483011, Flags:0x0 + f32 'mReverseSpeed' ; // Offset:0x23A8, Var, CRC32:0xC63D28DD, Flags:0x0 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlBaphoElementAtk vftable:0x1D78268, Size:0x2470, CRC32:0x7807B393 +class uShlBaphoElementAtk /*: uShlHomingEm, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlBaphoEnlargeHit vftable:0x1D788E0, Size:0x2370, CRC32:0x8CDD084 +class uShlBaphoEnlargeHit /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlBase vftable:0x1D79238, Size:0x2360, CRC32:0x15F7D570 +class uShlBase /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlBlackLindwurmWingMist vftable:0x1D79D40, Size:0x2370, CRC32:0x304D0B5E +class uShlBlackLindwurmWingMist /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlBreath vftable:0x1D7A590, Size:0x2610, CRC32:0x487D20F +class uShlBreath /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCatoblepasBase vftable:0x1D9D650, Size:0x2490, CRC32:0x4C8185F1 +class uShlCatoblepasBase /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCatoblepasBreath vftable:0x1D7AF30, Size:0x2630, CRC32:0x4D747387 +class uShlCatoblepasBreath /*: uShlBreath, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCatoblepasCannon vftable:0x1D9D990, Size:0x2490, CRC32:0x3D60E3E3 +class uShlCatoblepasCannon /*: uShlCatoblepasBase, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCatoblepasHeadSmoke vftable:0x1D9DCD0, Size:0x2490, CRC32:0x4CB73D54 +class uShlCatoblepasHeadSmoke /*: uShlCatoblepasBase, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCatoblepasStorm vftable:0x1DA17C8, Size:0x24B0, CRC32:0x538D99F7 +class uShlCatoblepasStorm /*: uShlTarasukuLight, uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlComponentCtrl vftable:0x1D7B818, Size:0x2380, CRC32:0x79412133 +class uShlComponentCtrl /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlConditionBase vftable:0x1D7C058, Size:0x2380, CRC32:0x34BD8B20 +class uShlConditionBase /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlConditionFollowMove vftable:0x1D7C368, Size:0x2390, CRC32:0x41E79F88 +class uShlConditionFollowMove /*: uShlFollowMove, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlConditionStick vftable:0x1D7C680, Size:0x2380, CRC32:0x1C16BD2C +class uShlConditionStick /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlConstErosion vftable:0x1D96748, Size:0x2360, CRC32:0x15C12771 +class uShlConstErosion /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlContaminateCrystalMgr vftable:0x1D7CF38, Size:0x2380, CRC32:0x5500C23D +class uShlContaminateCrystalMgr /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCreepHoming vftable:0x1D7D768, Size:0x24A0, CRC32:0x3E3FCBA9 +class uShlCreepHoming /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCustomConditionBase vftable:0x1D7DF88, Size:0x2390, CRC32:0x7A98AB57 +class uShlCustomConditionBase /*: uShlConditionBase, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCustomConditionFollowMove vftable:0x1D7E288, Size:0x23A0, CRC32:0x7BE97233 +class uShlCustomConditionFollowMove /*: uShlConditionFollowMove, uShlFollowMove, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlCustomSpline vftable:0x1D7EB60, Size:0x2570, CRC32:0x1AD9FFE9 +class uShlCustomSpline /*: uShlSpline, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlDamageSync vftable:0x1D7FFA8, Size:0x2370, CRC32:0x53409C27 +class uShlDamageSync /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlDamageSyncBreak vftable:0x1D802D8, Size:0x2370, CRC32:0x55673ED7 +class uShlDamageSyncBreak /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlDamageSyncCtrl vftable:0x1D7FC78, Size:0x2380, CRC32:0x251B1B20 +class uShlDamageSyncCtrl /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlDeathLantern vftable:0x1CCF588, Size:0x2360, CRC32:0x7B9335CD +class uShlDeathLantern /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlDividedCalled vftable:0x1D7F410, Size:0x2370, CRC32:0x3625AD07 +class uShlDividedCalled /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlElementCover vftable:0x1D80BC8, Size:0x23A0, CRC32:0x336443E0 +class uShlElementCover /*: uShlCustomConditionBase, uShlConditionBase, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlEmMultiLock vftable:0x1D81750, Size:0x23E0, CRC32:0x3920885C +class uShlEmMultiLock /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'VFZbgv' ; // Offset:0x2360, Var, CRC32:0xA5DD9EB4, Flags:0x0 + u32 'O[ṽVFZbg'[6] ; // Offset:0x2384, Array, CRC32:0x1279B563, Flags:0x200000 + u32 'bNIő吔' ; // Offset:0x239C, Var, CRC32:0x5988568, Flags:0x0 + vector3 'C^[Qbgւ̊xNg' ; // Offset:0x23A0, Var, CRC32:0xF5E9735, Flags:0x0 + class 'mTmpTargetArray' ; // Offset:0x23B0, Var, CRC32:0xD8C52D87, Flags:0x0 + class 'mTargetArray' ; // Offset:0x23C4, Var, CRC32:0x2F3CCD54, Flags:0x0 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlEmMultiLock::cTargetList vftable:0x1D81728, Size:0xC, CRC32:0x27D9136B +class uShlEmMultiLock::cTargetList /*: MtObject*/ { +}; + +// uShlEnchant vftable:0x1D76000, Size:0x2370, CRC32:0x481FAF3F +class uShlEnchant /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlEnergyCharge vftable:0x1D82668, Size:0x2360, CRC32:0x170C316 +class uShlEnergyCharge /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlEnlargeAtk vftable:0x1D785B0, Size:0x23A0, CRC32:0x478499A2 +class uShlEnlargeAtk /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlEvilEyeBase vftable:0x1D82E80, Size:0x24C0, CRC32:0x3EF7EC13 +class uShlEvilEyeBase /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlEvilEyeDamageSyncCtrl vftable:0x1D831C8, Size:0x23E0, CRC32:0x58F5554E +class uShlEvilEyeDamageSyncCtrl /*: uShlDamageSyncCtrl, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFireWallCtrl vftable:0x1D844E0, Size:0x25D0, CRC32:0x405F640C +class uShlFireWallCtrl /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFollowMove vftable:0x1D84DB8, Size:0x2370, CRC32:0x76C725B +class uShlFollowMove /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFollowMoveBomb vftable:0x1D83570, Size:0x2390, CRC32:0x70940F80 +class uShlFollowMoveBomb /*: uShlFollowMove, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFollowMoveBombExplosion vftable:0x1D838A0, Size:0x2360, CRC32:0x240FAEC4 +class uShlFollowMoveBombExplosion /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFollowMoveWarOrc vftable:0x1D855C0, Size:0x2380, CRC32:0x364AE1EB +class uShlFollowMoveWarOrc /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFriendSupport vftable:0x1D85DF0, Size:0x2370, CRC32:0x379F08EF +class uShlFriendSupport /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlFuwaFuwa2 vftable:0x1D86680, Size:0x2500, CRC32:0x70FB3242 +class uShlFuwaFuwa2 /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlGeneAlongGround vftable:0x1D86EC0, Size:0x23B0, CRC32:0x4ECB7EB7 +class uShlGeneAlongGround /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlGeneErosionTentacle vftable:0x1D87760, Size:0x2370, CRC32:0x19F0FB95 +class uShlGeneErosionTentacle /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlGeneOwnerJoint vftable:0x1D88048, Size:0x2370, CRC32:0xD4A06E1 +class uShlGeneOwnerJoint /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlGeneTarget vftable:0x1D89050, Size:0x2380, CRC32:0x6249C36 +class uShlGeneTarget /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlGenerator vftable:0x1D88828, Size:0x2380, CRC32:0x132F80E8 +class uShlGenerator /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlGravity vftable:0x1D898C8, Size:0x2380, CRC32:0x211DD8E4 +class uShlGravity /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlHermiteY vftable:0x1D97998, Size:0x2430, CRC32:0x3AADE9FE +class uShlHermiteY /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlHitReactionConditionStick vftable:0x1D8A7B8, Size:0x2410, CRC32:0x74810129 +class uShlHitReactionConditionStick /*: uShlConditionStick, uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlHitReactionSpline vftable:0x1D8A148, Size:0x25F0, CRC32:0x5A11719F +class uShlHitReactionSpline /*: uShlSpline, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlHitReactionStick vftable:0x1D8A480, Size:0x23F0, CRC32:0x72E506B7 +class uShlHitReactionStick /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlHoming vftable:0x1D8B070, Size:0x2490, CRC32:0x56593C47 +class uShlHoming /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlHomingEm vftable:0x1D8BD28, Size:0x2460, CRC32:0x2E5A55B9 +class uShlHomingEm /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlIntervalHitBase vftable:0x1D8C518, Size:0x2380, CRC32:0x23348556 +class uShlIntervalHitBase /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlIntervalHitStick vftable:0x1D8C828, Size:0x2380, CRC32:0x2567E02B +class uShlIntervalHitStick /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob04CS14 vftable:0x1D8D198, Size:0x2580, CRC32:0x334E8601 +class uShlJob04CS14 /*: uShlCustomSpline, uShlSpline, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob06CS12 vftable:0x1D8D9A0, Size:0x2390, CRC32:0x20ED7054 +class uShlJob06CS12 /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob06CS13 vftable:0x1D8E280, Size:0x2590, CRC32:0x57EA40C2 +class uShlJob06CS13 /*: uShlCustomSpline, uShlSpline, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob06CS14 vftable:0x1D8EA88, Size:0x2380, CRC32:0x498ED561 +class uShlJob06CS14 /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob08CS12Npc vftable:0x1D8B390, Size:0x2490, CRC32:0xE3B9A13 +class uShlJob08CS12Npc /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob08CS13 vftable:0x1D95618, Size:0x24A0, CRC32:0x68DAFEA3 +class uShlJob08CS13 /*: uShlMgcArrow, uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob08Cs05Ex02Stick vftable:0x1D8F288, Size:0x2360, CRC32:0x4A442040 +class uShlJob08Cs05Ex02Stick /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob08Cs12Homing vftable:0x1D98E98, Size:0x24A0, CRC32:0x1DACC230 +class uShlJob08Cs12Homing /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob08Cs12Pad vftable:0x1D98B88, Size:0x2440, CRC32:0x5292A7EC +class uShlJob08Cs12Pad /*: uShlPadCtrl, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob09CS11 vftable:0x1D8FDA8, Size:0x2490, CRC32:0x3BB4B63F +class uShlJob09CS11 /*: uShlKeyFrameSpeed, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob09CS11Alchem vftable:0x1D76628, Size:0x2380, CRC32:0x6DA88307 +class uShlJob09CS11Alchem /*: uShlAlchemColBase, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob09CS11Blow vftable:0x1D90118, Size:0x2360, CRC32:0x69555AE8 +class uShlJob09CS11Blow /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob10CS04 vftable:0x1D90948, Size:0x2450, CRC32:0x1489C225 +class uShlJob10CS04 /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob10CS06 vftable:0x1D91180, Size:0x2570, CRC32:0x7A87A309 +class uShlJob10CS06 /*: uShlCustomSpline, uShlSpline, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob10CS07 vftable:0x1D91988, Size:0x2370, CRC32:0xD80939F +class uShlJob10CS07 /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlJob11MarkUp vftable:0x1D921E0, Size:0x2370, CRC32:0x1B31C7C6 +class uShlJob11MarkUp /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlKeyFrameBase vftable:0x1D932D0, Size:0x23B0, CRC32:0x223AE049 +class uShlKeyFrameBase /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlKeyFrameSpeed vftable:0x1D8FA98, Size:0x2480, CRC32:0x68F3379F +class uShlKeyFrameSpeed /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlLaser vftable:0x1D93B18, Size:0x2390, CRC32:0x51AB2898 +class uShlLaser /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlLineConnectCtrl vftable:0x1D70578, Size:0x23E0, CRC32:0x19825392 +class uShlLineConnectCtrl /*: uShlGeneOwnerJoint, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlMeteo vftable:0x1D94A38, Size:0x2390, CRC32:0x5E0EC23 +class uShlMeteo /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlMeteoCtrl vftable:0x1D94700, Size:0x23D0, CRC32:0x5287AC0F +class uShlMeteoCtrl /*: uShlGenerator, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlMgcArrow vftable:0x1D952D0, Size:0x24A0, CRC32:0xCC5ACE1 +class uShlMgcArrow /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlMgcArrowErosion vftable:0x1D96400, Size:0x24B0, CRC32:0x1D727647 +class uShlMgcArrowErosion /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlMgcArrowErosionCtrl vftable:0x1D960D0, Size:0x2660, CRC32:0x465C81B3 +class uShlMgcArrowErosionCtrl /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlNotifyCatch vftable:0x1D97128, Size:0x2440, CRC32:0x7FCF9C35 +class uShlNotifyCatch /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlOmCannon vftable:0x1D97CD8, Size:0x2430, CRC32:0x4765C413 +class uShlOmCannon /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlOmPlCannon vftable:0x1D98018, Size:0x2430, CRC32:0x27B48A3D +class uShlOmPlCannon /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlPadCtrl vftable:0x1D98878, Size:0x2440, CRC32:0x264AFE3C +class uShlPadCtrl /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlPendularMovementLaser vftable:0x1D93E48, Size:0x23D0, CRC32:0x7D3647EA +class uShlPendularMovementLaser /*: uShlLaser, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlPhoenixDragonBase vftable:0x1D997A8, Size:0x24B0, CRC32:0x66296913 +class uShlPhoenixDragonBase /*: uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlPhoenixDragonMissile vftable:0x1D99AE8, Size:0x28F0, CRC32:0x3412EED9 +class uShlPhoenixDragonMissile /*: uShlEvilEyeDamageSyncCtrl, uShlDamageSyncCtrl, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlReflectWall vftable:0x1D9A460, Size:0x24A0, CRC32:0x492B7FA5 +class uShlReflectWall /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlRenmadanCtrl vftable:0x1D9B000, Size:0x23E0, CRC32:0x14D5D6D5 +class uShlRenmadanCtrl /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlRenmadanMain vftable:0x1D9ACD8, Size:0x24A0, CRC32:0x29DF6ACB +class uShlRenmadanMain /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlShiftCircleBit vftable:0x1D9B960, Size:0x2370, CRC32:0x19FCD16 +class uShlShiftCircleBit /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlShortCharge vftable:0x1D9C1F0, Size:0x2370, CRC32:0xAD48D63 +class uShlShortCharge /*: uShlFollowMove, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlShortChargeRe vftable:0x1D9C520, Size:0x2360, CRC32:0x688CE72C +class uShlShortChargeRe /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlSpeed vftable:0x1D9CD70, Size:0x2430, CRC32:0x37C172A2 +class uShlSpeed /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlSpeedWarOrc vftable:0x1D9E6F0, Size:0x2440, CRC32:0x1FBD8D72 +class uShlSpeedWarOrc /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlSpline vftable:0x1D9EF00, Size:0x2560, CRC32:0xB4AC805 +class uShlSpline /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlSpread vftable:0x1D9F798, Size:0x23B0, CRC32:0x42093D94 +class uShlSpread /*: uShlDamageSyncCtrl, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlStateSurveillance vftable:0x1D9FFF8, Size:0x2380, CRC32:0x530294C9 +class uShlStateSurveillance /*: uShlStick, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlStateSurveillance::cStateSurveillanceInfo vftable:0x1D9FFD0, Size:0x18, CRC32:0x6CC15D3 +class uShlStateSurveillance::cStateSurveillanceInfo /*: MtObject*/ { + s32 'mCheckType' ; // Offset:0x4, Var, CRC32:0x68D9E364, Flags:0x0 + u64 'mCheckObjStatus' ; // Offset:0x8, Var, CRC32:0xDEB9BD7A, Flags:0x0 + s32 'mResultCallSeNo' ; // Offset:0x10, Var, CRC32:0x74E416EF, Flags:0x0 +}; + +// uShlStick vftable:0x1D72270, Size:0x2360, CRC32:0x775CA686 +class uShlStick /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlStickCtrl vftable:0x1DA0890, Size:0x2370, CRC32:0x2344BC8A +class uShlStickCtrl /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlStickCtrl2 vftable:0x1DA0B90, Size:0x2370, CRC32:0x45197F02 +class uShlStickCtrl2 /*: uShlStickCtrl, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlTarasukuLight vftable:0x1DA1480, Size:0x24A0, CRC32:0x1D925ED0 +class uShlTarasukuLight /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlWraith vftable:0x1DA2080, Size:0x2360, CRC32:0x56ED87C8 +class uShlWraith /*: uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uShlWraithBlood vftable:0x1DA2378, Size:0x24A0, CRC32:0x5CC2891F +class uShlWraithBlood /*: uShlHoming, uShlSpeed, uShlBase, uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uSimSoftBody vftable:0x20C3A48, Size:0xC20, CRC32:0x773724E9 +class uSimSoftBody /*: cUnit, MtObject*/ { + event 'Start' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xA1478574, Flags:0xA0000 + event 'Stop' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xE69B4677, Flags:0xA0000 + event 'Rebuild Skinning Data' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2B06B2CE, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAlpha' ; // Offset:0xB4, Var, CRC32:0x2D54A3AB, Flags:0x0 + f32 'mGravity'[3] ; // Offset:0xC0, Array, CRC32:0xD9FF56B9, Flags:0x200000 + f32 'Sim TimeStep' ; // Offset:0xD0, Var, CRC32:0xAA8B8A1F, Flags:0x10000 + f32 'mWeightOffset' ; // Offset:0xE4, Var, CRC32:0x31896800, Flags:0x0 + u32 'mMaxIterate' ; // Offset:0xEC, Var, CRC32:0xBE8B619B, Flags:0x0 + vector3 'mBlowSpPos' ; // Offset:0x100, Var, CRC32:0x77CCEB90, Flags:0x0 + f32 'mBlowSpRad' ; // Offset:0x110, Var, CRC32:0x691897B7, Flags:0x0 + f32 'mMaxForce' ; // Offset:0x114, Var, CRC32:0x5C79C952, Flags:0x0 + f32 'mSphereFriction' ; // Offset:0x118, Var, CRC32:0x124F4DC3, Flags:0x0 + bool 'Simulation' ; // Offset:0x11E, Var, CRC32:0x7B78BA54, Flags:0x10000 + bool 'mResetRestart' ; // Offset:0x11F, Var, CRC32:0xDE2F5C4B, Flags:0x0 + bool 'mSimCulling' ; // Offset:0x120, Var, CRC32:0x8AA549EE, Flags:0x0 + bool 'mColTest' ; // Offset:0x122, Var, CRC32:0x58B9D3F5, Flags:0x0 + bool 'mColMode' ; // Offset:0x123, Var, CRC32:0x170CEA52, Flags:0x0 + bool 'mRecalcNormal' ; // Offset:0x125, Var, CRC32:0x93AEF8DD, Flags:0x10000 + bool 'mIsDbDisp' ; // Offset:0x126, Var, CRC32:0x2FD49649, Flags:0x0 + f32 'mSoundThreashold' ; // Offset:0x128, Var, CRC32:0xC3BC3F01, Flags:0x0 + bool 'mSoundTrace' ; // Offset:0x12D, Var, CRC32:0x44250EAA, Flags:0x0 + u32 'mDevelopDrawOffset' ; // Offset:0x154, Var, CRC32:0x6E4964DA, Flags:0x0 + f32 'mDevelopDrawScale' ; // Offset:0x158, Var, CRC32:0x78B9AF49, Flags:0x0 + bool 'mEnableVTF' ; // Offset:0x174, Var, CRC32:0x7896B602, Flags:0x10000 + bool 'mEnableR2VB' ; // Offset:0x175, Var, CRC32:0xFF5EE5B2, Flags:0x10000 + u32 'mSimState' ; // Offset:0x1D0, Var, CRC32:0x614766D7, Flags:0x10000 + classref 'mpTargetUnit' ; // Offset:0x1F0, Var, CRC32:0x9ED0F541, Flags:0x10000 + bool 'mApproxScrCollision' ; // Offset:0x1F9, Var, CRC32:0x4C63E0A0, Flags:0x0 + bool 'mScrCollision' ; // Offset:0x1FA, Var, CRC32:0xF60E9B8E, Flags:0x0 + bool 'mGrassWind' ; // Offset:0x1FC, Var, CRC32:0xD2926697, Flags:0x0 + bool 'mDetailedWind' ; // Offset:0x1FD, Var, CRC32:0x84CF314, Flags:0x0 + bool 'mPseudoWind' ; // Offset:0x1FE, Var, CRC32:0x7123342B, Flags:0x0 + u32 'mWindGroupMask' ; // Offset:0x214, Var, CRC32:0x7B930C4E, Flags:0x0 + vector3 'mSbRayDirection0' ; // Offset:0x220, Var, CRC32:0x840C6CF0, Flags:0x0 + vector3 'mSbRayStartPos0' ; // Offset:0x230, Var, CRC32:0x466EBFF6, Flags:0x0 + f32 'mSbRayRadius0' ; // Offset:0x240, Var, CRC32:0x92601036, Flags:0x0 + f32 'mSbRayAttenuator0' ; // Offset:0x244, Var, CRC32:0x95937FC6, Flags:0x0 + f32 'mSbRayPower0' ; // Offset:0x248, Var, CRC32:0xAB44356E, Flags:0x0 + vector3 'mSbRayDirection1' ; // Offset:0x250, Var, CRC32:0xF30B5C66, Flags:0x0 + vector3 'mSbRayStartPos1' ; // Offset:0x260, Var, CRC32:0x31698F60, Flags:0x0 + f32 'mSbRayRadius1' ; // Offset:0x270, Var, CRC32:0xE56720A0, Flags:0x0 + f32 'mSbRayAttenuator1' ; // Offset:0x274, Var, CRC32:0xE2944F50, Flags:0x0 + f32 'mSbRayPower1' ; // Offset:0x278, Var, CRC32:0xDC4305F8, Flags:0x0 + u32 'mSbcType' ; // Offset:0x27C, Var, CRC32:0x5508E211, Flags:0x0 + u32 'mSbcFilter' ; // Offset:0x280, Var, CRC32:0x92896FCC, Flags:0x0 + u32 'mColliderType' ; // Offset:0x284, Var, CRC32:0x2AD74BC6, Flags:0x0 + u32 'mColliderFilter' ; // Offset:0x288, Var, CRC32:0xF3FA5887, Flags:0x0 + classref 'mpColliderNode' ; // Offset:0x28C, Var, CRC32:0x35B5F239, Flags:0x100000 + f32 'mWindScalePoint' ; // Offset:0x320, Var, CRC32:0xF33793FA, Flags:0x0 + f32 'mWindScaleDirection' ; // Offset:0x324, Var, CRC32:0xA3946634, Flags:0x0 + classref 'mpTexColTerrain[0]' ; // Offset:0x420, Var, CRC32:0x4917074F, Flags:0x30000 + bool 'mImageSpaceCollision' ; // Offset:0x42C, Var, CRC32:0x3CB2CE40, Flags:0x0 + bool 'mNCollision' ; // Offset:0x938, Var, CRC32:0xB07E178C, Flags:0x0 + f32 'mNCGlobalWeight' ; // Offset:0x93C, Var, CRC32:0xB1C14FDC, Flags:0x0 + f32 'mVtxColSize' ; // Offset:0x940, Var, CRC32:0xCFFD67B0, Flags:0x0 + f32 'mAvoidZFight' ; // Offset:0x944, Var, CRC32:0x669D4D4B, Flags:0x0 + classref 'mpTexDepthNorm[0]' ; // Offset:0x98C, Var, CRC32:0x23126930, Flags:0x30000 + classref 'mpTexDepthNorm[1]' ; // Offset:0x990, Var, CRC32:0x3A095871, Flags:0x30000 + bool 'mLocalOnly' ; // Offset:0xAE0, Var, CRC32:0x4D9A09F4, Flags:0x0 + bool 'mUseLOD' ; // Offset:0xB54, Var, CRC32:0x19EBAB29, Flags:0x0 + bool 'mUse16bit' ; // Offset:0xB55, Var, CRC32:0xCDA06891, Flags:0x10000 + bool 'mUse8Weight' ; // Offset:0xB56, Var, CRC32:0x2B0F930E, Flags:0x0 + f32 'mWorldCoeffTrans' ; // Offset:0xB60, Var, CRC32:0xD436A94A, Flags:0x0 + f32 'mWorldCoeffRot' ; // Offset:0xB64, Var, CRC32:0x7991134, Flags:0x0 + s32 'BaseJointNo' ; // Offset:0xB68, Var, CRC32:0xC3510CC6, Flags:0x0 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + classref 'mpISC' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1563080, Setter:0x156EA00, CRC32:0x3248B370, Flags:0x900000 + bool 'mColliderCollision' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1562B30, Setter:0x156E860, CRC32:0xDA284C6A, Flags:0x800000 + custom 'mpResWeightMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1562B50, Setter:0x156E8B0, CRC32:0xDF734F06, Flags:0x800000 + custom 'mpResSPS' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1562B60, Setter:0x156E920, CRC32:0x7266D697, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 +}; + +// uSimpleEffect vftable:0x20D1DA8, Size:0x1F0, CRC32:0x3D52F96F +class uSimpleEffect /*: uBaseEffect, uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + f32 'mBaseFps' ; // Offset:0x108, Var, CRC32:0xE1A1187F, Flags:0x10000 + f32 'mDeltaTimeRate' ; // Offset:0x10C, Var, CRC32:0x42B2723D, Flags:0x10000 + f32 'mTimeInterpolationRate' ; // Offset:0x114, Var, CRC32:0x6971F996, Flags:0x10000 + u32 'mParticleNum' ; // Offset:0x1B4, Var, CRC32:0x59384B06, Flags:0x10000 + u32 'mParticleCreateNum' ; // Offset:0x1B8, Var, CRC32:0xBFA04240, Flags:0x10000 + u32 'mParticleBuffSize' ; // Offset:0x1E0, Var, CRC32:0xDFF84B80, Flags:0x10000 + u32 'mLoopFrame' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C57E0, Setter:0xB51C30, CRC32:0xCDC68F54, Flags:0x800000 + u32 'mTimer' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B10, Setter:0x61B760, CRC32:0x976444DB, Flags:0x800000 + f32 'mDeltaTimeCoef' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5630, Setter:0xC900F0, CRC32:0x6A591D67, Flags:0x800000 + bool 'OfsInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17D8E30, Setter:0x17D9CF0, CRC32:0x209B046C, Flags:0x800000 + bool 'NoFogMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5810, Setter:0x15C6F70, CRC32:0xE5BAE0CB, Flags:0x800000 + bool 'VBInvalidMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B60, Setter:0x15C7CF0, CRC32:0x618CEF6A, Flags:0x800000 + bool 'TextureOmitMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B00, Setter:0x15C7C90, CRC32:0xA7F834E0, Flags:0x800000 + bool 'TimerControlMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5B20, Setter:0x61B780, CRC32:0xC03CDF96, Flags:0x800000 + bool 'EventMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DC60, Setter:0x15C6E20, CRC32:0x165249E0, Flags:0x800000 + bool 'SchedulerMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5AF0, Setter:0x15C7360, CRC32:0xA2609771, Flags:0x800000 + bool 'SleepMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C1743, Setter:0x15C1748, CRC32:0xBBB409FB, Flags:0x800000 + custom 'mpVertices' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17D8E40, Setter:0x17D9D10, CRC32:0x1589DACE, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mListNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17D8E20, Setter:0x17D9C70, CRC32:0xFDCF0333, Flags:0x800000 + custom 'mpEffectList' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB4A010, Setter:0x17CFAB3, CRC32:0x13994BF0, Flags:0x800000 + u32 'mCullingGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5610, Setter:0x15C6CF0, CRC32:0x6BAF21B4, Flags:0x800000 + u32 'mKillNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15C5760, Setter:0x15C6ED0, CRC32:0xFA85868A, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSky vftable:0x20CD1B8, Size:0x4A0, CRC32:0x43709B50 +class uSky /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpRayleighDepthMap' ; // Offset:0x284, Var, CRC32:0x1A8E24F8, Flags:0x30000 + classref 'mpMieDepthMap' ; // Offset:0x288, Var, CRC32:0x62DE332E, Flags:0x30000 + classref 'mpRayleighScatterMap' ; // Offset:0x28C, Var, CRC32:0x21464409, Flags:0x30000 + classref 'mpMieScatterMap' ; // Offset:0x290, Var, CRC32:0x75F7DB07, Flags:0x30000 + classref 'mpCloudScatterMap' ; // Offset:0x294, Var, CRC32:0xE7B964F1, Flags:0x30000 + vector3 'mMieScattering' ; // Offset:0x350, Var, CRC32:0x27E8ADCB, Flags:0x0 + f32 'mMieDensity' ; // Offset:0x360, Var, CRC32:0x9ECE0C04, Flags:0x0 + f32 'mEccentricity' ; // Offset:0x364, Var, CRC32:0xF7176A73, Flags:0x0 + f32 'mCloudScattering' ; // Offset:0x368, Var, CRC32:0x77D421F6, Flags:0x0 + f32 'mCloudEccentricity' ; // Offset:0x36C, Var, CRC32:0xE448D586, Flags:0x0 + f32 'mCloudiness' ; // Offset:0x370, Var, CRC32:0x28C5CD9C, Flags:0x0 + f32 'mCloudThickness' ; // Offset:0x374, Var, CRC32:0x38D5C918, Flags:0x0 + f32 'mCloudHeight' ; // Offset:0x378, Var, CRC32:0xED16378B, Flags:0x0 + f32 'mHeightOffset' ; // Offset:0x37C, Var, CRC32:0x4F051A8D, Flags:0x0 + u32 'mLoopCount' ; // Offset:0x3B8, Var, CRC32:0xFDE7F7FB, Flags:0x0 + u32 'mPreComputeLoopCount' ; // Offset:0x3BC, Var, CRC32:0xEC46B13A, Flags:0x0 + u32 'mNorthAxis' ; // Offset:0x3C8, Var, CRC32:0x6188364A, Flags:0x0 + u32 'mTime' ; // Offset:0x3CC, Var, CRC32:0xB69D5379, Flags:0x0 + vector3 'mFogSunColorScale' ; // Offset:0x3E0, Var, CRC32:0x7EABFCCB, Flags:0x0 + f32 'mFogRayleighScale' ; // Offset:0x3F0, Var, CRC32:0xD9D491B8, Flags:0x0 + f32 'mFogMieScale' ; // Offset:0x3F4, Var, CRC32:0xBEE8934, Flags:0x0 + u32 'mSubScenePriority' ; // Offset:0x3FC, Var, CRC32:0x395E766, Flags:0x0 + custom 'mpStarTexture' ; // Offset:0x410, Var, CRC32:0xF63AF4F4, Flags:0x0 + f32 'mStarSize' ; // Offset:0x414, Var, CRC32:0x4158B6A7, Flags:0x0 + f32 'mStarIntensity' ; // Offset:0x418, Var, CRC32:0x68C3AABC, Flags:0x0 + classref 'mpStarrySkyColorTexture' ; // Offset:0x420, Var, CRC32:0xEEC1CA9F, Flags:0x30000 + f32 'mStarrySkyIntensity' ; // Offset:0x424, Var, CRC32:0xA0D14BD7, Flags:0x0 + f32 'mTwinkleAmplitude' ; // Offset:0x428, Var, CRC32:0x3B75005D, Flags:0x0 + bool 'mMoonEnable' ; // Offset:0x42C, Var, CRC32:0x702ABE41, Flags:0x0 + bool 'mCorrectHorizon' ; // Offset:0x498, Var, CRC32:0xCC3154D6, Flags:0x0 + u32 'mDivX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF410, Setter:0x16C2680, CRC32:0x17DA836D, Flags:0x800000 + u32 'mDivY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF420, Setter:0x16C26A0, CRC32:0x60DDB3FB, Flags:0x800000 + u32 'mStarRandomSeed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEE0, Setter:0x16C2AD0, CRC32:0xB3127C4C, Flags:0x800000 + u8 'mSecond' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEA0, Setter:0x16C29C0, CRC32:0x8883B858, Flags:0x800000 + u8 'mMinute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF460, Setter:0x16C2900, CRC32:0x505E0284, Flags:0x800000 + u8 'mHour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF440, Setter:0x16C2830, CRC32:0xA917DA72, Flags:0x800000 + custom 'mpStarCatalog' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEC0, Setter:0x16C2A30, CRC32:0x6F70CBC1, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mStarNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFED0, Setter:0x16C2AB0, CRC32:0x2D962F77, Flags:0x800000 + u32 'FogUnitLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF430, Setter:0x16C2780, CRC32:0x7EF387C, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1C3A0, Setter:0x16C2980, CRC32:0xE80A92B5, Flags:0x800000 + bool 'UseFog' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFFF0, Setter:0x16C2DA0, CRC32:0xE55028D7, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyCloudModel vftable:0x1DA2C18, Size:0xEF0, CRC32:0x1335C0DB +class uSkyCloudModel /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + bool 'mDayOnly' ; // Offset:0xE84, Var, CRC32:0x37B2D9A5, Flags:0x0 + u32 'mType' ; // Offset:0xE8C, Var, CRC32:0x55D79C15, Flags:0x0 + f32 'mSunColorHeight' ; // Offset:0xE90, Var, CRC32:0x4FC0351C, Flags:0x0 + f32 'mSunColorScale' ; // Offset:0xE94, Var, CRC32:0xBECA4356, Flags:0x0 + f32 'mSaturationScale' ; // Offset:0xE98, Var, CRC32:0x35F87918, Flags:0x0 + f32 'mIntensityScale' ; // Offset:0xE9C, Var, CRC32:0x9D22B0B6, Flags:0x0 + f32 'mAmbColorHeight' ; // Offset:0xEA0, Var, CRC32:0x2312F5EB, Flags:0x0 + f32 'mAmbColorScale' ; // Offset:0xEA4, Var, CRC32:0x6A9F5902, Flags:0x0 + vector3 'mSunDir' ; // Offset:0xEB0, Var, CRC32:0x95847D90, Flags:0x10000 + vector3 'mSunColor' ; // Offset:0xEC0, Var, CRC32:0x826878D1, Flags:0x10000 + vector3 'mAmbColor' ; // Offset:0xED0, Var, CRC32:0x9F055C55, Flags:0x10000 + f32 'mFogMulRate' ; // Offset:0xEE0, Var, CRC32:0xB9035880, Flags:0x0 + f32 'mFogAddRate' ; // Offset:0xEE4, Var, CRC32:0x8659A80B, Flags:0x0 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyColorFog vftable:0x1DA46B0, Size:0x3B0, CRC32:0x16B23211 +class uSkyColorFog /*: uColorFogExt, uColorFog, uFog, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + s32 'mDistanceType' ; // Offset:0x1A0, Var, CRC32:0x44BBE72, Flags:0x0 + s32 'mFogColorType' ; // Offset:0x1A4, Var, CRC32:0x43C7EED5, Flags:0x8000000 + f32 'mStart' ; // Offset:0x1A8, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x1AC, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mExponentDensity' ; // Offset:0x1B0, Var, CRC32:0xF899A742, Flags:0x0 + f32 'mDensity' ; // Offset:0x1B4, Var, CRC32:0x434A19E4, Flags:0x0 + vector3 'mColor' ; // Offset:0x1C0, Var, CRC32:0x9BE2D228, Flags:0x8000000 + bool 'mRangeBase' ; // Offset:0x1D0, Var, CRC32:0xA6E1AFB8, Flags:0x0 + bool 'mDiffuseBlend' ; // Offset:0x1D1, Var, CRC32:0x9F5FC9EC, Flags:0x0 + f32 'mDiffuseBlendFactor' ; // Offset:0x1D4, Var, CRC32:0xBBF4F9FF, Flags:0x0 + classref 'mpFogTable' ; // Offset:0x1D8, Var, CRC32:0xBEF84447, Flags:0x30000 + hermitecurve 'mCurve' ; // Offset:0x1E0, Var, CRC32:0xAA2DC776, Flags:0x8000000 + hermitecurve 'mRCurve' ; // Offset:0x220, Var, CRC32:0x99CE21F6, Flags:0x0 + hermitecurve 'mGCurve' ; // Offset:0x260, Var, CRC32:0xCAD5B2DE, Flags:0x0 + hermitecurve 'mBCurve' ; // Offset:0x2A0, Var, CRC32:0x9A18236D, Flags:0x0 + f32 'mBlendPassage' ; // Offset:0x2E0, Var, CRC32:0xB1F87C0B, Flags:0x0 + class 'mStartData' ; // Offset:0x330, Var, CRC32:0x1055D445, Flags:0x0 + class 'mEndData' ; // Offset:0x370, Var, CRC32:0xB5C9F3C4, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyExt vftable:0x1DA3218, Size:0x4D0, CRC32:0x68D305EE +class uSkyExt /*: uSky, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpRayleighDepthMap' ; // Offset:0x284, Var, CRC32:0x1A8E24F8, Flags:0x30000 + classref 'mpMieDepthMap' ; // Offset:0x288, Var, CRC32:0x62DE332E, Flags:0x30000 + classref 'mpRayleighScatterMap' ; // Offset:0x28C, Var, CRC32:0x21464409, Flags:0x30000 + classref 'mpMieScatterMap' ; // Offset:0x290, Var, CRC32:0x75F7DB07, Flags:0x30000 + classref 'mpCloudScatterMap' ; // Offset:0x294, Var, CRC32:0xE7B964F1, Flags:0x30000 + vector3 'mMieScattering' ; // Offset:0x350, Var, CRC32:0x27E8ADCB, Flags:0x0 + f32 'mMieDensity' ; // Offset:0x360, Var, CRC32:0x9ECE0C04, Flags:0x0 + f32 'mEccentricity' ; // Offset:0x364, Var, CRC32:0xF7176A73, Flags:0x0 + f32 'mCloudScattering' ; // Offset:0x368, Var, CRC32:0x77D421F6, Flags:0x0 + f32 'mCloudEccentricity' ; // Offset:0x36C, Var, CRC32:0xE448D586, Flags:0x0 + f32 'mCloudiness' ; // Offset:0x370, Var, CRC32:0x28C5CD9C, Flags:0x0 + f32 'mCloudThickness' ; // Offset:0x374, Var, CRC32:0x38D5C918, Flags:0x0 + f32 'mCloudHeight' ; // Offset:0x378, Var, CRC32:0xED16378B, Flags:0x0 + f32 'mHeightOffset' ; // Offset:0x37C, Var, CRC32:0x4F051A8D, Flags:0x0 + u32 'mLoopCount' ; // Offset:0x3B8, Var, CRC32:0xFDE7F7FB, Flags:0x0 + u32 'mPreComputeLoopCount' ; // Offset:0x3BC, Var, CRC32:0xEC46B13A, Flags:0x0 + u32 'mNorthAxis' ; // Offset:0x3C8, Var, CRC32:0x6188364A, Flags:0x0 + u32 'mTime' ; // Offset:0x3CC, Var, CRC32:0xB69D5379, Flags:0x0 + vector3 'mFogSunColorScale' ; // Offset:0x3E0, Var, CRC32:0x7EABFCCB, Flags:0x0 + f32 'mFogRayleighScale' ; // Offset:0x3F0, Var, CRC32:0xD9D491B8, Flags:0x0 + f32 'mFogMieScale' ; // Offset:0x3F4, Var, CRC32:0xBEE8934, Flags:0x0 + u32 'mSubScenePriority' ; // Offset:0x3FC, Var, CRC32:0x395E766, Flags:0x0 + custom 'mpStarTexture' ; // Offset:0x410, Var, CRC32:0xF63AF4F4, Flags:0x0 + f32 'mStarSize' ; // Offset:0x414, Var, CRC32:0x4158B6A7, Flags:0x0 + f32 'mStarIntensity' ; // Offset:0x418, Var, CRC32:0x68C3AABC, Flags:0x0 + classref 'mpStarrySkyColorTexture' ; // Offset:0x420, Var, CRC32:0xEEC1CA9F, Flags:0x30000 + f32 'mStarrySkyIntensity' ; // Offset:0x424, Var, CRC32:0xA0D14BD7, Flags:0x0 + f32 'mTwinkleAmplitude' ; // Offset:0x428, Var, CRC32:0x3B75005D, Flags:0x0 + bool 'mMoonEnable' ; // Offset:0x42C, Var, CRC32:0x702ABE41, Flags:0x0 + bool 'mCorrectHorizon' ; // Offset:0x498, Var, CRC32:0xCC3154D6, Flags:0x0 + vector3 'mBaseSunColor' ; // Offset:0x4A0, Var, CRC32:0xC96E6CC9, Flags:0x0 + f32 'mRotX' ; // Offset:0x4B4, Var, CRC32:0x5413951E, Flags:0x0 + f32 'mRotZ' ; // Offset:0x4B8, Var, CRC32:0xBA1DF432, Flags:0x0 + f32 'mMoonScale' ; // Offset:0x4BC, Var, CRC32:0xBADFE1B5, Flags:0x0 + u32 'mDivX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF410, Setter:0x16C2680, CRC32:0x17DA836D, Flags:0x800000 + u32 'mDivY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF420, Setter:0x16C26A0, CRC32:0x60DDB3FB, Flags:0x800000 + bool 'UseFog' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFFF0, Setter:0x16C2DA0, CRC32:0xE55028D7, Flags:0x800000 + u32 'FogUnitLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF430, Setter:0x16C2780, CRC32:0x7EF387C, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1C3A0, Setter:0x16C2980, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mStarNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFED0, Setter:0x16C2AB0, CRC32:0x2D962F77, Flags:0x800000 + u32 'mStarRandomSeed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEE0, Setter:0x16C2AD0, CRC32:0xB3127C4C, Flags:0x800000 + custom 'mpStarCatalog' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEC0, Setter:0x16C2A30, CRC32:0x6F70CBC1, Flags:0x800000 + u8 'mSecond' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEA0, Setter:0x16C29C0, CRC32:0x8883B858, Flags:0x800000 + u8 'mMinute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF460, Setter:0x16C2900, CRC32:0x505E0284, Flags:0x800000 + u8 'mHour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF440, Setter:0x16C2830, CRC32:0xA917DA72, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyFog vftable:0x20CD148, Size:0x1B0, CRC32:0x6BA87EFF +class uSkyFog /*: uFog, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'mRenderType' ; // Offset:0x40, Var, CRC32:0xC836D780, Flags:0x8000000 + s32 'mHeightType' ; // Offset:0xC0, Var, CRC32:0xF049335B, Flags:0x8000000 + f32 'mHeightStart' ; // Offset:0xC8, Var, CRC32:0xF30C3D76, Flags:0x0 + f32 'mHeightEnd' ; // Offset:0xCC, Var, CRC32:0x441D8659, Flags:0x0 + f32 'mHeightDensity' ; // Offset:0xD0, Var, CRC32:0x766A7EE, Flags:0x0 + vector3 'mHeightColor' ; // Offset:0xE0, Var, CRC32:0xA232010, Flags:0x8000000 + float2 'mUVOffset' ; // Offset:0xF0, Var, CRC32:0x67DC2C8, Flags:0x0 + f32 'mUVScale' ; // Offset:0xF8, Var, CRC32:0x91AC459B, Flags:0x0 + f32 'mHeightSlopeBias' ; // Offset:0xFC, Var, CRC32:0xC63E31AA, Flags:0x0 + custom 'mpHeightMap' ; // Offset:0x100, Var, CRC32:0x165117AE, Flags:0x0 + vector3 'mPos' ; // Offset:0x110, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x120, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x130, Var, CRC32:0x11F2BF45, Flags:0x4000000 + custom 'mpModel' ; // Offset:0x180, Var, CRC32:0x53A6AAA5, Flags:0x0 + custom 'mpImplicitSurface' ; // Offset:0x184, Var, CRC32:0xBF2C40FD, Flags:0x0 + bool 'mUseHighPrecisionModel' ; // Offset:0x19C, Var, CRC32:0x266C7C11, Flags:0x0 + bool 'mLegacyMode' ; // Offset:0x19D, Var, CRC32:0x6BB90D9, Flags:0x0 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyGodRaysFilter vftable:0x1DA3828, Size:0x120, CRC32:0x34910614 +class uSkyGodRaysFilter /*: uGodRaysFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mColor' ; // Offset:0x50, Var, CRC32:0x9BE2D228, Flags:0x0 + vector3 'mDirection' ; // Offset:0x60, Var, CRC32:0x62DE5FF7, Flags:0x0 + vector3 'mPoint' ; // Offset:0x70, Var, CRC32:0x4A1169E5, Flags:0x0 + f32 'mMaskRadius' ; // Offset:0x84, Var, CRC32:0x918C878, Flags:0x0 + f32 'mMaskWeight' ; // Offset:0x88, Var, CRC32:0x35A9F363, Flags:0x0 + f32 'mDecay' ; // Offset:0x8C, Var, CRC32:0x44725D67, Flags:0x0 + f32 'mThreshold' ; // Offset:0x90, Var, CRC32:0xB7EEA4D2, Flags:0x0 + f32 'mGamma' ; // Offset:0x94, Var, CRC32:0x39F74AB0, Flags:0x0 + f32 'mDirectionLength' ; // Offset:0x98, Var, CRC32:0x881F9A78, Flags:0x0 + classref 'mpBlur'[5] ; // Offset:0x9C, Array, CRC32:0x9F169D46, Flags:0x230000 + classref 'mpFinal' ; // Offset:0xB0, Var, CRC32:0x68E684BA, Flags:0x30000 + classref 'mpTempTexture' ; // Offset:0xB4, Var, CRC32:0xB37CFFC8, Flags:0x30000 + f32 'mStartZ' ; // Offset:0xB8, Var, CRC32:0x1AB819B2, Flags:0x0 + f32 'mEndZ' ; // Offset:0xBC, Var, CRC32:0x3CD3E372, Flags:0x0 + f32 'mShadowFactor' ; // Offset:0xDC, Var, CRC32:0x5C5E571D, Flags:0x0 + f32 'mScale' ; // Offset:0xE0, Var, CRC32:0x11F2BF45, Flags:0x0 + f32 'mShadowThreshold' ; // Offset:0xE4, Var, CRC32:0xA3257008, Flags:0x0 + classref 'mpOcclusionFactor' ; // Offset:0xF0, Var, CRC32:0x935CF6A3, Flags:0x30000 + f32 'mOcclusionSphereRadius' ; // Offset:0xF4, Var, CRC32:0x4B3203B5, Flags:0x0 + f32 'mOcclusionBlurWidthOffset' ; // Offset:0xF8, Var, CRC32:0xD11A6AA0, Flags:0x0 + f32 'mOcclusionBlurWidthScale' ; // Offset:0xFC, Var, CRC32:0xFBD6C37A, Flags:0x0 + bool 'mInsideFlag' ; // Offset:0x110, Var, CRC32:0x57F252FC, Flags:0x10000 + f32 'mInsideRate' ; // Offset:0x114, Var, CRC32:0x59EA865F, Flags:0x10000 + f32 'mZoneTimer' ; // Offset:0x118, Var, CRC32:0x3858CEE4, Flags:0x10000 + f32 'mZoneUpdateTime' ; // Offset:0x11C, Var, CRC32:0x533E68B2, Flags:0x10000 + bool 'mUseGray' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE580, Setter:0x14E0830, CRC32:0x78339B7A, Flags:0x800000 + u32 'mIterativeNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6870, Setter:0x14E0850, CRC32:0xF946A367, Flags:0x800000 + bool 'mUseShadow' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5E0, Setter:0x14E1000, CRC32:0x38E0CFF9, Flags:0x800000 + bool 'mUseLDR' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE6C0, Setter:0x14E14F0, CRC32:0xECBC7B3, Flags:0x800000 + bool 'mCutoff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE560, Setter:0x14E0720, CRC32:0xACA943, Flags:0x800000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6880, Setter:0x14E0860, CRC32:0xFF50780E, Flags:0x800000 + u32 'mMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFA0, Setter:0x14E0920, CRC32:0x4EC38C97, Flags:0x800000 + bool 'mUsePoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE6D0, Setter:0x14E1510, CRC32:0x9CE30F62, Flags:0x800000 + bool 'mUseOcclusionBlurWidth' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5B0, Setter:0x14E0A30, CRC32:0x4F2167A4, Flags:0x800000 + bool 'mUseOcclusionAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE590, Setter:0x14E09C0, CRC32:0x9AD52D16, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyGodRaysFilter::cZoneListenerEffectGodRaysControl vftable:0x1DA3800, Size:0x50, CRC32:0x7840C3B2 +class uSkyGodRaysFilter::cZoneListenerEffectGodRaysControl /*: cZoneListener, MtObject*/ { + u32 'mTargetZoneLayoutIndex' ; // Offset:0x4, Var, CRC32:0xEF25DC78, Flags:0x30000 + classref 'mpZoneLayout' ; // Offset:0xC, Var, CRC32:0x71A240CD, Flags:0x30000 + classref 'mpGroupManager' ; // Offset:0x10, Var, CRC32:0xD35F3B2F, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mTargetShapeType' ; // Offset:0x14, Var, CRC32:0x5C7394B1, Flags:0x30000 + u32 'mPriorityRuleType' ; // Offset:0x18, Var, CRC32:0xF095DA9F, Flags:0x20000 + bool 'Call notified' ; // Offset:0x1C, Var, CRC32:0xE7CFB060, Flags:0x30000 + bool 'Call Contents Callback' ; // Offset:0x1D, Var, CRC32:0x71BDE3BC, Flags:0x30000 + bool 'Call Single On Contents Group' ; // Offset:0x1E, Var, CRC32:0x49ACC0D, Flags:0x30000 +}; + +// uSkyGrass vftable:0x1DA4E80, Size:0x190, CRC32:0x72199A12 +class uSkyGrass /*: uGrass, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + hermitecurve 'mHorizontalReduction' ; // Offset:0x54, Var, CRC32:0x8F0D4DD9, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x98, Var, CRC32:0xE3993DD6, Flags:0x8000000 + u32 'mWindGroup' ; // Offset:0x9C, Var, CRC32:0xC334694E, Flags:0x0 + f32 'AmbientOcclusionScale' ; // Offset:0xB0, Var, CRC32:0x4D94DBCD, Flags:0x0 + f32 'AmbientOcclusionOffset' ; // Offset:0xB4, Var, CRC32:0x84A90E97, Flags:0x0 + f32 'LightMapScale' ; // Offset:0xB8, Var, CRC32:0xB09F263, Flags:0x0 + f32 'LightMapOffset' ; // Offset:0xBC, Var, CRC32:0xB5811D51, Flags:0x0 + classref 'mpWind' ; // Offset:0xD0, Var, CRC32:0xA3F886CB, Flags:0x100000 + f32 'mPhase' ; // Offset:0xD4, Var, CRC32:0x4C094C0A, Flags:0x0 + bool 'mFixedBillboardEnable' ; // Offset:0xE1, Var, CRC32:0x8BFC291C, Flags:0x0 + bool 'mBillboardSwingEnable' ; // Offset:0xE2, Var, CRC32:0xA1FBE373, Flags:0x0 + bool 'mForcedFade' ; // Offset:0xE8, Var, CRC32:0xB4C5BECD, Flags:0x0 + bool 'mPoppingGrass' ; // Offset:0xE9, Var, CRC32:0xEEDB89C2, Flags:0x0 + bool 'mSH' ; // Offset:0xEA, Var, CRC32:0xA920B9AB, Flags:0x0 + bool 'mUVSwitchEnable' ; // Offset:0xEB, Var, CRC32:0x23693D39, Flags:0x0 + f32 'mAlphaTestThreshold' ; // Offset:0xEC, Var, CRC32:0xE7537A1B, Flags:0x0 + f32 'mDetailNormalFactor' ; // Offset:0xF4, Var, CRC32:0x4781A949, Flags:0x0 + f32 'mDetailNormalWrap' ; // Offset:0xF8, Var, CRC32:0xA6B5F24A, Flags:0x0 + u32 'mPCFType' ; // Offset:0xFC, Var, CRC32:0xA1318E6B, Flags:0x0 + u32 'mCurveMode' ; // Offset:0x140, Var, CRC32:0xDA215815, Flags:0x0 + u32 'mBillboardPattern' ; // Offset:0x148, Var, CRC32:0xBA41A6B3, Flags:0x0 + vector3 'mOffset' ; // Offset:0x150, Var, CRC32:0x679663E1, Flags:0x0 + s32 'mRnoSG' ; // Offset:0x180, Var, CRC32:0x59D808FA, Flags:0x10000 + bool 'mDisableZone' ; // Offset:0x184, Var, CRC32:0xBF8B9461, Flags:0x0 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7050, Setter:0x17B7560, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mShaderMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B70A0, Setter:0x17B7620, CRC32:0x148F59C7, Flags:0x800000 + f32 'mVisiblePercent' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B70B0, Setter:0x17B7760, CRC32:0x7CD70E2A, Flags:0x800000 + custom 'mpGrass' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7080, Setter:0x17B75F0, CRC32:0x2C3E478F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mNearClipDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7060, Setter:0x17B7570, CRC32:0xA3D00CD9, Flags:0x800000 + f32 'mFadeEndDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7030, Setter:0x17B1719, CRC32:0x4D5F670C, Flags:0x800000 + f32 'mFadeBeginDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7020, Setter:0x17B1714, CRC32:0xCB9D656, Flags:0x800000 + custom 'mpDetailNormalMap' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B7010, Setter:0x17B74B0, CRC32:0xB8295820, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyGrassWind vftable:0x1DA5430, Size:0x6D0, CRC32:0xFE23FE6 +class uSkyGrassWind /*: uGrassWindDirection, uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + float3 'mDirection' ; // Offset:0x5F8, Var, CRC32:0x62DE5FF7, Flags:0x0 + class 'mParam' ; // Offset:0x610, Var, CRC32:0x594EE648, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyHemiSphereLight vftable:0x1DA5A70, Size:0x430, CRC32:0xFD3C709 +class uSkyHemiSphereLight /*: uHemiSphereLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mRevColor' ; // Offset:0x3D0, Var, CRC32:0xC6996477, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'LightDir' ; // Offset:0x410, Var, CRC32:0xDF882F45, Flags:0x0 + bool 'mEnableRev' ; // Offset:0x420, Var, CRC32:0x9F1B29C0, Flags:0x0 + vector3 'NightRevColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2730, Setter:0x10C52D0, CRC32:0x66C8CECC, Flags:0x800000 + vector3 'NightColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C26D0, Setter:0x10C5270, CRC32:0xFFB7E362, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyInfiniteLight vftable:0x1DA5970, Size:0x430, CRC32:0x662A73E +class uSkyInfiniteLight /*: uInfiniteLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mDir' ; // Offset:0x3D0, Var, CRC32:0x6A50EADF, Flags:0x0 + u8 'mLightType' ; // Offset:0x3E0, Var, CRC32:0x6422CD92, Flags:0x0 + bool 'mEnableNight' ; // Offset:0x3E1, Var, CRC32:0x812688CF, Flags:0x0 + f32 'mLightScale' ; // Offset:0x3E4, Var, CRC32:0x621F5C97, Flags:0x0 + vector3 'LightDir' ; // Offset:0x400, Var, CRC32:0xDF882F45, Flags:0x0 + f32 'ShadowGroup0_Ex' ; // Offset:0x410, Var, CRC32:0xE89A200F, Flags:0x0 + f32 'ShadowGroup1_Ex' ; // Offset:0x414, Var, CRC32:0x5026476A, Flags:0x0 + f32 'DayShadowGroup0_Ex' ; // Offset:0x418, Var, CRC32:0x1F296A49, Flags:0x0 + f32 'DayShadowGroup1_Ex' ; // Offset:0x41C, Var, CRC32:0xA7950D2C, Flags:0x0 + f32 'NightShadowGroup0_Ex' ; // Offset:0x420, Var, CRC32:0x311471CF, Flags:0x0 + f32 'NightShadowGroup1_Ex' ; // Offset:0x424, Var, CRC32:0x89A816AA, Flags:0x0 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + vector3 'NightColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2700, Setter:0x10C52A0, CRC32:0xFFB7E362, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyReflection vftable:0x1DA3290, Size:0x4D0, CRC32:0x347FD6CB +class uSkyReflection /*: uSkyExt, uSky, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpRayleighDepthMap' ; // Offset:0x284, Var, CRC32:0x1A8E24F8, Flags:0x30000 + classref 'mpMieDepthMap' ; // Offset:0x288, Var, CRC32:0x62DE332E, Flags:0x30000 + classref 'mpRayleighScatterMap' ; // Offset:0x28C, Var, CRC32:0x21464409, Flags:0x30000 + classref 'mpMieScatterMap' ; // Offset:0x290, Var, CRC32:0x75F7DB07, Flags:0x30000 + classref 'mpCloudScatterMap' ; // Offset:0x294, Var, CRC32:0xE7B964F1, Flags:0x30000 + vector3 'mMieScattering' ; // Offset:0x350, Var, CRC32:0x27E8ADCB, Flags:0x0 + f32 'mMieDensity' ; // Offset:0x360, Var, CRC32:0x9ECE0C04, Flags:0x0 + f32 'mEccentricity' ; // Offset:0x364, Var, CRC32:0xF7176A73, Flags:0x0 + f32 'mCloudScattering' ; // Offset:0x368, Var, CRC32:0x77D421F6, Flags:0x0 + f32 'mCloudEccentricity' ; // Offset:0x36C, Var, CRC32:0xE448D586, Flags:0x0 + f32 'mCloudiness' ; // Offset:0x370, Var, CRC32:0x28C5CD9C, Flags:0x0 + f32 'mCloudThickness' ; // Offset:0x374, Var, CRC32:0x38D5C918, Flags:0x0 + f32 'mCloudHeight' ; // Offset:0x378, Var, CRC32:0xED16378B, Flags:0x0 + f32 'mHeightOffset' ; // Offset:0x37C, Var, CRC32:0x4F051A8D, Flags:0x0 + u32 'mLoopCount' ; // Offset:0x3B8, Var, CRC32:0xFDE7F7FB, Flags:0x0 + u32 'mPreComputeLoopCount' ; // Offset:0x3BC, Var, CRC32:0xEC46B13A, Flags:0x0 + u32 'mNorthAxis' ; // Offset:0x3C8, Var, CRC32:0x6188364A, Flags:0x0 + u32 'mTime' ; // Offset:0x3CC, Var, CRC32:0xB69D5379, Flags:0x0 + vector3 'mFogSunColorScale' ; // Offset:0x3E0, Var, CRC32:0x7EABFCCB, Flags:0x0 + f32 'mFogRayleighScale' ; // Offset:0x3F0, Var, CRC32:0xD9D491B8, Flags:0x0 + f32 'mFogMieScale' ; // Offset:0x3F4, Var, CRC32:0xBEE8934, Flags:0x0 + u32 'mSubScenePriority' ; // Offset:0x3FC, Var, CRC32:0x395E766, Flags:0x0 + custom 'mpStarTexture' ; // Offset:0x410, Var, CRC32:0xF63AF4F4, Flags:0x0 + f32 'mStarSize' ; // Offset:0x414, Var, CRC32:0x4158B6A7, Flags:0x0 + f32 'mStarIntensity' ; // Offset:0x418, Var, CRC32:0x68C3AABC, Flags:0x0 + classref 'mpStarrySkyColorTexture' ; // Offset:0x420, Var, CRC32:0xEEC1CA9F, Flags:0x30000 + f32 'mStarrySkyIntensity' ; // Offset:0x424, Var, CRC32:0xA0D14BD7, Flags:0x0 + f32 'mTwinkleAmplitude' ; // Offset:0x428, Var, CRC32:0x3B75005D, Flags:0x0 + bool 'mMoonEnable' ; // Offset:0x42C, Var, CRC32:0x702ABE41, Flags:0x0 + bool 'mCorrectHorizon' ; // Offset:0x498, Var, CRC32:0xCC3154D6, Flags:0x0 + vector3 'mBaseSunColor' ; // Offset:0x4A0, Var, CRC32:0xC96E6CC9, Flags:0x0 + f32 'mRotX' ; // Offset:0x4B4, Var, CRC32:0x5413951E, Flags:0x0 + f32 'mRotZ' ; // Offset:0x4B8, Var, CRC32:0xBA1DF432, Flags:0x0 + f32 'mMoonScale' ; // Offset:0x4BC, Var, CRC32:0xBADFE1B5, Flags:0x0 + u32 'mDivX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF410, Setter:0x16C2680, CRC32:0x17DA836D, Flags:0x800000 + u32 'mDivY' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF420, Setter:0x16C26A0, CRC32:0x60DDB3FB, Flags:0x800000 + bool 'UseFog' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFFF0, Setter:0x16C2DA0, CRC32:0xE55028D7, Flags:0x800000 + u32 'FogUnitLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF430, Setter:0x16C2780, CRC32:0x7EF387C, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC1C3A0, Setter:0x16C2980, CRC32:0xE80A92B5, Flags:0x800000 + u32 'mStarNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFED0, Setter:0x16C2AB0, CRC32:0x2D962F77, Flags:0x800000 + u32 'mStarRandomSeed' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEE0, Setter:0x16C2AD0, CRC32:0xB3127C4C, Flags:0x800000 + custom 'mpStarCatalog' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEC0, Setter:0x16C2A30, CRC32:0x6F70CBC1, Flags:0x800000 + u8 'mSecond' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BFEA0, Setter:0x16C29C0, CRC32:0x8883B858, Flags:0x800000 + u8 'mMinute' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF460, Setter:0x16C2900, CRC32:0x505E0284, Flags:0x800000 + u8 'mHour' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16BF440, Setter:0x16C2830, CRC32:0xA917DA72, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkySpotLight vftable:0x1DA59F0, Size:0x560, CRC32:0x3275A2E +class uSkySpotLight /*: uSpotLightExt, uSpotLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + f32 'ShadowGroup0_Ex' ; // Offset:0x540, Var, CRC32:0xE89A200F, Flags:0x0 + f32 'ShadowGroup1_Ex' ; // Offset:0x544, Var, CRC32:0x5026476A, Flags:0x0 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + vector3 'LightColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2660, Setter:0x10C5200, CRC32:0xFB42335F, Flags:0x800000 + vector3 'LightOffset' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C2690, Setter:0x10C5230, CRC32:0xA997279F, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyStableShadow vftable:0x1DA6D38, Size:0x1B0, CRC32:0x36709A9 +class uSkyStableShadow /*: uStableShadow, uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + bool 'mDeferredShadow' ; // Offset:0x13A, Var, CRC32:0x333A77A5, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mSmoothCascade' ; // Offset:0x188, Var, CRC32:0xEA9B04D, Flags:0x0 + f32 'mShadowDistribution' ; // Offset:0x18C, Var, CRC32:0x1704829A, Flags:0x0 + bool 'mCascadeSplitCustomizeEnable' ; // Offset:0x190, Var, CRC32:0xDA1EE566, Flags:0x0 + f32 'mThreshold0' ; // Offset:0x194, Var, CRC32:0x4EB36DF0, Flags:0x0 + f32 'mThreshold1' ; // Offset:0x198, Var, CRC32:0x39B45D66, Flags:0x0 + f32 'mShadowViewDistanceEx' ; // Offset:0x1A0, Var, CRC32:0x72E0D415, Flags:0x0 + f32 'mShadowDepthBiasEx' ; // Offset:0x1A4, Var, CRC32:0x294E3AFB, Flags:0x0 + f32 'mShadowSlopeScaledDepthBiasEx' ; // Offset:0x1A8, Var, CRC32:0xDA387ECB, Flags:0x0 + f32 'mShadowDistanceScaledDepthBiasEx' ; // Offset:0x1AC, Var, CRC32:0xD07D403A, Flags:0x0 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + bool 'mCascadeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AB0, Setter:0x16E4B60, CRC32:0x783A1B8A, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'mCascadeMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AC0, Setter:0x16E4B90, CRC32:0x2DD8D937, Flags:0x800000 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSkyWaterModel vftable:0x1DA7310, Size:0xF60, CRC32:0x5FBF562B +class uSkyWaterModel /*: uScrBaseModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + s8 'mZoneLocalGp[0]' ; // Offset:0x5, Var, CRC32:0x8A1528AB, Flags:0x0 + s8 'mZoneLocalGp[1]' ; // Offset:0x7, Var, CRC32:0x930E19EA, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + s8 'mZoneLocalGp[2]' ; // Offset:0x9, Var, CRC32:0xB8234A29, Flags:0x0 + s8 'mZoneLocalGp[3]' ; // Offset:0xB, Var, CRC32:0xA1387B68, Flags:0x0 + s8 'mZoneLocalGp[4]' ; // Offset:0xD, Var, CRC32:0xEE79EDAF, Flags:0x0 + s8 'mZoneLocalGp[5]' ; // Offset:0xF, Var, CRC32:0xF762DCEE, Flags:0x0 + s8 'mZoneLocalGp[6]' ; // Offset:0x11, Var, CRC32:0xDC4F8F2D, Flags:0x0 + s8 'mZoneLocalGp[7]' ; // Offset:0x13, Var, CRC32:0xC554BE6C, Flags:0x0 + s8 'mZoneLocalGp[8]' ; // Offset:0x15, Var, CRC32:0x42CCA2A3, Flags:0x0 + s8 'mZoneLocalGp[9]' ; // Offset:0x17, Var, CRC32:0x5BD793E2, Flags:0x0 + s8 'mZoneLocalGp[10]' ; // Offset:0x19, Var, CRC32:0x85C53DDC, Flags:0x0 + s8 'mZoneLocalGp[11]' ; // Offset:0x1B, Var, CRC32:0x9CDE0C9D, Flags:0x0 + s8 'mZoneLocalGp[12]' ; // Offset:0x1D, Var, CRC32:0xB7F35F5E, Flags:0x0 + s8 'mZoneLocalGp[13]' ; // Offset:0x1F, Var, CRC32:0xAEE86E1F, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + s8 'mZoneLocalGp[14]' ; // Offset:0x21, Var, CRC32:0xE1A9F8D8, Flags:0x0 + s8 'mZoneLocalGp[15]' ; // Offset:0x23, Var, CRC32:0xF8B2C999, Flags:0x0 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + bool 'mDisableZone' ; // Offset:0xEAC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mUseOriginalColor' ; // Offset:0xEC0, Var, CRC32:0xB6D9CF0A, Flags:0x0 + bool 'mUseSkyColor' ; // Offset:0xEC1, Var, CRC32:0x2F34FFA3, Flags:0x0 + f32 'mSunColorHeight' ; // Offset:0xEC4, Var, CRC32:0x4FC0351C, Flags:0x0 + f32 'mSunColorScale' ; // Offset:0xEC8, Var, CRC32:0xBECA4356, Flags:0x0 + f32 'mSaturationScale' ; // Offset:0xECC, Var, CRC32:0x35F87918, Flags:0x0 + f32 'mIntensityScale' ; // Offset:0xED0, Var, CRC32:0x9D22B0B6, Flags:0x0 + f32 'mAmbColorHeight' ; // Offset:0xED4, Var, CRC32:0x2312F5EB, Flags:0x0 + f32 'mAmbColorScale' ; // Offset:0xED8, Var, CRC32:0x6A9F5902, Flags:0x0 + vector3 'mDiffuseScale' ; // Offset:0xF00, Var, CRC32:0xD8849D40, Flags:0x0 + vector3 'mDiffuseScaleMin' ; // Offset:0xF40, Var, CRC32:0x38D7BC54, Flags:0x0 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + vector3 'mOffsetPos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1049600, Setter:0x1049C50, CRC32:0xB849CDBB, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoftBody vftable:0x20D0270, Size:0x1A00, CRC32:0xDB4743A +class uSoftBody /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + vector3 'mBlowSpPos' ; // Offset:0x19E0, Var, CRC32:0x77CCEB90, Flags:0x0 + f32 'mBlowSpRad' ; // Offset:0x19F0, Var, CRC32:0x691897B7, Flags:0x0 + bool 'mColMode' ; // Offset:0x19F4, Var, CRC32:0x170CEA52, Flags:0x0 + bool 'mColTest' ; // Offset:0x19F5, Var, CRC32:0x58B9D3F5, Flags:0x0 + f32 'mMaxForce' ; // Offset:0x19F8, Var, CRC32:0x5C79C952, Flags:0x0 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + classref 'mpSimSoftBody' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1725650, Setter:0x1725720, CRC32:0xD2EA6934, Flags:0x900000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uSoundGenerator vftable:0x1DABEB0, Size:0x120, CRC32:0x270F7BBF +class uSoundGenerator /*: uSoundZoneBase, cUnit, MtObject*/ { + event 'StopAll' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x6C543253, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'ParentModel' ; // Offset:0x54, Var, CRC32:0xFF16B5A, Flags:0x100000 + u8 'mParentJntNo' ; // Offset:0x58, Var, CRC32:0x509DC5E9, Flags:0x0 + class 'mZoneListener' ; // Offset:0xE0, Var, CRC32:0x7C26AAFB, Flags:0x0 + s32 'mOcclusionMoveLine' ; // Offset:0x110, Var, CRC32:0x8AD46123, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundGenerator::cGeneratorGroupManager vftable:0x1DABE94, Size:0x20, CRC32:0x626C38FB +class uSoundGenerator::cGeneratorGroupManager /*: uSoundZoneBase::cGroupManager, cZoneLayout::cInGameGroupManager, MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + classref 'mpUserOwner' ; // Offset:0x8, Var, CRC32:0xB48C7313, Flags:0x0 + classref 'mpSystemOwner' ; // Offset:0xC, Var, CRC32:0x324DB607, Flags:0x0 + classref 'mpResourceGroupManager' ; // Offset:0x10, Var, CRC32:0x8732EBBA, Flags:0x20000 + bool 'mFlgEnable' ; // Offset:0x14, Var, CRC32:0x197FC9FC, Flags:0x0 + classref 'mpDynamicBvhMaster' ; // Offset:0x18, Var, CRC32:0xE8A39BC9, Flags:0x20000 + classref 'PlayInfomation'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x10E34C0, Setter:0x0, GetCount:0x10E3500, Reallocate:0x0 CRC32:0xCDE63F57, Flags:0xA30000 +}; + +// uSoundGenerator::cGeneratorGroupManager::cSoundPlayInfomation vftable:0x1DABE80, Size:0x30, CRC32:0x4168CE86 +class uSoundGenerator::cGeneratorGroupManager::cSoundPlayInfomation /*: MtObject*/ { + vector3 'mRequestPos' ; // Offset:0x10, Var, CRC32:0x3F442353, Flags:0x10000 + s32 'mLayoutUniqueId' ; // Offset:0x20, Var, CRC32:0xBD4AFEF1, Flags:0x10000 + classref 'mpUSequenceSe' ; // Offset:0x24, Var, CRC32:0xBB70F94E, Flags:0x20000 +}; + +// uSoundMotionSe vftable:0x1DA7920, Size:0x118, CRC32:0x296FC2E8 +class uSoundMotionSe /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpTarModel' ; // Offset:0x44, Var, CRC32:0xA2FE67FB, Flags:0x100000 + u8 'MotSeSeqNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C7A7F, Setter:0x10C7A77, CRC32:0x152435B9, Flags:0x800000 + u8 'MotSeSeqStartIndex' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C7A6F, Setter:0x10C7A67, CRC32:0x4C8C889D, Flags:0x800000 + u8 'MotSeSeqPageNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C7A5F, Setter:0x10C7A57, CRC32:0x6A5746A9, Flags:0x800000 + custom 'AttributeReq'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x95EF40, Setter:0x10C9770, GetCount:0x95EF50, Reallocate:0x10C7A87 CRC32:0x98983249, Flags:0xA00000 + custom 'AttributeSe' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x95EF60, Setter:0x10C9800, CRC32:0x5309C472, Flags:0x800000 + custom 'Stream' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10C8140, Setter:0x10C9980, CRC32:0x8BA44D5, Flags:0x800000 + custom 'Req'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x10C8120, Setter:0x10C9900, GetCount:0x95EFC0, Reallocate:0x10C9950 CRC32:0x500E027B, Flags:0xA00000 + custom 'MotionSe' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x95EFA0, Setter:0x10C98B0, CRC32:0xDC680B72, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundOcclusion vftable:0x1DAC338, Size:0x140, CRC32:0x54AFCF40 +class uSoundOcclusion /*: uSoundZoneBase, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'ParentModel' ; // Offset:0x54, Var, CRC32:0xFF16B5A, Flags:0x100000 + u8 'mParentJntNo' ; // Offset:0x58, Var, CRC32:0x509DC5E9, Flags:0x0 + class 'mZoneListener' ; // Offset:0xE0, Var, CRC32:0x7C26AAFB, Flags:0x0 + bool 'mIsUseZoneSystemSpaceDivision' ; // Offset:0x130, Var, CRC32:0x7142BB02, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundOcclusion::cBoundingBox vftable:0x1DAC324, Size:0x10, CRC32:0x1B08A10C +class uSoundOcclusion::cBoundingBox /*: MtObject*/ { +}; + +// uSoundOcclusion::cHollowManager vftable:0x1DAC308, Size:0x10, CRC32:0x7008287E +class uSoundOcclusion::cHollowManager /*: MtObject*/ { + u32 'mpIndexArray'[0] ; // Offset:0x7FFFFFFFFFFFFFFF, Array, CRC32:0xF64A04D8, Flags:0x210000 + s16 'mHollowId' ; // Offset:0x4, Var, CRC32:0x4937F516, Flags:0x10000 + u32 'mIndexArrayNum' ; // Offset:0xC, Var, CRC32:0x3A03890, Flags:0x10000 +}; + +// uSoundOcclusion::cOcclusionGroupManager vftable:0x1DAC2E4, Size:0x1C, CRC32:0x4E620602 +class uSoundOcclusion::cOcclusionGroupManager /*: uSoundZoneBase::cGroupManager, cZoneLayout::cInGameGroupManager, MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + classref 'mpUserOwner' ; // Offset:0x8, Var, CRC32:0xB48C7313, Flags:0x0 + classref 'mpSystemOwner' ; // Offset:0xC, Var, CRC32:0x324DB607, Flags:0x0 + classref 'mpResourceGroupManager' ; // Offset:0x10, Var, CRC32:0x8732EBBA, Flags:0x20000 + bool 'mFlgEnable' ; // Offset:0x14, Var, CRC32:0x197FC9FC, Flags:0x0 + classref 'mpDynamicBvhMaster' ; // Offset:0x18, Var, CRC32:0xE8A39BC9, Flags:0x20000 +}; + +// uSoundSe vftable:0x1DA7F28, Size:0x90, CRC32:0x1CA9E6F4 +class uSoundSe /*: cUnit, MtObject*/ { + u32 'mSeCallMode' ; // Offset:0x40, Var, CRC32:0xF4748C37, Flags:0x0 + classref 'mpTgtModel' ; // Offset:0x48, Var, CRC32:0x1777B1DC, Flags:0x100000 + s32 'mJointId' ; // Offset:0x4C, Var, CRC32:0xBFAD06C9, Flags:0x0 + custom 'mpSe' ; // Offset:0x50, Var, CRC32:0xEF48FC2D, Flags:0x0 + u32 'mSeId' ; // Offset:0x54, Var, CRC32:0xA4BF4394, Flags:0x0 + f32 'mSeVolume' ; // Offset:0x58, Var, CRC32:0xB909738E, Flags:0x0 + vector3 'mSePos' ; // Offset:0x60, Var, CRC32:0xCEC989AC, Flags:0x0 + f32 'mSePitch' ; // Offset:0x74, Var, CRC32:0xBB4B9EFF, Flags:0x0 + bool 'mSeCallFlag' ; // Offset:0x78, Var, CRC32:0xB24A2006, Flags:0x0 + bool 'mIsUseThisID' ; // Offset:0x79, Var, CRC32:0x3FF6D5A7, Flags:0x0 + bool 'mConditionalFlag' ; // Offset:0x7B, Var, CRC32:0xC4903232, Flags:0x0 + s32 'mConditionalNo' ; // Offset:0x7C, Var, CRC32:0xFDB80702, Flags:0x0 + u8 'mEndReqMode' ; // Offset:0x80, Var, CRC32:0x89D6353E, Flags:0x0 + custom 'mpEndRequest' ; // Offset:0x84, Var, CRC32:0x1D20576B, Flags:0x0 + u32 'mEndRequestId' ; // Offset:0x88, Var, CRC32:0xEA13C85, Flags:0x0 +}; + +// uSoundSequenceSe vftable:0x1DAC5F8, Size:0x70, CRC32:0x5AE4F08B +class uSoundSequenceSe /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s8 'mSeqState' ; // Offset:0x40, Var, CRC32:0xD2F3CE43, Flags:0x0 + s8 'mRequestMode' ; // Offset:0x42, Var, CRC32:0x6875DA6E, Flags:0x0 + s16 'mJointNo' ; // Offset:0x44, Var, CRC32:0x673E4986, Flags:0x0 + f32 'mVolume' ; // Offset:0x48, Var, CRC32:0x870664EF, Flags:0x0 + classref 'mpTgtModel' ; // Offset:0x58, Var, CRC32:0x1777B1DC, Flags:0x100000 + vector3 'mCallPos' ; // Offset:0x60, Var, CRC32:0xD9F8D4E, Flags:0x0 + custom 'SequenceSe' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10E8A90, Setter:0x10E9160, CRC32:0x33F29D08, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundStream vftable:0x1DA8528, Size:0xE0, CRC32:0x3F586DC0 +class uSoundStream /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mStreamMode' ; // Offset:0x40, Var, CRC32:0x7319979B, Flags:0x0 + u32 'mJointId' ; // Offset:0x44, Var, CRC32:0xBFAD06C9, Flags:0x0 + u32 'mStreamId' ; // Offset:0x48, Var, CRC32:0xC89D4050, Flags:0x0 + s32 'mPrepareId' ; // Offset:0x4C, Var, CRC32:0x36FBCF7D, Flags:0x0 + f32 'mStreamVolume' ; // Offset:0x54, Var, CRC32:0xA1D6DFD5, Flags:0x0 + f32 'mEndStreamVolume' ; // Offset:0x58, Var, CRC32:0x4BBD086B, Flags:0x0 + f32 'mStreamPitch' ; // Offset:0x60, Var, CRC32:0xD3A0B228, Flags:0x0 + custom 'mpStream' ; // Offset:0x80, Var, CRC32:0x7BDC5F5E, Flags:0x0 + classref 'mpTgtModel' ; // Offset:0x84, Var, CRC32:0x1777B1DC, Flags:0x100000 + vector3 'mStreamPos' ; // Offset:0x90, Var, CRC32:0x52ACAD06, Flags:0x0 + bool 'mStreamJointAttach' ; // Offset:0xA0, Var, CRC32:0xC483C12, Flags:0x0 + bool 'mIsUseThisID' ; // Offset:0xA1, Var, CRC32:0x3FF6D5A7, Flags:0x0 + bool 'mStreamCallFlag' ; // Offset:0xA4, Var, CRC32:0x34655385, Flags:0x0 + bool 'mDemoStartFlag' ; // Offset:0xA6, Var, CRC32:0x3734C958, Flags:0x0 + bool 'mConditionalFlag' ; // Offset:0xA7, Var, CRC32:0xC4903232, Flags:0x0 + s32 'mConditionalNo' ; // Offset:0xA8, Var, CRC32:0xFDB80702, Flags:0x0 + bool 'mBGMControlFlag' ; // Offset:0xAC, Var, CRC32:0x5114170, Flags:0x0 + s32 'mBGMSTQReqNo' ; // Offset:0xB0, Var, CRC32:0x8C4669BD, Flags:0x0 + u8 'mEndReqMode' ; // Offset:0xB4, Var, CRC32:0x89D6353E, Flags:0x0 + bool 'mbEndNotNormal' ; // Offset:0xB5, Var, CRC32:0x99F59D40, Flags:0x0 + custom 'mpEndStream' ; // Offset:0xB8, Var, CRC32:0x916B960A, Flags:0x0 + u32 'mEndStreamId' ; // Offset:0xBC, Var, CRC32:0x272EC842, Flags:0x0 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 +}; + +// uSoundSubMixer vftable:0x1DA87A0, Size:0x298, CRC32:0x5531DE9F +class uSoundSubMixer /*: cUnit, MtObject*/ { + event 'Set Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB3DA657E, Flags:0xA0000 + event 'Set Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB3DA657E, Flags:0xA0000 + event 'Set Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB3DA657E, Flags:0xA0000 + event 'Set Resource' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB3DA657E, Flags:0xA0000 + event 'Set Resource All' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB06550D6, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + s32 'EQ'[4] ; // Offset:0x254, Array, CRC32:0x2F443722, Flags:0x210000 + s32 'EQEffect'[4] ; // Offset:0x264, Array, CRC32:0x7E0C3B7B, Flags:0x210000 + s32 'EQMaster' ; // Offset:0x274, Var, CRC32:0xE565095F, Flags:0x10000 + s32 'Effect'[4] ; // Offset:0x278, Array, CRC32:0x4E336B3B, Flags:0x210000 + f32 'Event:' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDDF0, Setter:0x0, CRC32:0xA4D454B7, Flags:0x830000 + f32 'Sys:' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE1E0, Setter:0x0, CRC32:0x9E3D20F7, Flags:0x830000 + f32 'Env:' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDD10, Setter:0x0, CRC32:0x8F516904, Flags:0x830000 + f32 'Vo:' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE270, Setter:0x0, CRC32:0x4CE6DA35, Flags:0x830000 + f32 'BGM:' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDBF0, Setter:0x0, CRC32:0x19A8C3EA, Flags:0x830000 + f32 'Se:' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE150, Setter:0x0, CRC32:0xB0C2F054, Flags:0x830000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + custom 'Curve3' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE040, Setter:0x10CF450, CRC32:0xC0D3CB20, Flags:0x800000 + custom 'Curve2' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE030, Setter:0x10CF400, CRC32:0xB7D4FBB6, Flags:0x800000 + custom 'Curve1' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE020, Setter:0x10CF3B0, CRC32:0x2EDDAA0C, Flags:0x800000 + custom 'Curve0' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE010, Setter:0x10CF360, CRC32:0x59DA9A9A, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundSubMixer::CurrentSubMixer vftable:0x1DA8700, Size:0x150, CRC32:0x5A11B83A +class uSoundSubMixer::CurrentSubMixer /*: rSoundSubMixer, cResource, MtObject*/ { + s32 'mRefCount' ; // Offset:0x48, Var, CRC32:0x26C06A67, Flags:0x30000 + u32 'mAttr' ; // Offset:0x4C, Var, CRC32:0xDD77E828, Flags:0x30000 + u32 'mSize' ; // Offset:0x54, Var, CRC32:0x2EC9EF56, Flags:0x30000 + u64 'mID' ; // Offset:0x58, Var, CRC32:0x10BB0F5B, Flags:0x30000 + class 'mFaders' ; // Offset:0x68, Var, CRC32:0xDBFCE845, Flags:0x0 + s32 'mEQPreset'[9] ; // Offset:0x90, Array, CRC32:0xCA34E38F, Flags:0x200000 + s32 'mReverbPreset'[4] ; // Offset:0xB4, Array, CRC32:0xCD594706, Flags:0x200000 + bool 'mActive' ; // Offset:0xC4, Var, CRC32:0x75825533, Flags:0x0 + s8 'mPriority' ; // Offset:0xC5, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mCurveStyle' ; // Offset:0xCC, Var, CRC32:0xCD2B2273, Flags:0x0 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459E90, Setter:0x1459F70, CRC32:0xFF50780E, Flags:0x910000 + u32 'mState' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EA0, Setter:0x1459F90, CRC32:0x5E27483A, Flags:0x830000 + u32 'mTag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1459EB0, Setter:0x1459FA0, CRC32:0xD372274C, Flags:0x830000 + cstring 'mPath' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AA0, Setter:0x1459F60, CRC32:0xD25D4033, Flags:0x830000 +}; + +// uSoundSubMixer::CurrentSubMixer::CurrentFader vftable:0x1DA86E4, Size:0x20, CRC32:0x47BC9619 +class uSoundSubMixer::CurrentSubMixer::CurrentFader /*: rSoundSubMixer::Fader, MtObject*/ { + f32 'mVol' ; // Offset:0x4, Var, CRC32:0xD9A70724, Flags:0x0 + s16 'mSendID' ; // Offset:0x8, Var, CRC32:0x97171DC9, Flags:0x0 + s16 'mSendID' ; // Offset:0x8, Var, CRC32:0x97171DC9, Flags:0x0 + u16 'mTransitionTime' ; // Offset:0xA, Var, CRC32:0x298ED81B, Flags:0x0 + s16 'mCurve' ; // Offset:0xC, Var, CRC32:0xAA2DC776, Flags:0x0 + u16 'mSustainTime' ; // Offset:0xE, Var, CRC32:0xE805F97D, Flags:0x0 + u16 'mReleaseTime' ; // Offset:0x10, Var, CRC32:0x18D00BAC, Flags:0x0 + u8 'mFaderID' ; // Offset:0x12, Var, CRC32:0x52751207, Flags:0x0 + u8 'mFaderID' ; // Offset:0x12, Var, CRC32:0x52751207, Flags:0x0 + s8 'mEqNo' ; // Offset:0x13, Var, CRC32:0x12710F34, Flags:0x0 + s8 'mEqEffectNo' ; // Offset:0x14, Var, CRC32:0x5F8BA951, Flags:0x0 + s8 'mEffectNo' ; // Offset:0x15, Var, CRC32:0x7B22AAAD, Flags:0x0 + bool 'mAbs' ; // Offset:0x16, Var, CRC32:0xF868C169, Flags:0x0 + bool 'mSetFlag' ; // Offset:0x17, Var, CRC32:0xC7E72588, Flags:0x20000000 + s8 'mEffectNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDCC0, Setter:0x10CF1E0, CRC32:0x7B22AAAD, Flags:0x800000 + s8 'mEqEffectNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDD50, Setter:0x10CF200, CRC32:0x5F8BA951, Flags:0x800000 + s8 'mEqNo' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDDA0, Setter:0x10CF220, CRC32:0x12710F34, Flags:0x800000 + u16 'mReleaseTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDFC0, Setter:0x10CF350, CRC32:0x18D00BAC, Flags:0x800000 + u16 'mSustainTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE190, Setter:0x10CF650, CRC32:0xE805F97D, Flags:0x800000 + u16 'mTransitionTime' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE220, Setter:0x10CF660, CRC32:0x298ED81B, Flags:0x800000 + s16 'mCurve' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDC30, Setter:0x10CF1D0, CRC32:0xAA2DC776, Flags:0x800000 + bool 'mAbs' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CDBA0, Setter:0x10CEF30, CRC32:0xF868C169, Flags:0x800000 + f32 'mVol' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10CE2B0, Setter:0x10CF690, CRC32:0xD9A70724, Flags:0x800000 +}; + +// uSoundSubMixer::FaderParam vftable:0x1DA8744, Size:0x1C, CRC32:0x1E78D904 +class uSoundSubMixer::FaderParam /*: rSoundSubMixer::Fader, MtObject*/ { + f32 'OutputVol' ; // Offset:0x4, Var, CRC32:0xF45711E7, Flags:0x0 + f32 'mVol' ; // Offset:0x4, Var, CRC32:0xD9A70724, Flags:0x0 + s16 'mSendID' ; // Offset:0x8, Var, CRC32:0x97171DC9, Flags:0x0 + s16 'mSendID' ; // Offset:0x8, Var, CRC32:0x97171DC9, Flags:0x0 + u16 'mTransitionTime' ; // Offset:0xA, Var, CRC32:0x298ED81B, Flags:0x0 + s16 'mCurve' ; // Offset:0xC, Var, CRC32:0xAA2DC776, Flags:0x0 + u16 'mSustainTime' ; // Offset:0xE, Var, CRC32:0xE805F97D, Flags:0x0 + u16 'mReleaseTime' ; // Offset:0x10, Var, CRC32:0x18D00BAC, Flags:0x0 + u8 'mFaderID' ; // Offset:0x12, Var, CRC32:0x52751207, Flags:0x0 + u8 'mFaderID' ; // Offset:0x12, Var, CRC32:0x52751207, Flags:0x0 + s8 'mEqNo' ; // Offset:0x13, Var, CRC32:0x12710F34, Flags:0x0 + s8 'mEqNo' ; // Offset:0x13, Var, CRC32:0x12710F34, Flags:0x0 + s8 'mEqEffectNo' ; // Offset:0x14, Var, CRC32:0x5F8BA951, Flags:0x0 + s8 'mEqEffectNo' ; // Offset:0x14, Var, CRC32:0x5F8BA951, Flags:0x0 + s8 'mEffectNo' ; // Offset:0x15, Var, CRC32:0x7B22AAAD, Flags:0x0 + s8 'mEffectNo' ; // Offset:0x15, Var, CRC32:0x7B22AAAD, Flags:0x0 + bool 'mAbs' ; // Offset:0x16, Var, CRC32:0xF868C169, Flags:0x0 + bool 'mSetFlag' ; // Offset:0x17, Var, CRC32:0xC7E72588, Flags:0x20000000 +}; + +// uSoundTrigger vftable:0x1DACE00, Size:0x130, CRC32:0x4743CFFC +class uSoundTrigger /*: uSoundZoneBase, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'ParentModel' ; // Offset:0x54, Var, CRC32:0xFF16B5A, Flags:0x100000 + u8 'mParentJntNo' ; // Offset:0x58, Var, CRC32:0x509DC5E9, Flags:0x0 + class 'mZoneListener' ; // Offset:0xE0, Var, CRC32:0x7C26AAFB, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundTrigger::cTriggerGroupManager vftable:0x1DACDE0, Size:0x20, CRC32:0x2791B01A +class uSoundTrigger::cTriggerGroupManager /*: uSoundZoneBase::cGroupManager, cZoneLayout::cInGameGroupManager, MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + classref 'mpUserOwner' ; // Offset:0x8, Var, CRC32:0xB48C7313, Flags:0x0 + classref 'mpSystemOwner' ; // Offset:0xC, Var, CRC32:0x324DB607, Flags:0x0 + classref 'mpResourceGroupManager' ; // Offset:0x10, Var, CRC32:0x8732EBBA, Flags:0x20000 + bool 'mFlgEnable' ; // Offset:0x14, Var, CRC32:0x197FC9FC, Flags:0x0 + classref 'mpDynamicBvhMaster' ; // Offset:0x18, Var, CRC32:0xE8A39BC9, Flags:0x20000 + u16 'mHitCount' ; // Offset:0x1C, Var, CRC32:0x42058E60, Flags:0x10000 +}; + +// uSoundZoneBase vftable:0x1DAD530, Size:0xE0, CRC32:0x742C225A +class uSoundZoneBase /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'ParentModel' ; // Offset:0x54, Var, CRC32:0xFF16B5A, Flags:0x100000 + u8 'mParentJntNo' ; // Offset:0x58, Var, CRC32:0x509DC5E9, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSoundZoneBase::cGroupManager vftable:0x1DAD510, Size:0x1C, CRC32:0x56ACA74D +class uSoundZoneBase::cGroupManager /*: cZoneLayout::cInGameGroupManager, MtObject*/ { + u32 'mIndex' ; // Offset:0x4, Var, CRC32:0x7DC7FDC0, Flags:0x10000 + classref 'mpUserOwner' ; // Offset:0x8, Var, CRC32:0xB48C7313, Flags:0x0 + classref 'mpSystemOwner' ; // Offset:0xC, Var, CRC32:0x324DB607, Flags:0x0 + classref 'mpResourceGroupManager' ; // Offset:0x10, Var, CRC32:0x8732EBBA, Flags:0x20000 + bool 'mFlgEnable' ; // Offset:0x14, Var, CRC32:0x197FC9FC, Flags:0x0 + classref 'mpDynamicBvhMaster' ; // Offset:0x18, Var, CRC32:0xE8A39BC9, Flags:0x20000 +}; + +// uSpotLight vftable:0x20C9070, Size:0x4A0, CRC32:0x6A2EC243 +class uSpotLight /*: uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSpotLightExt vftable:0x1D66E20, Size:0x520, CRC32:0x11198200 +class uSpotLightExt /*: uSpotLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + class 'mBind' ; // Offset:0x4A0, Var, CRC32:0x9FC5386F, Flags:0x0 + bool 'mDisableZone' ; // Offset:0x4EC, Var, CRC32:0xBF8B9461, Flags:0x0 + bool 'mEnableSchedulerWorldOffset' ; // Offset:0x4ED, Var, CRC32:0x51F8427B, Flags:0x0 + bool 'mRnoSLE' ; // Offset:0x4EF, Var, CRC32:0xB873AFDE, Flags:0x10000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSpotShadow vftable:0x20CEA40, Size:0x340, CRC32:0x6B792EAB +class uSpotShadow /*: uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + vector3 'mLightPos' ; // Offset:0x170, Var, CRC32:0xCBFD1ECD, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x180, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'mLightCone' ; // Offset:0x190, Var, CRC32:0x650642A9, Flags:0x0 + f32 'mLightSpread' ; // Offset:0x194, Var, CRC32:0x2A875752, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x1A0, Var, CRC32:0xBA573BC8, Flags:0x20000 + matrix44 'mRangeOBB.coord' ; // Offset:0x1A0, Var, CRC32:0x2175E535, Flags:0x0 + vector3 'mRangeOBB.extent' ; // Offset:0x1E0, Var, CRC32:0x61FD218D, Flags:0x0 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2FB0, Setter:0x16E6850, CRC32:0xF761A181, Flags:0x820000 + f32 'NearClipDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D50, Setter:0x16E6A30, CRC32:0xE7DF422D, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + bool 'ShadowMapCacheEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DB0, Setter:0x16E9450, CRC32:0x405188E6, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSpotShadowExt vftable:0x1D6FCF8, Size:0x340, CRC32:0x312C7BAE +class uSpotShadowExt /*: uSpotShadow, uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + vector3 'mLightPos' ; // Offset:0x170, Var, CRC32:0xCBFD1ECD, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x180, Var, CRC32:0xF18F8271, Flags:0x0 + f32 'mLightCone' ; // Offset:0x190, Var, CRC32:0x650642A9, Flags:0x0 + f32 'mLightSpread' ; // Offset:0x194, Var, CRC32:0x2A875752, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x1A0, Var, CRC32:0xBA573BC8, Flags:0x20000 + matrix44 'mRangeOBB.coord' ; // Offset:0x1A0, Var, CRC32:0x2175E535, Flags:0x0 + vector3 'mRangeOBB.extent' ; // Offset:0x1E0, Var, CRC32:0x61FD218D, Flags:0x0 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2FB0, Setter:0x16E6850, CRC32:0xF761A181, Flags:0x820000 + f32 'NearClipDistance' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D50, Setter:0x16E6A30, CRC32:0xE7DF422D, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + bool 'ShadowMapCacheEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DB0, Setter:0x16E9450, CRC32:0x405188E6, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStableShadow vftable:0x20CE900, Size:0x1A0, CRC32:0x32CE905 +class uStableShadow /*: uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + bool 'mDeferredShadow' ; // Offset:0x13A, Var, CRC32:0x333A77A5, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mSmoothCascade' ; // Offset:0x188, Var, CRC32:0xEA9B04D, Flags:0x0 + f32 'mShadowDistribution' ; // Offset:0x18C, Var, CRC32:0x1704829A, Flags:0x0 + bool 'mCascadeSplitCustomizeEnable' ; // Offset:0x190, Var, CRC32:0xDA1EE566, Flags:0x0 + f32 'mThreshold0' ; // Offset:0x194, Var, CRC32:0x4EB36DF0, Flags:0x0 + f32 'mThreshold1' ; // Offset:0x198, Var, CRC32:0x39B45D66, Flags:0x0 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + u32 'mCascadeMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AC0, Setter:0x16E4B90, CRC32:0x2DD8D937, Flags:0x800000 + bool 'mCascadeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AB0, Setter:0x16E4B60, CRC32:0x783A1B8A, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStableShadowExt vftable:0x1D6FC58, Size:0x1B0, CRC32:0x7D70EFDE +class uStableShadowExt /*: uStableShadow, uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + bool 'mDeferredShadow' ; // Offset:0x13A, Var, CRC32:0x333A77A5, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mSmoothCascade' ; // Offset:0x188, Var, CRC32:0xEA9B04D, Flags:0x0 + f32 'mShadowDistribution' ; // Offset:0x18C, Var, CRC32:0x1704829A, Flags:0x0 + bool 'mCascadeSplitCustomizeEnable' ; // Offset:0x190, Var, CRC32:0xDA1EE566, Flags:0x0 + f32 'mThreshold0' ; // Offset:0x194, Var, CRC32:0x4EB36DF0, Flags:0x0 + f32 'mThreshold1' ; // Offset:0x198, Var, CRC32:0x39B45D66, Flags:0x0 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + u32 'mCascadeMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AC0, Setter:0x16E4B90, CRC32:0x2DD8D937, Flags:0x800000 + bool 'mCascadeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AB0, Setter:0x16E4B60, CRC32:0x783A1B8A, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStableShadowExt021004 vftable:0x1D6FE80, Size:0x1B0, CRC32:0x78332297 +class uStableShadowExt021004 /*: uStableShadowExt, uStableShadow, uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + f32 'mWaitFrame' ; // Offset:0x4, Var, CRC32:0xE9836E6, Flags:0x0 + f32 'mInterpolationFrame' ; // Offset:0x8, Var, CRC32:0x63D9F36F, Flags:0x0 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + bool 'mIsUsable' ; // Offset:0xC, Var, CRC32:0x81E0A3DD, Flags:0x0 + bool 'mResource.mVisible' ; // Offset:0x10, Var, CRC32:0x24318DCD, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + bool 'mDeferredShadow' ; // Offset:0x13A, Var, CRC32:0x333A77A5, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mSmoothCascade' ; // Offset:0x188, Var, CRC32:0xEA9B04D, Flags:0x0 + f32 'mShadowDistribution' ; // Offset:0x18C, Var, CRC32:0x1704829A, Flags:0x0 + bool 'mCascadeSplitCustomizeEnable' ; // Offset:0x190, Var, CRC32:0xDA1EE566, Flags:0x0 + f32 'mThreshold0' ; // Offset:0x194, Var, CRC32:0x4EB36DF0, Flags:0x0 + f32 'mThreshold1' ; // Offset:0x198, Var, CRC32:0x39B45D66, Flags:0x0 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + bool 'mCascadeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AB0, Setter:0x16E4B60, CRC32:0x783A1B8A, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'mCascadeMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2AC0, Setter:0x16E4B90, CRC32:0x2DD8D937, Flags:0x800000 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStageClanBase vftable:0x1DA8DF0, Size:0x118, CRC32:0x287D5031 +class uStageClanBase /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStageCraftPawnCtrl vftable:0x1DA93C8, Size:0x2C8, CRC32:0x2F83B993 +class uStageCraftPawnCtrl /*: cUnit, MtObject*/ { +}; + +// uStageDispWeapon vftable:0x1DA98F0, Size:0x40, CRC32:0x20B0198 +class uStageDispWeapon /*: cUnit, MtObject*/ { +}; + +// uStageEventViewer vftable:0x1DA9E18, Size:0x70, CRC32:0x3BD08C4D +class uStageEventViewer /*: cUnit, MtObject*/ { +}; + +// uStageFieldCtrl vftable:0x1DAA3B0, Size:0xB0, CRC32:0x6A74B128 +class uStageFieldCtrl /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStageJointCtrl vftable:0x1DAA960, Size:0xD8, CRC32:0x20A71746 +class uStageJointCtrl /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStageJointMdl vftable:0x1DAA8D8, Size:0x250, CRC32:0x72C1F721 +class uStageJointMdl /*: uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStageMyRoom vftable:0x1DAB058, Size:0x840, CRC32:0x5A68B401 +class uStageMyRoom /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStagePartsCtrl vftable:0x1DAB7B8, Size:0x130, CRC32:0x7977F842 +class uStagePartsCtrl /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStagePartsMdl vftable:0x1DAB718, Size:0x230, CRC32:0x1113E45D +class uStagePartsMdl /*: uCoord, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uStageRevivalPawn vftable:0x1DADB20, Size:0x110, CRC32:0x1AA742C2 +class uStageRevivalPawn /*: cUnit, MtObject*/ { +}; + +// uSwingJointModel vftable:0x20D01A0, Size:0x1A00, CRC32:0x497D1153 +class uSwingJointModel /*: uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0x14, Var, CRC32:0x21BA894E, Flags:0x0 + custom 'mpDepthBiasTexture' ; // Offset:0x20, Var, CRC32:0xC71C605E, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + custom 'mpAfterSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF750, Setter:0x17AF920, CRC32:0xC37FAD94, Flags:0x800000 + custom 'mpSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7A0, Setter:0x17AFFD0, CRC32:0x65256F26, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uSwingModel vftable:0x1D6D078, Size:0xEB0, CRC32:0xC463AFF +class uSwingModel /*: uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mFrequencyFactor' ; // Offset:0xC, Var, CRC32:0x3CA41643, Flags:0x0 + f32 'mWeight' ; // Offset:0x10, Var, CRC32:0x3951FC70, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0x14, Var, CRC32:0x21BA894E, Flags:0x0 + custom 'mpDepthBiasTexture' ; // Offset:0x20, Var, CRC32:0xC71C605E, Flags:0x0 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mWindMask' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF800, Setter:0x17B0010, CRC32:0x554272FE, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + custom 'mpAfterSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF750, Setter:0x17AF920, CRC32:0xC37FAD94, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + custom 'mpSwing' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7A0, Setter:0x17AFFD0, CRC32:0x65256F26, Flags:0x800000 + u32 'mWindGroup' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17AF7F0, Setter:0x17B0000, CRC32:0xC334694E, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroAdhesion vftable:0x20DB248, Size:0x120, CRC32:0x4560735 +class uSynchroAdhesion /*: uAdhesion, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mLightGroup' ; // Offset:0x64, Var, CRC32:0xE3993DD6, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroGrassWindDirection vftable:0x20D7C90, Size:0x720, CRC32:0x185B8ABF +class uSynchroGrassWindDirection /*: uGrassWindDirection, uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + float3 'mDirection' ; // Offset:0x5F8, Var, CRC32:0x62DE5FF7, Flags:0x0 + class 'mParam' ; // Offset:0x610, Var, CRC32:0x594EE648, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroGrassWindLine vftable:0x20D7D08, Size:0x6E0, CRC32:0x2531A18E +class uSynchroGrassWindLine /*: uGrassWindLine, uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + vector3 'mHeadPoint' ; // Offset:0x640, Var, CRC32:0xCBCF36A9, Flags:0x0 + vector3 'mTailPoint' ; // Offset:0x650, Var, CRC32:0xDACD453C, Flags:0x0 + f32 'mHeadAttenuation' ; // Offset:0x660, Var, CRC32:0xC452AFC9, Flags:0x0 + f32 'mTailAttenuation' ; // Offset:0x664, Var, CRC32:0x8066B3EA, Flags:0x0 + classref 'mpParent' ; // Offset:0x668, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mHeadParentNo' ; // Offset:0x66C, Var, CRC32:0xC53BF951, Flags:0x0 + s32 'mTailParentNo' ; // Offset:0x670, Var, CRC32:0xD4FFC842, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroGrassWindPoint vftable:0x20D7C18, Size:0x770, CRC32:0x3B8DC0B2 +class uSynchroGrassWindPoint /*: uGrassWindPoint, uGrassWind, uGrassEffect, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mAmplification' ; // Offset:0x5E4, Var, CRC32:0xCF10A220, Flags:0x0 + f32 'mFrequency' ; // Offset:0x5E8, Var, CRC32:0x7AEB3657, Flags:0x0 + f32 'mPhase' ; // Offset:0x5EC, Var, CRC32:0x4C094C0A, Flags:0x0 + f32 'mElapsedPhase' ; // Offset:0x5F0, Var, CRC32:0x5BB6DD76, Flags:0x0 + u32 'mWindGroup' ; // Offset:0x5F4, Var, CRC32:0xC334694E, Flags:0x8000000 + vector3 'mPoint' ; // Offset:0x630, Var, CRC32:0x4A1169E5, Flags:0x0 + f32 'mAttenuation' ; // Offset:0x640, Var, CRC32:0x20F782D9, Flags:0x0 + classref 'mpParent' ; // Offset:0x644, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x648, Var, CRC32:0xE0F3333C, Flags:0x0 + class 'mParam' ; // Offset:0x650, Var, CRC32:0x594EE648, Flags:0x0 + u32 'Priority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B8690, Setter:0x17B8700, CRC32:0x642F418E, Flags:0x800000 + custom 'mpResource' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x17B86A0, Setter:0x17B8710, CRC32:0xE80A92B5, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroLightShaft vftable:0x20DB3B0, Size:0x120, CRC32:0x4C3DAD7 +class uSynchroLightShaft /*: uLightShaft, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mNumPlane' ; // Offset:0x40, Var, CRC32:0x44A74BEC, Flags:0x0 + vector3 'mPosition' ; // Offset:0x50, Var, CRC32:0x6EA2D468, Flags:0x0 + vector3 'mLookAt' ; // Offset:0x60, Var, CRC32:0x72C72FDA, Flags:0x0 + f32 'mLSNear' ; // Offset:0x74, Var, CRC32:0x78E11E9B, Flags:0x0 + f32 'mLSFar' ; // Offset:0x78, Var, CRC32:0x816EC58, Flags:0x0 + f32 'mLSFov' ; // Offset:0x7C, Var, CRC32:0x91F805CF, Flags:0x0 + f32 'mLSAspect' ; // Offset:0x80, Var, CRC32:0x9E38CEEA, Flags:0x0 + custom 'mpCookieTexture' ; // Offset:0x84, Var, CRC32:0x74A59967, Flags:0x0 + classref 'mpPositionParent' ; // Offset:0x8C, Var, CRC32:0x516CDFF, Flags:0x100000 + s32 'mPositionParentNo' ; // Offset:0x90, Var, CRC32:0x7A7D5B0F, Flags:0x0 + classref 'mpLookAtParent' ; // Offset:0x94, Var, CRC32:0xD1F82F54, Flags:0x100000 + s32 'mLookAtParentNo' ; // Offset:0x98, Var, CRC32:0x75FE009C, Flags:0x0 + f32 'mDecayStart' ; // Offset:0x9C, Var, CRC32:0x498FC78B, Flags:0x0 + vector4 'mColor' ; // Offset:0xA0, Var, CRC32:0x9BE2D228, Flags:0x0 + vector4 'mRegion' ; // Offset:0xB0, Var, CRC32:0x31FE5847, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroModel vftable:0x20DB198, Size:0xF10, CRC32:0x62377681 +class uSynchroModel /*: uModelSymmetry, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroPointLight vftable:0x20DB2B0, Size:0x4C0, CRC32:0x7C13D339 +class uSynchroPointLight /*: uPointLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mProjectionAngle' ; // Offset:0x3F0, Var, CRC32:0x7CEB00DA, Flags:0x0 + f32 'mStart' ; // Offset:0x400, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x404, Var, CRC32:0xD007A37E, Flags:0x0 + classref 'mpParent' ; // Offset:0x408, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x40C, Var, CRC32:0xE0F3333C, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x410, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x410, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x450, Var, CRC32:0x61FD218D, Flags:0x0 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uSynchroSpotLight vftable:0x20DB330, Size:0x500, CRC32:0xD0D44FE +class uSynchroSpotLight /*: uSpotLight, uLight, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u32 'mGroup' ; // Offset:0x44, Var, CRC32:0x9074DE04, Flags:0x8000000 + f32 'mBalance' ; // Offset:0x48, Var, CRC32:0x2F166CE0, Flags:0x0 + f32 'ShadowGroup0' ; // Offset:0x4C, Var, CRC32:0x93A0A88A, Flags:0x0 + f32 'ShadowGroup1' ; // Offset:0x50, Var, CRC32:0xE4A7981C, Flags:0x0 + s32 'mMode' ; // Offset:0x54, Var, CRC32:0x4EC38C97, Flags:0x0 + custom 'mpProjectionTexture' ; // Offset:0x3B0, Var, CRC32:0x53A0DFF6, Flags:0x0 + bool 'mIsIgnoreEffectReference' ; // Offset:0x3C8, Var, CRC32:0x537A06, Flags:0x0 + vector3 'mPos' ; // Offset:0x3D0, Var, CRC32:0x50227663, Flags:0x0 + vector3 'mDir' ; // Offset:0x3E0, Var, CRC32:0x6A50EADF, Flags:0x0 + vector3 'mTargetPos' ; // Offset:0x3F0, Var, CRC32:0x97CFE05E, Flags:0x0 + f32 'mStart' ; // Offset:0x420, Var, CRC32:0x62CDCF4E, Flags:0x0 + f32 'mEnd' ; // Offset:0x424, Var, CRC32:0xD007A37E, Flags:0x0 + f32 'mCone' ; // Offset:0x428, Var, CRC32:0x54F3132E, Flags:0x0 + f32 'mSpread' ; // Offset:0x42C, Var, CRC32:0x42290949, Flags:0x0 + bool 'mTargetMode' ; // Offset:0x430, Var, CRC32:0x166C2D10, Flags:0x0 + classref 'mpParent' ; // Offset:0x434, Var, CRC32:0xB6BB810D, Flags:0x100000 + classref 'mpTarget' ; // Offset:0x438, Var, CRC32:0xCD5ACEBE, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x43C, Var, CRC32:0xE0F3333C, Flags:0x0 + s32 'mTargetNo' ; // Offset:0x440, Var, CRC32:0xC978E9A7, Flags:0x0 + f32 'mProjectionWrap' ; // Offset:0x444, Var, CRC32:0x15FAC435, Flags:0x0 + f32 'mFalloff' ; // Offset:0x448, Var, CRC32:0xCC8F5FE6, Flags:0x0 + matrix44 'mRangeOBB.coord' ; // Offset:0x450, Var, CRC32:0x2175E535, Flags:0x0 + obb 'mRangeOBB' ; // Offset:0x450, Var, CRC32:0xBA573BC8, Flags:0x20000 + vector3 'mRangeOBB.extent' ; // Offset:0x490, Var, CRC32:0x61FD218D, Flags:0x0 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0A0, Setter:0x16357B0, CRC32:0x9743BE18, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F0B0, Setter:0x16357E0, CRC32:0x9D86B701, Flags:0x800000 + bool 'mApproximateDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14647B0, Setter:0x14671C0, CRC32:0x3B770D2E, Flags:0x800000 + vector3 'mColor' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC8DA60, Setter:0x1025A60, CRC32:0x9BE2D228, Flags:0x800000 + u32 'mPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1464870, Setter:0x1025D20, CRC32:0x4A28ECBA, Flags:0x800000 + u32 'mAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1028140, Setter:0x16354F0, CRC32:0xDD77E828, Flags:0x800000 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x162F090, Setter:0x1635780, CRC32:0x4A78624C, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'LimitRangeEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x10282D0, Setter:0x1635760, CRC32:0xF761A181, Flags:0x820000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uTVNoiseFilter vftable:0x20BEDA0, Size:0xE0, CRC32:0x3C14AD49 +class uTVNoiseFilter /*: uFilter, cUnit, MtObject*/ { + custom '' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFFFFFFFF, Flags:0x20000 + custom '' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFFFFFFFF, Flags:0x20000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mNoisyUVOffset' ; // Offset:0x50, Var, CRC32:0xD08EBBEA, Flags:0x0 + bool 'mRandomUVOffset' ; // Offset:0x60, Var, CRC32:0x9D15EBD4, Flags:0x0 + f32 'mNoisePower' ; // Offset:0x64, Var, CRC32:0xEAE5DA3C, Flags:0x0 + f32 'mNoisePowerCroma' ; // Offset:0x68, Var, CRC32:0x518887E0, Flags:0x0 + f32 'mScaleY' ; // Offset:0x6C, Var, CRC32:0x1410AEF0, Flags:0x0 + f32 'mScaleCrCb' ; // Offset:0x70, Var, CRC32:0x88CEE5B0, Flags:0x0 + u32 'mScanlineSize' ; // Offset:0x74, Var, CRC32:0x1DF3307D, Flags:0x0 + f32 'mScanlineAlpha' ; // Offset:0x78, Var, CRC32:0x81DB6034, Flags:0x0 + custom 'mpTVNoiseTexture' ; // Offset:0x7C, Var, CRC32:0x4C59E07, Flags:0x0 + custom 'mpTVMaskTexture' ; // Offset:0x80, Var, CRC32:0xD1E74972, Flags:0x0 + bool 'mEnableBlankScan' ; // Offset:0x84, Var, CRC32:0x24416C72, Flags:0x0 + f32 'mBlankSpeed' ; // Offset:0x8C, Var, CRC32:0x821E7EEA, Flags:0x0 + u8 'mBlankAlpha' ; // Offset:0x90, Var, CRC32:0x5DD8B976, Flags:0x0 + f32 'mBlankSize' ; // Offset:0x94, Var, CRC32:0xC827BD53, Flags:0x0 + f32 'mShockNoiseFreq' ; // Offset:0x98, Var, CRC32:0x28225134, Flags:0x0 + f32 'mHSyncNoiseAmplitude' ; // Offset:0x9C, Var, CRC32:0x55FD8234, Flags:0x0 + f32 'mVSyncNoiseAmplitude' ; // Offset:0xA0, Var, CRC32:0xD2C2AFA8, Flags:0x0 + f32 'mShockDetailReduction' ; // Offset:0xA4, Var, CRC32:0x8BF69CCF, Flags:0x0 + f32 'mHSyncBlankWidth' ; // Offset:0xA8, Var, CRC32:0x46794B94, Flags:0x0 + f32 'mVSyncBlankWidth' ; // Offset:0xAC, Var, CRC32:0xEF68CCAE, Flags:0x0 + vector4 'mVSyncBlankColor' ; // Offset:0xB0, Var, CRC32:0x524C168, Flags:0x0 + classref 'mpTempTexture' ; // Offset:0xDC, Var, CRC32:0xB37CFFC8, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uTVNoiseFilterEx vftable:0x1AE6D00, Size:0xE0, CRC32:0x5A0C5543 +class uTVNoiseFilterEx /*: uTVNoiseFilter, uFilter, cUnit, MtObject*/ { + custom '' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFFFFFFFF, Flags:0x20000 + custom '' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xFFFFFFFF, Flags:0x20000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector3 'mNoisyUVOffset' ; // Offset:0x50, Var, CRC32:0xD08EBBEA, Flags:0x0 + bool 'mRandomUVOffset' ; // Offset:0x60, Var, CRC32:0x9D15EBD4, Flags:0x0 + f32 'mNoisePower' ; // Offset:0x64, Var, CRC32:0xEAE5DA3C, Flags:0x0 + f32 'mNoisePowerCroma' ; // Offset:0x68, Var, CRC32:0x518887E0, Flags:0x0 + f32 'mScaleY' ; // Offset:0x6C, Var, CRC32:0x1410AEF0, Flags:0x0 + f32 'mScaleCrCb' ; // Offset:0x70, Var, CRC32:0x88CEE5B0, Flags:0x0 + u32 'mScanlineSize' ; // Offset:0x74, Var, CRC32:0x1DF3307D, Flags:0x0 + f32 'mScanlineAlpha' ; // Offset:0x78, Var, CRC32:0x81DB6034, Flags:0x0 + custom 'mpTVNoiseTexture' ; // Offset:0x7C, Var, CRC32:0x4C59E07, Flags:0x0 + custom 'mpTVMaskTexture' ; // Offset:0x80, Var, CRC32:0xD1E74972, Flags:0x0 + bool 'mEnableBlankScan' ; // Offset:0x84, Var, CRC32:0x24416C72, Flags:0x0 + f32 'mBlankSpeed' ; // Offset:0x8C, Var, CRC32:0x821E7EEA, Flags:0x0 + u8 'mBlankAlpha' ; // Offset:0x90, Var, CRC32:0x5DD8B976, Flags:0x0 + f32 'mBlankSize' ; // Offset:0x94, Var, CRC32:0xC827BD53, Flags:0x0 + f32 'mShockNoiseFreq' ; // Offset:0x98, Var, CRC32:0x28225134, Flags:0x0 + f32 'mHSyncNoiseAmplitude' ; // Offset:0x9C, Var, CRC32:0x55FD8234, Flags:0x0 + f32 'mVSyncNoiseAmplitude' ; // Offset:0xA0, Var, CRC32:0xD2C2AFA8, Flags:0x0 + f32 'mShockDetailReduction' ; // Offset:0xA4, Var, CRC32:0x8BF69CCF, Flags:0x0 + f32 'mHSyncBlankWidth' ; // Offset:0xA8, Var, CRC32:0x46794B94, Flags:0x0 + f32 'mVSyncBlankWidth' ; // Offset:0xAC, Var, CRC32:0xEF68CCAE, Flags:0x0 + vector4 'mVSyncBlankColor' ; // Offset:0xB0, Var, CRC32:0x524C168, Flags:0x0 + classref 'mpTempTexture' ; // Offset:0xDC, Var, CRC32:0xB37CFFC8, Flags:0x30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uTangentBlurFilter vftable:0x20BF5F8, Size:0x60, CRC32:0x37AC8D4B +class uTangentBlurFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + u32 'mBlurType' ; // Offset:0x50, Var, CRC32:0x46216675, Flags:0x0 + f32 'mVelocityScale' ; // Offset:0x54, Var, CRC32:0x33A82A1, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uTimeCtrlGodRaysFilter vftable:0x1DA3890, Size:0x110, CRC32:0x742BEA91 +class uTimeCtrlGodRaysFilter /*: uGodRaysFilter, uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mColor' ; // Offset:0x50, Var, CRC32:0x9BE2D228, Flags:0x0 + vector3 'mDirection' ; // Offset:0x60, Var, CRC32:0x62DE5FF7, Flags:0x0 + vector3 'mPoint' ; // Offset:0x70, Var, CRC32:0x4A1169E5, Flags:0x0 + f32 'mMaskRadius' ; // Offset:0x84, Var, CRC32:0x918C878, Flags:0x0 + f32 'mMaskWeight' ; // Offset:0x88, Var, CRC32:0x35A9F363, Flags:0x0 + f32 'mDecay' ; // Offset:0x8C, Var, CRC32:0x44725D67, Flags:0x0 + f32 'mThreshold' ; // Offset:0x90, Var, CRC32:0xB7EEA4D2, Flags:0x0 + f32 'mGamma' ; // Offset:0x94, Var, CRC32:0x39F74AB0, Flags:0x0 + f32 'mDirectionLength' ; // Offset:0x98, Var, CRC32:0x881F9A78, Flags:0x0 + classref 'mpBlur'[5] ; // Offset:0x9C, Array, CRC32:0x9F169D46, Flags:0x230000 + classref 'mpFinal' ; // Offset:0xB0, Var, CRC32:0x68E684BA, Flags:0x30000 + classref 'mpTempTexture' ; // Offset:0xB4, Var, CRC32:0xB37CFFC8, Flags:0x30000 + f32 'mStartZ' ; // Offset:0xB8, Var, CRC32:0x1AB819B2, Flags:0x0 + f32 'mEndZ' ; // Offset:0xBC, Var, CRC32:0x3CD3E372, Flags:0x0 + f32 'mShadowFactor' ; // Offset:0xDC, Var, CRC32:0x5C5E571D, Flags:0x0 + f32 'mScale' ; // Offset:0xE0, Var, CRC32:0x11F2BF45, Flags:0x0 + f32 'mShadowThreshold' ; // Offset:0xE4, Var, CRC32:0xA3257008, Flags:0x0 + classref 'mpOcclusionFactor' ; // Offset:0xF0, Var, CRC32:0x935CF6A3, Flags:0x30000 + f32 'mOcclusionSphereRadius' ; // Offset:0xF4, Var, CRC32:0x4B3203B5, Flags:0x0 + f32 'mOcclusionBlurWidthOffset' ; // Offset:0xF8, Var, CRC32:0xD11A6AA0, Flags:0x0 + f32 'mOcclusionBlurWidthScale' ; // Offset:0xFC, Var, CRC32:0xFBD6C37A, Flags:0x0 + bool 'mUseShadow' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5E0, Setter:0x14E1000, CRC32:0x38E0CFF9, Flags:0x800000 + bool 'mUseLDR' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE6C0, Setter:0x14E14F0, CRC32:0xECBC7B3, Flags:0x800000 + bool 'mCutoff' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE560, Setter:0x14E0720, CRC32:0xACA943, Flags:0x800000 + u32 'mQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6880, Setter:0x14E0860, CRC32:0xFF50780E, Flags:0x800000 + u32 'mMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DDFA0, Setter:0x14E0920, CRC32:0x4EC38C97, Flags:0x800000 + u32 'mIterativeNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14D6870, Setter:0x14E0850, CRC32:0xF946A367, Flags:0x800000 + bool 'mUseGray' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE580, Setter:0x14E0830, CRC32:0x78339B7A, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mUsePoint' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE6D0, Setter:0x14E1510, CRC32:0x9CE30F62, Flags:0x800000 + bool 'mUseOcclusionBlurWidth' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE5B0, Setter:0x14E0A30, CRC32:0x4F2167A4, Flags:0x800000 + bool 'mUseOcclusionAlpha' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14DE590, Setter:0x14E09C0, CRC32:0x9AD52D16, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uToneMapControl vftable:0x20BF368, Size:0x208, CRC32:0x59351470 +class uToneMapControl /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + classref 'mpLogScene' ; // Offset:0x50, Var, CRC32:0x683813, Flags:0x30000 + classref 'mpLogScene64' ; // Offset:0x54, Var, CRC32:0xE1459CA4, Flags:0x30000 + classref 'mpLogScene16' ; // Offset:0x58, Var, CRC32:0x400A6B4F, Flags:0x30000 + classref 'mpLogScene4' ; // Offset:0x5C, Var, CRC32:0xA50ADD53, Flags:0x30000 + classref 'mpLogScene4C' ; // Offset:0x60, Var, CRC32:0x1D121AB9, Flags:0x30000 + u32 'mToneMapType' ; // Offset:0x64, Var, CRC32:0xC4F85E46, Flags:0x0 + f32 'mAvgLuminance'[10] ; // Offset:0x68, Array, CRC32:0xBA6B71F8, Flags:0x200000 + f32 'mCurLuminance'[10] ; // Offset:0x90, Array, CRC32:0xE35C3CA, Flags:0x210000 + f32 'mToneMapFactor'[10] ; // Offset:0xB8, Array, CRC32:0x37587915, Flags:0x210000 + f32 'mMidGray' ; // Offset:0xE0, Var, CRC32:0xB32F419E, Flags:0x0 + f32 'mMinLuminance' ; // Offset:0xE4, Var, CRC32:0x7E7A27BE, Flags:0x0 + f32 'mMaxLuminance' ; // Offset:0xE8, Var, CRC32:0xEE093754, Flags:0x0 + f32 'mBtSensitivity' ; // Offset:0xEC, Var, CRC32:0xFE75762D, Flags:0x0 + f32 'mDkSensitivity' ; // Offset:0xF0, Var, CRC32:0x201CDB7D, Flags:0x0 + hermitecurve 'mAdjustCurve' ; // Offset:0xF8, Var, CRC32:0xCDA9A252, Flags:0x0 + f32 'mCenterRegion' ; // Offset:0x138, Var, CRC32:0xE7BBC003, Flags:0x0 + f32 'mCenterWeight' ; // Offset:0x13C, Var, CRC32:0xEF146434, Flags:0x0 + f32 'mCompressRange' ; // Offset:0x140, Var, CRC32:0xA0E75BF4, Flags:0x0 + classref 'mpAvgLuminance' ; // Offset:0x144, Var, CRC32:0xACA8776B, Flags:0x30000 + bool 'mQueryEnable' ; // Offset:0x204, Var, CRC32:0x5F38B317, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uUIMockUp vftable:0x1DAE050, Size:0x10C0, CRC32:0x3DEBFDEC +class uUIMockUp /*: uScreenSpace, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpColorTarget' ; // Offset:0x44, Var, CRC32:0xCA322876, Flags:0x30000 + classref 'mpDistortionTex' ; // Offset:0x50, Var, CRC32:0x9BD73618, Flags:0x30000 + vector3 'mCameraPos' ; // Offset:0x80, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x90, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mCameraTarget' ; // Offset:0xA0, Var, CRC32:0x6EAB3E5B, Flags:0x0 + f32 'mNearPlane' ; // Offset:0xB0, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mFarPlane' ; // Offset:0xB4, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mFOV' ; // Offset:0xB8, Var, CRC32:0x96095944, Flags:0x0 + u32 'mSceneDrawMode' ; // Offset:0xBC, Var, CRC32:0x4E708CE3, Flags:0x0 + u32 'mSceneView' ; // Offset:0xC0, Var, CRC32:0xE8FEEC5B, Flags:0x0 + color 'mClearColor' ; // Offset:0xC4, Var, CRC32:0x52778E8B, Flags:0x0 + bool 'mDraw2D' ; // Offset:0xCC, Var, CRC32:0xD1CCC93A, Flags:0x0 + bool 'mFXAA' ; // Offset:0xCD, Var, CRC32:0x6C16CCB5, Flags:0x0 + u32 'mAttribute' ; // Offset:0x250, Var, CRC32:0xA6EE61BF, Flags:0x0 + s32 'mDepth' ; // Offset:0x254, Var, CRC32:0x71786A8, Flags:0x0 + class 'mPointTable' ; // Offset:0x258, Var, CRC32:0x40A2C9B1, Flags:0x0 + classref 'mpCamera' ; // Offset:0x26C, Var, CRC32:0xB0290F47, Flags:0x100000 + u32 'mPass' ; // Offset:0x270, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x274, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mLayer' ; // Offset:0x278, Var, CRC32:0x196FBBDB, Flags:0x0 + bool 'mDepthToAlpha' ; // Offset:0x27C, Var, CRC32:0xA8188BF, Flags:0x0 + vector2 'mPosDisp' ; // Offset:0x400, Var, CRC32:0xB2513F17, Flags:0x0 + float2 'mWHDisp' ; // Offset:0x408, Var, CRC32:0xF69D42AF, Flags:0x0 + color 'mColor' ; // Offset:0x410, Var, CRC32:0x9BE2D228, Flags:0x0 + f32 'mCamDist' ; // Offset:0x414, Var, CRC32:0x6D035CE, Flags:0x0 + f32 'mCamYOfs' ; // Offset:0x418, Var, CRC32:0x31B2F369, Flags:0x0 + u32 'mJointNo' ; // Offset:0x428, Var, CRC32:0x673E4986, Flags:0x0 + bool 'mIsHideEnable' ; // Offset:0x10BA, Var, CRC32:0xC6126BC1, Flags:0x0 + u32 'mTextureSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DA90, Setter:0xB2AE50, CRC32:0x71C13470, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mDistortionEnabled' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DAA0, Setter:0x168DB40, CRC32:0x647AC5B1, Flags:0x800000 + custom 'mpRenderTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DA80, Setter:0xB2ADE0, CRC32:0x8308FBF8, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uUIMockUp2 vftable:0x1DAE5D0, Size:0x290, CRC32:0x6156142E +class uUIMockUp2 /*: uScreenSpace, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpColorTarget' ; // Offset:0x44, Var, CRC32:0xCA322876, Flags:0x30000 + classref 'mpDistortionTex' ; // Offset:0x50, Var, CRC32:0x9BD73618, Flags:0x30000 + vector3 'mCameraPos' ; // Offset:0x80, Var, CRC32:0x36376EF5, Flags:0x0 + vector3 'mCameraUp' ; // Offset:0x90, Var, CRC32:0xC45BFA69, Flags:0x0 + vector3 'mCameraTarget' ; // Offset:0xA0, Var, CRC32:0x6EAB3E5B, Flags:0x0 + f32 'mNearPlane' ; // Offset:0xB0, Var, CRC32:0x1B4C7001, Flags:0x0 + f32 'mFarPlane' ; // Offset:0xB4, Var, CRC32:0xF65358CA, Flags:0x0 + f32 'mFOV' ; // Offset:0xB8, Var, CRC32:0x96095944, Flags:0x0 + u32 'mSceneDrawMode' ; // Offset:0xBC, Var, CRC32:0x4E708CE3, Flags:0x0 + u32 'mSceneView' ; // Offset:0xC0, Var, CRC32:0xE8FEEC5B, Flags:0x0 + color 'mClearColor' ; // Offset:0xC4, Var, CRC32:0x52778E8B, Flags:0x0 + bool 'mDraw2D' ; // Offset:0xCC, Var, CRC32:0xD1CCC93A, Flags:0x0 + bool 'mFXAA' ; // Offset:0xCD, Var, CRC32:0x6C16CCB5, Flags:0x0 + u32 'mAttribute' ; // Offset:0x250, Var, CRC32:0xA6EE61BF, Flags:0x0 + s32 'mDepth' ; // Offset:0x254, Var, CRC32:0x71786A8, Flags:0x0 + class 'mPointTable' ; // Offset:0x258, Var, CRC32:0x40A2C9B1, Flags:0x0 + classref 'mpCamera' ; // Offset:0x26C, Var, CRC32:0xB0290F47, Flags:0x100000 + u32 'mPass' ; // Offset:0x270, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x274, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mLayer' ; // Offset:0x278, Var, CRC32:0x196FBBDB, Flags:0x0 + bool 'mDepthToAlpha' ; // Offset:0x27C, Var, CRC32:0xA8188BF, Flags:0x0 + f32 'mCamDist' ; // Offset:0x284, Var, CRC32:0x6D035CE, Flags:0x0 + f32 'mCamYOfs' ; // Offset:0x288, Var, CRC32:0x31B2F369, Flags:0x0 + u32 'mTextureSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DA90, Setter:0xB2AE50, CRC32:0x71C13470, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + bool 'mDistortionEnabled' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DAA0, Setter:0x168DB40, CRC32:0x647AC5B1, Flags:0x800000 + custom 'mpRenderTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x168DA80, Setter:0xB2ADE0, CRC32:0x8308FBF8, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uUniformShadow vftable:0x20CE9A0, Size:0x180, CRC32:0x26F86FEB +class uUniformShadow /*: uShadow, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpDepthMap' ; // Offset:0x40, Var, CRC32:0x11D5D5A2, Flags:0x30000 + classref 'mpTempMap' ; // Offset:0x44, Var, CRC32:0xC9156956, Flags:0x30000 + classref 'mpDepthTempMap' ; // Offset:0x48, Var, CRC32:0x34E66A10, Flags:0x30000 + classref 'mpDepthStencil' ; // Offset:0x4C, Var, CRC32:0x57765360, Flags:0x30000 + classref 'mpDepthMapCache' ; // Offset:0x50, Var, CRC32:0x8552E268, Flags:0x30000 + classref 'mpDepthStencilCache' ; // Offset:0x54, Var, CRC32:0xA3A8BB8E, Flags:0x30000 + f32 'mShadowViewDistance' ; // Offset:0x58, Var, CRC32:0xBBDB94B, Flags:0x0 + vector4 'mShadowViewSize' ; // Offset:0x60, Var, CRC32:0x96481DB7, Flags:0x0 + f32 'mBackforwardViewDistance' ; // Offset:0x70, Var, CRC32:0x9696C847, Flags:0x0 + classref 'mpTargetLight' ; // Offset:0x7C, Var, CRC32:0x4AE3A9CB, Flags:0x100000 + bool 'mTargetLightEnable' ; // Offset:0x80, Var, CRC32:0xC6AD0625, Flags:0x0 + bool 'mDrawEnable' ; // Offset:0x8B, Var, CRC32:0x367CFB82, Flags:0x30000 + f32 'mShadowAttn' ; // Offset:0x8C, Var, CRC32:0xFA41CD21, Flags:0x30000 + u32 'mShadowGroup' ; // Offset:0xC0, Var, CRC32:0xFF80DD8, Flags:0x0 + f32 'mShadowDepthBias' ; // Offset:0xC4, Var, CRC32:0x21BA894E, Flags:0x0 + f32 'mShadowDistanceScaledDepthBias' ; // Offset:0xCC, Var, CRC32:0xE1DDF955, Flags:0x0 + f32 'mAlphaThreshold' ; // Offset:0xD4, Var, CRC32:0xA1199B89, Flags:0x0 + f32 'mBorderGradation' ; // Offset:0xD8, Var, CRC32:0x1CFC2BB0, Flags:0x0 + f32 'mPmaxPower' ; // Offset:0xE4, Var, CRC32:0x6709FD11, Flags:0x0 + f32 'mVarianceEpsilon' ; // Offset:0xE8, Var, CRC32:0xBED3A8C2, Flags:0x0 + f32 'mPriorityBias' ; // Offset:0x12C, Var, CRC32:0xDA929B67, Flags:0x0 + vector3 'mLightDir' ; // Offset:0x170, Var, CRC32:0xF18F8271, Flags:0x0 + bool 'mIsPCDisable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D60, Setter:0x16E6B80, CRC32:0x4A78624C, Flags:0x800000 + bool 'mIsPS4Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D90, Setter:0x16E6C00, CRC32:0x9D86B701, Flags:0x800000 + bool 'mIsPS3Disable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D80, Setter:0x16E6BD0, CRC32:0x9743BE18, Flags:0x800000 + u32 'mPCFType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D70, Setter:0x16E6BB0, CRC32:0xA1318E6B, Flags:0x800000 + f32 'mShadowSlopeDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DA0, Setter:0x16E9430, CRC32:0x1E2F8AB5, Flags:0x820000 + bool 'mStandBy' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DF0, Setter:0x16E97A0, CRC32:0x885E702F, Flags:0x800000 + f32 'mShadowSlopeScaledDepthBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DD0, Setter:0x16E96F0, CRC32:0xAE570278, Flags:0x800000 + bool 'mMappedToLight' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x14657D0, Setter:0x16E6A10, CRC32:0x54CAE1FC, Flags:0x800000 + u32 'mManagedType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15B96D0, Setter:0x16E6860, CRC32:0xEEFC8FC7, Flags:0x800000 + u32 'MapSize(True)' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D40, Setter:0x0, CRC32:0xEE5AF5E0, Flags:0x830000 + u32 'mMapSize' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2D30, Setter:0x16E68D0, CRC32:0xB823E93D, Flags:0x800000 + u32 'mShadowMapType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2DC0, Setter:0x16E9460, CRC32:0xF16A0C8F, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mVSMBlurType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2E10, Setter:0x16E97F0, CRC32:0x2DD971DD, Flags:0x800000 + f32 'mDispersion' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16E2B30, Setter:0x16E4BC0, CRC32:0xBD6AAFD, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uVolumeNoiseFilter vftable:0x20BEED8, Size:0xD0, CRC32:0x193EA064 +class uVolumeNoiseFilter /*: uFilter, cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + u16 'mPass' ; // Offset:0x40, Var, CRC32:0x17791F18, Flags:0x0 + u32 'mPriority' ; // Offset:0x44, Var, CRC32:0x4A28ECBA, Flags:0x0 + u32 'mScreenLayer' ; // Offset:0x48, Var, CRC32:0xA74DE1C7, Flags:0x0 + vector4 'mColor' ; // Offset:0x50, Var, CRC32:0x9BE2D228, Flags:0x0 + vector3 'mUVWOffset' ; // Offset:0x60, Var, CRC32:0x9AF65F4D, Flags:0x10000 + vector4 'mDirection' ; // Offset:0x70, Var, CRC32:0x62DE5FF7, Flags:0x0 + f32 'mSpeed' ; // Offset:0xA0, Var, CRC32:0xF2926437, Flags:0x0 + f32 'mTexScale' ; // Offset:0xA4, Var, CRC32:0xB0EC61ED, Flags:0x0 + f32 'mBias' ; // Offset:0xA8, Var, CRC32:0x9B8EA167, Flags:0x0 + f32 'mMoveScale' ; // Offset:0xAC, Var, CRC32:0x225EC86B, Flags:0x0 + easecurve 'mEaseCurve' ; // Offset:0xB0, Var, CRC32:0x65EB2FD5, Flags:0x0 + f32 'mDepthCenter' ; // Offset:0xB8, Var, CRC32:0xF5F6E0A3, Flags:0x0 + u32 'mBlendStateType' ; // Offset:0xC8, Var, CRC32:0x4A10AC4B, Flags:0x0 + custom 'mpVolumeNoiseTexture' ; // Offset:0xCC, Var, CRC32:0xBD9F870, Flags:0x0 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uWeapon vftable:0x1DAEB20, Size:0x1E30, CRC32:0x39EDC7E +class uWeapon /*: uDDOModel, uModel, uBaseModel, uCoord, cUnit, MtObject*/ { + event32 'AllOn' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0xB1981C71, Flags:0xA0000 + event32 'AllOff' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x4BBB97D3, Flags:0xA0000 + event 'Update Joint Dependency' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x46D30345, Flags:0xA0000 + event 'CommandCacheReset' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2F943E46, Flags:0xA0000 + event 'Clear Cache' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x2043C607, Flags:0xA0000 + event 'Reset All Material' ; // Offset:0x7FFFFFFFFFFFFFFF, Var, CRC32:0x11371674, Flags:0xA0000 + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + classref 'mpParent' ; // Offset:0x40, Var, CRC32:0xB6BB810D, Flags:0x100000 + s32 'mParentNo' ; // Offset:0x44, Var, CRC32:0xE0F3333C, Flags:0x0 + vector3 'mPos' ; // Offset:0x50, Var, CRC32:0x50227663, Flags:0x4000000 + quaternion 'mQuat' ; // Offset:0x60, Var, CRC32:0x527A96A1, Flags:0x4000000 + vector3 'mScale' ; // Offset:0x70, Var, CRC32:0x11F2BF45, Flags:0x4000000 + bool 'mbFilpShadowCast' ; // Offset:0x100, Var, CRC32:0xDD2E0E2D, Flags:0x0 + s32 'mIgnoreFilpShadowPartNo' ; // Offset:0x104, Var, CRC32:0x48D3E9D1, Flags:0x0 + u32 'mLightGroup' ; // Offset:0x118, Var, CRC32:0xE3993DD6, Flags:0x8000000 + f32 'mTransparency' ; // Offset:0x170, Var, CRC32:0x2D56858B, Flags:0x0 + f32 'mLODLowDist' ; // Offset:0x174, Var, CRC32:0x16B34C4B, Flags:0x0 + f32 'mLODMidDist' ; // Offset:0x178, Var, CRC32:0x41DD49B0, Flags:0x0 + f32 'LightReciver' ; // Offset:0x20C, Var, CRC32:0xE47280F0, Flags:0x0 + vector4 'mAmbientMask' ; // Offset:0x210, Var, CRC32:0xA502F75E, Flags:0x0 + bool 'mIsRCNEnable' ; // Offset:0xE7A, Var, CRC32:0x28E083FA, Flags:0x0 + bool 'mIsFromTextureCalcTangent' ; // Offset:0xE7B, Var, CRC32:0xCEB218FA, Flags:0x0 + bool 'mMaterialIndexDirect' ; // Offset:0xE7C, Var, CRC32:0x8F5C5206, Flags:0x0 + u32 'mModelStatus' ; // Offset:0xEB0, Var, CRC32:0x171BC60C, Flags:0x30000 + u32 'mMotionCalcFlag' ; // Offset:0xEB8, Var, CRC32:0x8AB18F90, Flags:0x0 + class 'mMotion'[8] ; // Offset:0xEC0, Array, CRC32:0xCB6208D9, Flags:0x200000 + f32 'mMotionBlurDist' ; // Offset:0x18C4, Var, CRC32:0xE1D38C2, Flags:0x0 + f32 'mMotionBlurLimite' ; // Offset:0x18C8, Var, CRC32:0xEF2EB888, Flags:0x0 + vector3 'mNullTransScale' ; // Offset:0x18E0, Var, CRC32:0x3025B69, Flags:0x0 + vector3 'mDeltaPos' ; // Offset:0x18F0, Var, CRC32:0x77A842E1, Flags:0x0 + quaternion 'mDeltaQuat' ; // Offset:0x1900, Var, CRC32:0x51EBFE99, Flags:0x0 + bool 'mShowJointNo' ; // Offset:0x1958, Var, CRC32:0x82F9A151, Flags:0x0 + bool 'mUpdateNormal' ; // Offset:0x195A, Var, CRC32:0x16C57D06, Flags:0x0 + f32 'mMorphWeight'[4] ; // Offset:0x195C, Array, CRC32:0x7418D6F6, Flags:0x200000 + vector4 'mBasePlane' ; // Offset:0x1980, Var, CRC32:0x97A0322B, Flags:0x10000 + f32 'mWaistOffset' ; // Offset:0x1990, Var, CRC32:0x782BC86E, Flags:0x0 + f32 'mWaistAdjustFactor' ; // Offset:0x1994, Var, CRC32:0xFFB35F05, Flags:0x0 + f32 'mWaistAdjust' ; // Offset:0x1998, Var, CRC32:0x6A228CA3, Flags:0x10000 + easecurve 'mWaistAdjustCurve' ; // Offset:0x199C, Var, CRC32:0x64A978C8, Flags:0x0 + f32 'mWaistAdjustSpeed' ; // Offset:0x19A4, Var, CRC32:0x3C16DB89, Flags:0x0 + f32 'mHeelHeight' ; // Offset:0x19A8, Var, CRC32:0x39FDF47, Flags:0x0 + f32 'mRotInverseWeight' ; // Offset:0x19AC, Var, CRC32:0xB342311E, Flags:0x0 + u32 'mFootAdjustType' ; // Offset:0x19B0, Var, CRC32:0x11194B71, Flags:0x0 + u32 'mFootAdjustFilter' ; // Offset:0x19B4, Var, CRC32:0x587E5B36, Flags:0x0 + u32 'mFootAdjustGroupBit' ; // Offset:0x19B8, Var, CRC32:0xC7D9F535, Flags:0x0 + bool 'mAnkleAdjust' ; // Offset:0x19BC, Var, CRC32:0x97AE45DD, Flags:0x0 + bool 'mFootAdjust' ; // Offset:0x19BD, Var, CRC32:0xF3C7C019, Flags:0x0 + u32 'mDDOModelFlag' ; // Offset:0x19D4, Var, CRC32:0x8E87183E, Flags:0x0 + u32 'mUnitId' ; // Offset:0x19D8, Var, CRC32:0x8C0174C4, Flags:0x0 + class 'callbackPreSetMotion' ; // Offset:0x19DC, Var, CRC32:0xA81CE807, Flags:0x0 + class 'callbackSetMotion' ; // Offset:0x19E8, Var, CRC32:0x95AF8E38, Flags:0x0 + bool 'mIsMaster' ; // Offset:0x1A00, Var, CRC32:0xC4EF9991, Flags:0x0 + classref 'mpCtrl' ; // Offset:0x1A04, Var, CRC32:0x80D1A34F, Flags:0x10000 + vector3 'mTargetPos' ; // Offset:0x1A10, Var, CRC32:0x97CFE05E, Flags:0x0 + class 'mComponentMgr' ; // Offset:0x1A20, Var, CRC32:0x4DEE5EF4, Flags:0x0 + class 'updateInput' ; // Offset:0x1A40, Var, CRC32:0x6F5FC5A8, Flags:0x8040000 + class 'before' ; // Offset:0x1A4C, Var, CRC32:0x27C4A251, Flags:0x8040000 + class 'checkAction' ; // Offset:0x1A58, Var, CRC32:0xAFFDA905, Flags:0x8040000 + class 'update' ; // Offset:0x1A64, Var, CRC32:0x67DACA87, Flags:0x8040000 + class 'updateMotion' ; // Offset:0x1A70, Var, CRC32:0xE7F1553F, Flags:0x8040000 + class 'callbackAfterUpdateMotion' ; // Offset:0x1A7C, Var, CRC32:0x5B6C6F94, Flags:0x8040000 + class 'updatePosition' ; // Offset:0x1A88, Var, CRC32:0x735C81D8, Flags:0x8040000 + class 'scrAdjust' ; // Offset:0x1A94, Var, CRC32:0x8265893, Flags:0x8040000 + class 'after' ; // Offset:0x1AAC, Var, CRC32:0x76BBB1BE, Flags:0x8040000 + bool 'mMayaScale' ; // Offset:0x1B78, Var, CRC32:0x5A0DE8A6, Flags:0x0 + bool 'mForceScale' ; // Offset:0x1B79, Var, CRC32:0xF8F10F5F, Flags:0x0 + bool 'ȎStO' ; // Offset:0x1B7A, Var, CRC32:0x9A724E8F, Flags:0x0 + vector3 'mOldPos' ; // Offset:0x1B90, Var, CRC32:0xD9AF365B, Flags:0x0 + vector3 'mVelocity' ; // Offset:0x1BA0, Var, CRC32:0x9656E634, Flags:0x0 + vector3 'mAcceleration' ; // Offset:0x1BB0, Var, CRC32:0xA0C6ABB1, Flags:0x0 + vector3 'mMoveVelocity' ; // Offset:0x1BC0, Var, CRC32:0x1B9B8D1F, Flags:0x0 + u64 'mObjStatus' ; // Offset:0x1BF0, Var, CRC32:0x4921A17B, Flags:0x0 + u64 'mObjStatusExt' ; // Offset:0x1C00, Var, CRC32:0x650E13FE, Flags:0x0 + u32 'VF폜rbg' ; // Offset:0x1C30, Var, CRC32:0x7DF1D5EA, Flags:0x0 + s32 'mTargetUIJointNo' ; // Offset:0x1C38, Var, CRC32:0xD621C62F, Flags:0x0 + vector3 'mTargetUIOffset' ; // Offset:0x1C40, Var, CRC32:0x73F0EEDA, Flags:0x0 + s32 'mTouchType' ; // Offset:0x1C50, Var, CRC32:0x8AC323DB, Flags:0x10000 + bool 'mIsNoTouch' ; // Offset:0x1C54, Var, CRC32:0x74417D26, Flags:0x0 + classref 'mpTouchTarget' ; // Offset:0x1C58, Var, CRC32:0xD99DDBDB, Flags:0x10000 + s32 'mMode' ; // Offset:0x1CD0, Var, CRC32:0x4EC38C97, Flags:0x0 + s32 'mStatus' ; // Offset:0x1CD4, Var, CRC32:0x459CCC2D, Flags:0x10000 + s32 'mWepCategory' ; // Offset:0x1CF0, Var, CRC32:0x3E2734CE, Flags:0x0 + classref 'mpOwner' ; // Offset:0x1CF4, Var, CRC32:0x4B533E00, Flags:0x0 + s32 'mCnsJointNo'[4] ; // Offset:0x1D04, Array, CRC32:0x7AC639B0, Flags:0x200000 + f32 'mCnsFat'[4] ; // Offset:0x1D14, Array, CRC32:0x12FAD89, Flags:0x200000 + vector3 'mCnsRot'[4] ; // Offset:0x1D30, Array, CRC32:0x84838BAB, Flags:0x200000 + vector3 'mCnsTrans'[4] ; // Offset:0x1D70, Array, CRC32:0x3235C6DF, Flags:0x200000 + f32 'mWeaponScale' ; // Offset:0x1E24, Var, CRC32:0x1771F829, Flags:0x0 + u32 'mDrawPriority' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2C0, Setter:0x154E8B0, CRC32:0x786AC4AA, Flags:0x800000 + s32 'mZPrepassDist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3B0, Setter:0x154F840, CRC32:0x41B16E3E, Flags:0x800000 + s32 'mLODType' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x92F800, Setter:0x98CB80, CRC32:0xC4DEBCA, Flags:0x800000 + s32 'mVFCullLevel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C390, Setter:0x154F820, CRC32:0x9CFE697A, Flags:0x800000 + u32 'mMaxNumGroup1MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C310, Setter:0x154EA10, CRC32:0xFE983571, Flags:0x800000 + u32 'mMaxNumGroup0MultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C300, Setter:0x154E9F0, CRC32:0x297AB529, Flags:0x800000 + bool 'mMultiShadowReceive' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3E0, Setter:0x154EB90, CRC32:0x5B019D9A, Flags:0x800000 + u32 'mMaxLightNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2F0, Setter:0xBC74F0, CRC32:0x79E8D4B0, Flags:0x800000 + u32 'mLightAttr' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2D0, Setter:0x154E910, CRC32:0xEC82B9AF, Flags:0x800000 + bool 'PartsDisp'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x4497E0, Setter:0x43D850, GetCount:0x154C360, Reallocate:0x154EBB0 CRC32:0x25B47A04, Flags:0xA00000 + u32 'mViewDraw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3A0, Setter:0x0, CRC32:0xDBF211CE, Flags:0x830000 + u32 'KeyFrameNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x15526C0, Setter:0x0, CRC32:0x2B6738C4, Flags:0x830000 + custom 'mpMaterialData' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x49BE10, Setter:0x154E990, CRC32:0x3AE34108, Flags:0x800000 + custom 'mpModel' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A70, Setter:0x1548403, CRC32:0x53A6AAA5, Flags:0x800000 + u32 'mBlendNum' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4AEC00, Setter:0x1502C10, CRC32:0x424469AE, Flags:0x800000 + bool 'mFlatTransparency' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3D0, Setter:0x154E8E0, CRC32:0xD2F277DC, Flags:0x800000 + u32 'mOrder' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4FD760, Setter:0x662960, CRC32:0x89D0959, Flags:0x800000 + u32 'mParentFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x8E75E0, Setter:0x5A56C0, CRC32:0x75CE425C, Flags:0x800000 + s32 'mShaderQuality' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C370, Setter:0x154F800, CRC32:0x10C96A05, Flags:0x800000 + classref 'mpTarget' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC828A0, Setter:0x0, CRC32:0xCD5ACEBE, Flags:0x830000 + vector3 'mAngle' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149D0F0, Setter:0xBC72B0, CRC32:0xFD35DFC8, Flags:0x820000 + class 'mJoint'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526A0, Setter:0x0, GetCount:0x448A40, Reallocate:0x0 CRC32:0x6041E6C6, Flags:0xA30000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + classref 'mpMaterials'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x154C2E0, Setter:0x154E930, GetCount:0x49BE60, Reallocate:0x154E9E0 CRC32:0x69E900C, Flags:0xA30000 + u32 'mDebugFlags' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C2B0, Setter:0x154E890, CRC32:0xBB140816, Flags:0x800000 + s32 'mPriorityBias' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448AB0, Setter:0x154F7A0, CRC32:0xDA929B67, Flags:0x800000 + u32 'mCacheMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x103FD00, Setter:0x154C740, CRC32:0xDAA59355, Flags:0x800000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 + bool 'mShaderAttributes' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D510, Setter:0x154F7E0, CRC32:0x6F06D4C7, Flags:0x800000 + bool 'mFixPosition' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x154C3C0, Setter:0x154E8C0, CRC32:0xB0DB9067, Flags:0x800000 + bool 'mDissolveEnable' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xB1D4A0, Setter:0xC7DE60, CRC32:0x1FBFBEE2, Flags:0x800000 + custom 'mpMotionList'[*] ; // Offset:0x7FFFFFFFFFFFFFFF, DynamicArray, Getter:0x15526E0, Setter:0x15030E0, GetCount:0x15526D0, Reallocate:0x1555090 CRC32:0x841AE25, Flags:0xA00000 +}; + +// uWind vftable:0x20CDE78, Size:0x2D0, CRC32:0x28924381 +class uWind /*: cUnit, MtObject*/ { + u32 'mRno' ; // Offset:0x4, Var, CRC32:0x5EBCCF03, Flags:0x10000 + u64 'mUnitParam' ; // Offset:0x8, Var, CRC32:0xE84C4C88, Flags:0x10000 + f32 'mDeltaTime' ; // Offset:0x20, Var, CRC32:0xB50C3B41, Flags:0x10000 + u64 'mUnitGroup' ; // Offset:0x28, Var, CRC32:0x217674C4, Flags:0x30000 + f32 'mDeltaTime' ; // Offset:0x58, Var, CRC32:0xB50C3B41, Flags:0x10000 + f32 'mDumpingCoef' ; // Offset:0x68, Var, CRC32:0x34E96BA4, Flags:0x0 + bool 'mRecoveriable' ; // Offset:0x6C, Var, CRC32:0xACBD7045, Flags:0x0 + f32 'mUpdateInterval' ; // Offset:0x70, Var, CRC32:0x598ABFF1, Flags:0x0 + f32 'mBaseScale' ; // Offset:0x90, Var, CRC32:0xBA553A2F, Flags:0x0 + class 'mWindGenerator'[4] ; // Offset:0xD0, Array, CRC32:0xA099EAB3, Flags:0x200000 + vector3 'mBasePos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD1C0, Setter:0x16CD790, CRC32:0x3450C923, Flags:0x800000 + u32 'mIteratorZ' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD560, Setter:0x16CD960, CRC32:0x6810BB42, Flags:0x800000 + u32 'mIteratorX' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD550, Setter:0x16CD950, CRC32:0x861EDA6E, Flags:0x800000 + f32 'mGridPitch' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD540, Setter:0x16CD880, CRC32:0xC1DDC2D0, Flags:0x800000 + class 'mpHardwareDispCtrl' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x148F210, Setter:0x149A780, CRC32:0xEADA22F0, Flags:0x800000 + u32 'mTransView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x2761F616, Flags:0x830000 + u32 'mTransMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0x4E561A33, Flags:0x830000 + bool 'Trans' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x4E1FCE46, Flags:0x830000 + u32 'mBeFlag' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x482950, Setter:0x149A770, CRC32:0xCB32C546, Flags:0x830000 + u32 'mMoveLine' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x448A80, Setter:0x149A790, CRC32:0xA777B4A7, Flags:0x810000 + string 'Name' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x1499F89, Setter:0x149A7B0, CRC32:0x1EE2EC7, Flags:0x830000 + u32 'mDrawView' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0xC29670, Setter:0x5C1690, CRC32:0x952BBB3B, Flags:0x800000 + u32 'mDrawMode' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x4B9E00, Setter:0x4BE940, CRC32:0xFC1C571E, Flags:0x800000 + bool 'Fix' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E240, Setter:0xB32210, CRC32:0x9E48FE7F, Flags:0x800000 + bool 'Draw' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x149A6D0, Setter:0x416950, CRC32:0x2F3FEDCE, Flags:0x800000 + bool 'Move' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x40E810, Setter:0x4174D0, CRC32:0xB0F367B9, Flags:0x800000 +}; + +// uWind::WindGenerator vftable:0x20CDE64, Size:0x80, CRC32:0x27DCDC08 +class uWind::WindGenerator /*: MtObject*/ { + bool 'mBeFlag' ; // Offset:0x8, Var, CRC32:0xCB32C546, Flags:0x0 + u32 'mGeneratorType' ; // Offset:0xC, Var, CRC32:0xFD2B11CE, Flags:0x0 + f32 'mMaxForce' ; // Offset:0x10, Var, CRC32:0x5C79C952, Flags:0x0 + f32 'mForceRandomRatio' ; // Offset:0x14, Var, CRC32:0xD83B866C, Flags:0x0 + f32 'mForceBiasRatio' ; // Offset:0x18, Var, CRC32:0x545990F4, Flags:0x0 + f32 'mLogisticCoef' ; // Offset:0x1C, Var, CRC32:0x310AA221, Flags:0x10000 + u32 'mLogisticTime' ; // Offset:0x20, Var, CRC32:0xA9996A07, Flags:0x0 + f32 'mLogisticVal' ; // Offset:0x50, Var, CRC32:0x999E3A79, Flags:0x10000 + f32 'mLocalSphere.r' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD5C0, Setter:0x16CDA40, CRC32:0x9D446640, Flags:0x800000 + vector3 'mLocalSphere.pos' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD5A0, Setter:0x16CDA10, CRC32:0x7C4595AC, Flags:0x800000 + f32 'mLocalPlane.dist' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD570, Setter:0x16CD970, CRC32:0x6E736338, Flags:0x800000 + vector3 'mLocalPlane.normal' ; // Offset:0x7FFFFFFFFFFFFFFF, PSEUDO-PROP, Getter:0x16CD580, Setter:0x16CD990, CRC32:0x7E56BCA3, Flags:0x800000 +}; + +// via::module::network::utility::HttpDownloadManager::UriTbl::Uri vftable:0x1C161DC, Size:0x18, CRC32:0x6CA46C58 +class via::module::network::utility::HttpDownloadManager::UriTbl::Uri /*: MtObject*/ { +}; + +// END OF FILE \ No newline at end of file From e08460668b99dac51fac551a5fd857c651d2121c Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Sat, 8 Oct 2022 18:38:11 +0800 Subject: [PATCH 66/72] fix, allow leader promotion if leader left --- Arrowgene.Ddon.GameServer/GameStructure.cs | 2 +- .../Handler/PartyPartyInviteCancelHandler.cs | 7 +++ Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 61 +++++++++++-------- .../S2CPartyPartyInviteCancelNtc.cs | 8 +++ .../Files/Assets/GameServerList.csv | 2 +- 5 files changed, 52 insertions(+), 28 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/GameStructure.cs b/Arrowgene.Ddon.GameServer/GameStructure.cs index bf9b0dea1..4b3033171 100644 --- a/Arrowgene.Ddon.GameServer/GameStructure.cs +++ b/Arrowgene.Ddon.GameServer/GameStructure.cs @@ -11,7 +11,7 @@ public static void CDataCharacterListElement( Character character) { CDataCommunityCharacterBaseInfo(cDataCharacterListElement.CommunityCharacterBaseInfo, character); - cDataCharacterListElement.ServerId = 0; + cDataCharacterListElement.ServerId = character.Server.Id; cDataCharacterListElement.OnlineStatus = 0; CDataJobBaseInfo(cDataCharacterListElement.CurrentJobBaseInfo, character.Job, (byte)character.ActiveCharacterJobData.Lv); diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCancelHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCancelHandler.cs index 7fed8846a..c1b1927f8 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCancelHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCancelHandler.cs @@ -15,8 +15,15 @@ public PartyPartyInviteCancelHandler(DdonGameServer server) : base(server) { } + + /// + /// There seems to be no way to + /// + /// + /// public override void Handle(GameClient client, StructurePacket packet) { + Logger.Info(client, $"C2SPartyPartyInviteCancelReq -> ServerId:{packet.Structure.ServerId} PartyId:{packet.Structure.PartyId}"); S2CPartyPartyInviteCancelRes res = new S2CPartyPartyInviteCancelRes(); PartyGroup party = client.Party; diff --git a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs index 787b18f0f..6730c294b 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs @@ -123,14 +123,14 @@ public PlayerPartyMember Invite(GameClient invitee, GameClient host) { if (!_partyManager.InviteParty(invitee, host, this)) { - Logger.Error(invitee, "could not register client for invitation"); + Logger.Error(invitee, $"[PartyId:{Id}][Invite] could not be invited"); return null; } int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { - Logger.Error(invitee, "No free slot available for client"); + Logger.Error(invitee, $"[PartyId:{Id}][Invite] no free slot available"); return null; } @@ -151,14 +151,14 @@ public ErrorRes RefuseInvite(GameClient client) PartyInvitation invitation = _partyManager.RemovePartyInvitation(client); if (invitation == null) { - Logger.Error(client, "client was not registered for party"); + Logger.Error(client, $"[PartyId:{Id}][RefuseInvite] was not invited"); return ErrorRes.Fail; } PlayerPartyMember partyMember = GetPlayerPartyMember(client); if (partyMember == null) { - Logger.Error(client, "client has no slot in this party"); + Logger.Error(client, $"[PartyId:{Id}][RefuseInvite] has no slot"); return ErrorRes.Fail; } @@ -185,27 +185,27 @@ public ErrorRes Accept(GameClient client) PartyInvitation invitation = _partyManager.RemovePartyInvitation(client); if (invitation == null) { - Logger.Error(client, "client was not registered for party"); + Logger.Error(client, $"[PartyId:{Id}][Accept] not invited"); return ErrorRes.Fail; } if (invitation.Party != this) { - Logger.Error(client, "client was not invited to this party"); + Logger.Error(client, $"[PartyId:{Id}][Accept] not invited to this party"); return ErrorRes.Fail; } TimeSpan invitationAge = DateTime.Now - invitation.Date; if (invitationAge > TimeSpan.FromSeconds(PartyManager.InvitationTimeoutSec)) { - Logger.Error(client, "invitation expired"); + Logger.Error(client, $"[PartyId:{Id}][Accept] invitation expired"); return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_INVITE_FAIL_REASON_TIMEOUT); } PlayerPartyMember partyMember = GetPlayerPartyMember(client); if (partyMember == null) { - Logger.Error(client, "client has no slot in this party"); + Logger.Error(client, $"[PartyId:{Id}][Accept] has no slot"); return ErrorRes.Fail; } @@ -225,7 +225,7 @@ public PlayerPartyMember Join(GameClient client) PlayerPartyMember partyMember = GetPlayerPartyMember(client); if (partyMember == null) { - Logger.Error(client, "client has no slot in this party"); + Logger.Error(client, $"[PartyId:{Id}][Join(GameClient)] has no slot"); return null; } @@ -257,7 +257,7 @@ public PawnPartyMember Join(Pawn pawn) int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { - Logger.Error("No free slot available for pawn"); + Logger.Error($"[PartyId:{Id}][Join(Pawn)] no slot available"); return null; } @@ -275,12 +275,12 @@ public void Leave(GameClient client) return; } - Logger.Info(client, $"Leaving Party:{Id}"); + Logger.Info(client, $"[PartyId:{Id}][Leave(GameClient)]"); lock (_lock) { if (client.Party != this) { - Logger.Error(client, "client not part of this party"); + Logger.Error(client, $"[PartyId:{Id}][Leave(GameClient)] not part of this party"); return; } @@ -292,7 +292,7 @@ public void Leave(GameClient client) PlayerPartyMember partyMember = GetPlayerPartyMember(client); if (partyMember == null) { - Logger.Error(client, "client has no slot in this party"); + Logger.Error(client, $"[PartyId:{Id}][Leave(GameClient)] has no slot"); return; } @@ -301,15 +301,15 @@ public void Leave(GameClient client) if (Clients.Count <= 0) { - Logger.Info(client, $"last person of party:{Id} left, disband party"); + Logger.Info(client, $"[PartyId:{Id}][Leave(GameClient)] was the last person, disband"); _partyManager.DisbandParty(Id); return; } if (partyMember.IsLeader) { - Logger.Info(client, $"was leader of party:{Id}, leader left"); - // TODO designate new leader + _leader = null; + Logger.Info(client, $"[PartyId:{Id}][Leave(GameClient)] leader left"); } } } @@ -321,7 +321,7 @@ public PartyMember Kick(byte memberIndex) PartyMember member = GetSlot(memberIndex); if (member == null) { - Logger.Error($"memberIndex:{memberIndex} not occupied in partyId:{Id}"); + Logger.Error($"[PartyId:{Id}][Kick] memberIndex:{memberIndex} not occupied"); return null; } @@ -334,26 +334,31 @@ public PartyMember Kick(byte memberIndex) /// /// Changes to a new leader, returns new leader as value /// - /// + /// /// /// - public ErrorRes ChangeLeader(GameClient client, uint leaderCharacterId) + public ErrorRes ChangeLeader(GameClient changeRequester, uint leaderCharacterId) { - if (client == null) + if (changeRequester == null) { return ErrorRes.Fail; } lock (_lock) { - PlayerPartyMember currentLeader = GetPlayerPartyMember(client); - if (currentLeader == null) + PlayerPartyMember changeRequestMember = GetPlayerPartyMember(changeRequester); + if (changeRequestMember == null) { return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); } - if (!currentLeader.IsLeader) + if (_leader == null) { + // no leader at the moment, allow change + } + else if (_leader != changeRequestMember) + { + // person who requested change is not the leader return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); } @@ -363,7 +368,11 @@ public ErrorRes ChangeLeader(GameClient client, uint leaderCh return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); } - currentLeader.IsLeader = false; + if (_leader != null) + { + _leader.IsLeader = false; + } + newLeader.IsLeader = true; _leader = newLeader; return ErrorRes.Success(newLeader); @@ -524,8 +533,8 @@ private PartyMember GetSlot(uint index) { if (index >= MaxSlots) { - Logger.Error( - $"can not retrieve slot {index} is out of bounds for maximum party size of {MaxSlots}"); + Logger.Error($"[PartyId:{Id}][GetSlot] index:{index} >= MaxSlots:{MaxSlots}, out of bounds"); + return null; } lock (_lock) diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs index 483e719c5..47d50bb8f 100644 --- a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CPartyPartyInviteCancelNtc.cs @@ -7,16 +7,24 @@ public class S2CPartyPartyInviteCancelNtc : IPacketStructure { public PacketId Id => PacketId.S2C_PARTY_PARTY_INVITE_CANCEL_NTC; + public uint ErrorCode { get; set; } + + public S2CPartyPartyInviteCancelNtc() + { + ErrorCode = 0; + } public class Serializer : PacketEntitySerializer { public override void Write(IBuffer buffer, S2CPartyPartyInviteCancelNtc obj) { + WriteUInt32(buffer, obj.ErrorCode); } public override S2CPartyPartyInviteCancelNtc Read(IBuffer buffer) { S2CPartyPartyInviteCancelNtc obj = new S2CPartyPartyInviteCancelNtc(); + obj.ErrorCode = ReadUInt32(buffer); return obj; } } diff --git a/Arrowgene.Ddon.Shared/Files/Assets/GameServerList.csv b/Arrowgene.Ddon.Shared/Files/Assets/GameServerList.csv index 83224de84..211f991df 100644 --- a/Arrowgene.Ddon.Shared/Files/Assets/GameServerList.csv +++ b/Arrowgene.Ddon.Shared/Files/Assets/GameServerList.csv @@ -1,2 +1,2 @@ #Id,Name,Brief,TrafficName,TrafficLevel,MaxLoginNum,IpAddress,Port,IsHide -0,Local Host,Brief,Traffic Name,0,1000,127.0.0.1,52000,false \ No newline at end of file +10,Local Host,Brief,Traffic Name,0,1000,127.0.0.1,52000,false \ No newline at end of file From 214f7ae6a72abe90523ec5375e9aacb2bdb20b1f Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Sat, 8 Oct 2022 18:59:37 +0800 Subject: [PATCH 67/72] update --- .../Handler/PartyPartyMemberKickHandler.cs | 2 +- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 70 ++++++++++++++++--- 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs index f58c38891..56632c26c 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyMemberKickHandler.cs @@ -24,7 +24,7 @@ public override void Handle(GameClient client, StructurePacket RefuseInvite(GameClient client) } FreeSlot(partyMember.MemberIndex); + Logger.Info(client, $"[PartyId:{Id}][RefuseInvite] refused invite"); return ErrorRes.Success(invitation); } } @@ -209,6 +216,7 @@ public ErrorRes Accept(GameClient client) return ErrorRes.Fail; } + Logger.Info(client, $"[PartyId:{Id}][Accept] accepted invite"); return ErrorRes.Success(partyMember); } } @@ -239,7 +247,7 @@ public PlayerPartyMember Join(GameClient client) } partyMember.JoinState = JoinState.On; - + Logger.Info(client, $"[PartyId:{Id}][Join(GameClient)] joined"); return partyMember; } } @@ -257,13 +265,13 @@ public PawnPartyMember Join(Pawn pawn) int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { - Logger.Error($"[PartyId:{Id}][Join(Pawn)] no slot available"); + Logger.Error($"[PartyId:{Id}][Join(PawnId:{pawn.Id})] no slot available"); return null; } partyMember.JoinState = JoinState.On; - + Logger.Info($"[PartyId:{Id}][Join(PawnId:{pawn.Id})] joined"); return partyMember; } } @@ -275,7 +283,6 @@ public void Leave(GameClient client) return; } - Logger.Info(client, $"[PartyId:{Id}][Leave(GameClient)]"); lock (_lock) { if (client.Party != this) @@ -297,6 +304,7 @@ public void Leave(GameClient client) } FreeSlot(partyMember.MemberIndex); + Logger.Info(client, $"[PartyId:{Id}][Leave(GameClient)] left"); if (Clients.Count <= 0) @@ -314,20 +322,57 @@ public void Leave(GameClient client) } } - public PartyMember Kick(byte memberIndex) + public ErrorRes Kick(GameClient client, byte memberIndex) { + if (client == null) + { + return ErrorRes.Fail; + } + lock (_lock) { + PlayerPartyMember changeRequester = GetPlayerPartyMember(client); + if (changeRequester == null) + { + Logger.Error(client, $"[PartyId:{Id}][Kick] has no slot"); + return ErrorRes.Fail; + } + PartyMember member = GetSlot(memberIndex); if (member == null) { - Logger.Error($"[PartyId:{Id}][Kick] memberIndex:{memberIndex} not occupied"); - return null; + Logger.Error(client, $"[PartyId:{Id}][Kick] memberIndex:{memberIndex} not occupied"); + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); + } + + if (member is PlayerPartyMember player) + { + if (!changeRequester.IsLeader) + { + Logger.Error(client, $"[PartyId:{Id}][Kick] is not authorized (not leader)"); + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); + } + + FreeSlot(member.MemberIndex); + Logger.Info(client, $"[PartyId:{Id}][Kick] kicked player {player.Client.Identity}"); + return ErrorRes.Success(member); } + + if (member is PawnPartyMember pawn) + { + if (pawn.Character.Id != changeRequester.Character.Id) + { + Logger.Error(client, $"[PartyId:{Id}][Kick] is not authorized (not pawn owner)"); + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); + } - FreeSlot(member.MemberIndex); + FreeSlot(member.MemberIndex); + Logger.Info(client, $"[PartyId:{Id}][Kick] kicked pawnId: {pawn.PawnId}"); + return ErrorRes.Success(member); + } - return member; + Logger.Error(client, $"[PartyId:{Id}][Kick] unknown object {member}"); + return ErrorRes.Fail; } } @@ -349,22 +394,25 @@ public ErrorRes ChangeLeader(GameClient changeRequester, uint PlayerPartyMember changeRequestMember = GetPlayerPartyMember(changeRequester); if (changeRequestMember == null) { + Logger.Error(changeRequester, $"[PartyId:{Id}][ChangeLeader] has no slot"); return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); } if (_leader == null) { - // no leader at the moment, allow change + Logger.Info(changeRequester, $"[PartyId:{Id}][ChangeLeader] has no leader, allow to change"); } else if (_leader != changeRequestMember) { - // person who requested change is not the leader + Logger.Error(changeRequester, $"[PartyId:{Id}][ChangeLeader] is not authorized"); return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); } PlayerPartyMember newLeader = GetByCharacterId(leaderCharacterId); if (newLeader == null) { + Logger.Error(changeRequester, + $"[PartyId:{Id}][ChangeLeader] new leader characterId:{leaderCharacterId} has no slot"); return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_NOT_PARTY_JOIN); } From f8be6262a1a33f433090b9641f77d96bf63b6890 Mon Sep 17 00:00:00 2001 From: sebastian-heinz Date: Mon, 10 Oct 2022 18:30:00 +0800 Subject: [PATCH 68/72] update --- .../Handler/PartyPartyCreateHandler.cs | 51 ++++++++++--------- .../PartyPartyInviteCharacterHandler.cs | 43 ++++++++-------- .../Handler/PartyPartyInviteRefuseHandler.cs | 24 +++++---- .../Handler/PartyPartyJoinHandler.cs | 40 ++++++++------- .../Handler/PartyPartyMemberKickHandler.cs | 24 +++++---- Arrowgene.Ddon.GameServer/Party/PartyGroup.cs | 51 ++++++++++--------- 6 files changed, 127 insertions(+), 106 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs index 7fa6f14f1..1fbb665bf 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyCreateHandler.cs @@ -2,6 +2,7 @@ using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Shared; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -17,52 +18,54 @@ public PartyPartyCreateHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { - S2CPartyPartyCreateRes partyCreateRes = new S2CPartyPartyCreateRes(); + S2CPartyPartyCreateRes res = new S2CPartyPartyCreateRes(); PartyGroup party = Server.PartyManager.NewParty(); if (party == null) { - Logger.Error(client, "Failed to create party"); - // TODO return error + Logger.Error(client, "can not create party (Server.PartyManager.NewParty() == null)"); + res.Error = (uint)ErrorCode.ERROR_CODE_FAIL; + client.Send(res); return; } - PlayerPartyMember member = party.Invite(client, client); - if (member == null) + ErrorRes invite = party.Invite(client, client); + if (invite.HasError) { - Logger.Error(client, "Failed to join new party"); - // TODO return error + Logger.Error(client, "failed to invite to new party"); + res.Error = (uint)invite.ErrorCode; + client.Send(res); return; } - ErrorRes memberRes = party.Accept(client); - if (memberRes.HasError) + ErrorRes accept = party.Accept(client); + if (accept.HasError) { - Logger.Error(client, "Failed to accept new party"); - partyCreateRes.Error = (uint)memberRes.ErrorCode; - client.Send(partyCreateRes); + Logger.Error(client, "failed to accept new party"); + res.Error = (uint)accept.ErrorCode; + client.Send(res); return; } - member = party.Join(client); - if (member == null) + ErrorRes join = party.Join(client); + if (join.HasError) { Logger.Error(client, "Failed to join new party"); - // TODO return error + res.Error = (uint)join.ErrorCode; + client.Send(res); return; } - Logger.Info(client, $"Created Party with PartyId:{party.Id}"); - - S2CPartyPartyJoinNtc partyJoinNtc = new S2CPartyPartyJoinNtc(); - partyJoinNtc.HostCharacterId = client.Character.Id; - partyJoinNtc.LeaderCharacterId = client.Character.Id; - partyJoinNtc.PartyMembers.Add(member.GetCDataPartyMember()); - client.Send(partyJoinNtc); + S2CPartyPartyJoinNtc ntc = new S2CPartyPartyJoinNtc(); + ntc.HostCharacterId = client.Character.Id; + ntc.LeaderCharacterId = client.Character.Id; + ntc.PartyMembers.Add(join.Value.GetCDataPartyMember()); + client.Send(ntc); + res.PartyId = party.Id; + client.Send(res); - partyCreateRes.PartyId = party.Id; - client.Send(partyCreateRes); + Logger.Info(client, $"created party with PartyId:{party.Id}"); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs index 358174e43..e9b6ea91a 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyInviteCharacterHandler.cs @@ -1,6 +1,8 @@ using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -33,38 +35,37 @@ public PartyPartyInviteCharacterHandler(DdonGameServer server) : base(server) // S2CContextGetLobbyPlayerContextNtc to the new party member, it should maybe also be sent to all members // More stuff to determine // TODO: Figure out just how much packets/data within those packets we can do without while keeping everything functioning. - // TODO PartyGorup need invite management public override void Handle(GameClient client, StructurePacket packet) { + S2CPartyPartyInviteCharacterRes res = new S2CPartyPartyInviteCharacterRes(); + GameClient invitedClient = Server.ClientLookup.GetClientByCharacterId(packet.Structure.CharacterId); if (invitedClient == null) { - Logger.Error(client, - $"Could not locate CharacterId:{packet.Structure.CharacterId} for party invitation"); - // TODO error response + Logger.Error(client, $"not found CharacterId:{packet.Structure.CharacterId} for party invitation"); + res.Error = (uint)ErrorCode.ERROR_CODE_FAIL; + client.Send(res); return; } PartyGroup party = client.Party; if (party == null) { - Logger.Error(client, - $"can not invite, as he is not inside party"); - // TODO error response + Logger.Error(client, "can not invite (client.Party == null)"); + res.Error = (uint)ErrorCode.ERROR_CODE_FAIL; + client.Send(res); return; } - PlayerPartyMember invitedMember = party.Invite(invitedClient, client); - if (invitedMember == null) + ErrorRes invitedMember = party.Invite(invitedClient, client); + if (invitedMember.HasError) { - Logger.Error(client, - $"could not invite {invitedClient.Identity}, party did not accept invitiation"); - // TODO error response + Logger.Error(client, $"could not invite {invitedClient.Identity}"); + res.Error = (uint)invitedMember.ErrorCode; + client.Send(res); return; } - Logger.Info(client, $"Invited Client:{invitedClient.Identity} to PartyId:{party.Id}"); - S2CPartyPartyInviteNtc ntc = new S2CPartyPartyInviteNtc(); ntc.TimeoutSec = PartyManager.InvitationTimeoutSec; ntc.PartyListInfo.PartyId = party.Id; @@ -73,15 +74,17 @@ public override void Handle(GameClient client, StructurePacket packet) { S2CPartyPartyInviteRefuseRes res = new S2CPartyPartyInviteRefuseRes(); - + PartyInvitation invitation = Server.PartyManager.GetPartyInvitation(client); if (invitation == null) { Logger.Error(client, "failed to find invitation"); + res.Error = (uint)ErrorCode.ERROR_CODE_PARTY_NOT_INVITED; client.Send(res); return; } @@ -30,27 +33,30 @@ public override void Handle(GameClient client, StructurePacket refuse = party.RefuseInvite(client); + if (refuse.HasError) + { + res.Error = (uint)refuse.ErrorCode; + client.Send(res); + return; + } client.Send(res); - Logger.Info(client, $"refuse invite for PartyId:{invitation.Party.Id}"); } } } diff --git a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs index 4000e413e..92467ad20 100644 --- a/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/PartyPartyJoinHandler.cs @@ -1,6 +1,8 @@ using Arrowgene.Ddon.GameServer.Party; using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Shared; using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -16,40 +18,38 @@ public PartyPartyJoinHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, StructurePacket packet) { + S2CPartyPartyJoinRes res = new S2CPartyPartyJoinRes(); + PartyGroup party = Server.PartyManager.GetParty(packet.Structure.PartyId); if (party == null) { - Logger.Error(client, "Could not join party, does not exist"); - // todo return error + Logger.Error(client, "failed to find party (Server.PartyManager.GetParty() == null)"); + res.Error = (uint)ErrorCode.ERROR_CODE_FAIL; + client.Send(res); return; } - PartyMember partyMember = party.Join(client); - if (partyMember == null) + ErrorRes join = party.Join(client); + if (join.HasError) { - Logger.Error(client, "Could not join party, its full"); - // todo return error + Logger.Error(client, "failed to join party"); + res.Error = (uint)join.ErrorCode; + client.Send(res); return; } - - Logger.Info(client, $"Joined PartyId:{party.Id}"); - - S2CPartyPartyJoinRes response = new S2CPartyPartyJoinRes(); - response.PartyId = party.Id; - client.Send(response); + res.PartyId = party.Id; + client.Send(res); - // Send updated member list to all party members - S2CPartyPartyJoinNtc partyJoinNtc = new S2CPartyPartyJoinNtc(); - partyJoinNtc.HostCharacterId = party.Host.Character.Id; - partyJoinNtc.LeaderCharacterId = party.Leader.Character.Id; - // Send party player context NTCs to the new member + S2CPartyPartyJoinNtc ntc = new S2CPartyPartyJoinNtc(); + ntc.HostCharacterId = party.Host.Character.Id; + ntc.LeaderCharacterId = party.Leader.Character.Id; foreach (PartyMember member in party.Members) { - partyJoinNtc.PartyMembers.Add(member.GetCDataPartyMember()); + ntc.PartyMembers.Add(member.GetCDataPartyMember()); } - party.SendToAll(partyJoinNtc); + party.SendToAll(ntc); // Send party player context NTCs to the new member @@ -58,6 +58,8 @@ public override void Handle(GameClient client, StructurePacket packet) { + S2CPartyPartyMemberKickRes res = new S2CPartyPartyMemberKickRes(); + PartyGroup party = client.Party; if (party == null) { - Logger.Error(client, "party null"); - // TODO + Logger.Error(client, "(party == null)"); + res.Error = (uint)ErrorCode.ERROR_CODE_FAIL; + client.Send(res); return; } - PartyMember member = party.Kick(client, packet.Structure.MemberIndex); - if (member == null) + ErrorRes member = party.Kick(client, packet.Structure.MemberIndex); + if (member.HasError) { - Logger.Error(client, "failed to kick"); - // TODO + res.Error = (uint)member.ErrorCode; + client.Send(res); return; } S2CPartyPartyMemberKickNtc ntc = new S2CPartyPartyMemberKickNtc(); - ntc.MemberIndex = (byte)member.MemberIndex; + ntc.MemberIndex = (byte)member.Value.MemberIndex; party.SendToAll(ntc); - if (member is PlayerPartyMember playerMember) + if (member.Value is PlayerPartyMember playerMember) { playerMember.Client.Send(ntc); } - - S2CPartyPartyMemberKickRes res = new S2CPartyPartyMemberKickRes(); + client.Send(res); } } diff --git a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs index fb9dd1abf..fe55daa0a 100644 --- a/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs +++ b/Arrowgene.Ddon.GameServer/Party/PartyGroup.cs @@ -106,21 +106,18 @@ public List Members } } - /// - /// Player has been invited and will be holding a slot for them. - /// However they are not assigned to this party until joined. - /// - /// PlayerPartyMember if a slot could be secured, or null on failure - public PlayerPartyMember Invite(GameClient invitee, GameClient host) + public ErrorRes Invite(GameClient invitee, GameClient host) { if (invitee == null) { - return null; + Logger.Error($"[PartyId:{Id}][Invite] (invitee == null)"); + return ErrorRes.Fail; } if (host == null) { - return null; + Logger.Error($"[PartyId:{Id}][Invite] (host == null)"); + return ErrorRes.Fail; } PlayerPartyMember partyMember = CreatePartyMember(invitee); @@ -129,19 +126,19 @@ public PlayerPartyMember Invite(GameClient invitee, GameClient host) if (!_partyManager.InviteParty(invitee, host, this)) { Logger.Error(invitee, $"[PartyId:{Id}][Invite] could not be invited"); - return null; + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); } int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { Logger.Error(invitee, $"[PartyId:{Id}][Invite] no free slot available"); - return null; + return ErrorRes.Error(ErrorCode.ERROR_CODE_PARTY_IS_NOT_LEADER); } Logger.Info(host, $"[PartyId:{Id}][Invite] invited {invitee.Identity}"); partyMember.JoinState = JoinState.Prepare; - return partyMember; + return ErrorRes.Success(partyMember); } } @@ -149,6 +146,7 @@ public ErrorRes RefuseInvite(GameClient client) { if (client == null) { + Logger.Error($"[PartyId:{Id}][RefuseInvite] (client == null)"); return ErrorRes.Fail; } @@ -174,16 +172,11 @@ public ErrorRes RefuseInvite(GameClient client) } } - - /// - /// Player has accepted the invitation and will progress to joining the party. - /// - /// - /// PlayerPartyMember on joining, or null on failure public ErrorRes Accept(GameClient client) { if (client == null) { + Logger.Error($"[PartyId:{Id}][Accept] (client == null)"); return ErrorRes.Fail; } @@ -221,11 +214,12 @@ public ErrorRes Accept(GameClient client) } } - public PlayerPartyMember Join(GameClient client) + public ErrorRes Join(GameClient client) { if (client == null) { - return null; + Logger.Error($"[PartyId:{Id}][Join(GameClient)] (client == null)"); + return ErrorRes.Fail; } lock (_lock) @@ -234,7 +228,7 @@ public PlayerPartyMember Join(GameClient client) if (partyMember == null) { Logger.Error(client, $"[PartyId:{Id}][Join(GameClient)] has no slot"); - return null; + return ErrorRes.Fail; } client.Party = this; @@ -248,7 +242,7 @@ public PlayerPartyMember Join(GameClient client) partyMember.JoinState = JoinState.On; Logger.Info(client, $"[PartyId:{Id}][Join(GameClient)] joined"); - return partyMember; + return ErrorRes.Success(partyMember); } } @@ -256,6 +250,7 @@ public PawnPartyMember Join(Pawn pawn) { if (pawn == null) { + Logger.Error($"[PartyId:{Id}][Join(Pawn)] (pawn == null)"); return null; } @@ -265,13 +260,13 @@ public PawnPartyMember Join(Pawn pawn) int slotIndex = TakeSlot(partyMember); if (slotIndex <= InvalidSlotIndex) { - Logger.Error($"[PartyId:{Id}][Join(PawnId:{pawn.Id})] no slot available"); + Logger.Error($"[PartyId:{Id}][Join(Pawn)Id:{pawn.Id}] no slot available"); return null; } partyMember.JoinState = JoinState.On; - Logger.Info($"[PartyId:{Id}][Join(PawnId:{pawn.Id})] joined"); + Logger.Info($"[PartyId:{Id}][Join(Pawn)Id:{pawn.Id}] joined"); return partyMember; } } @@ -280,6 +275,7 @@ public void Leave(GameClient client) { if (client == null) { + Logger.Error($"[PartyId:{Id}][Leave(GameClient)] (client == null)"); return; } @@ -326,6 +322,7 @@ public ErrorRes Kick(GameClient client, byte memberIndex) { if (client == null) { + Logger.Error($"[PartyId:{Id}][Kick] (client == null)"); return ErrorRes.Fail; } @@ -357,7 +354,7 @@ public ErrorRes Kick(GameClient client, byte memberIndex) Logger.Info(client, $"[PartyId:{Id}][Kick] kicked player {player.Client.Identity}"); return ErrorRes.Success(member); } - + if (member is PawnPartyMember pawn) { if (pawn.Character.Id != changeRequester.Character.Id) @@ -386,6 +383,7 @@ public ErrorRes ChangeLeader(GameClient changeRequester, uint { if (changeRequester == null) { + Logger.Error($"[PartyId:{Id}][ChangeLeader] (changeRequester == null)"); return ErrorRes.Fail; } @@ -423,6 +421,9 @@ public ErrorRes ChangeLeader(GameClient changeRequester, uint newLeader.IsLeader = true; _leader = newLeader; + + Logger.Info(changeRequester, + $"[PartyId:{Id}][ChangeLeader] leader changed to {newLeader.Client.Identity}"); return ErrorRes.Success(newLeader); } } @@ -431,6 +432,7 @@ public ErrorRes> Breakup(GameClient client) { if (client == null) { + Logger.Error($"[PartyId:{Id}][Breakup] (client == null)"); return ErrorRes>.Fail; } @@ -547,6 +549,7 @@ private int TakeSlot(PartyMember partyMember) { if (partyMember == null) { + Logger.Error($"[PartyId:{Id}][TakeSlot] (partyMember == null)"); return InvalidSlotIndex; } From af20447416a1aa43280815647e793bd450e74c96 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 10 Oct 2022 19:42:49 +0200 Subject: [PATCH 69/72] Hide lantern/head armor from menus --- Arrowgene.Ddon.GameServer/DdonGameServer.cs | 5 +++ ...quipUpdateHideCharacterHeadArmorHandler.cs | 40 +++++++++++++++++++ .../EquipUpdateHideCharacterLanternHandler.cs | 40 +++++++++++++++++++ .../EquipUpdateHidePawnHeadArmorHandler.cs | 40 +++++++++++++++++++ .../EquipUpdateHidePawnLanternHandler.cs | 40 +++++++++++++++++++ .../Entity/EntitySerializer.cs | 9 +++++ ...C2SEquipUpdateHideCharacterHeadArmorReq.cs | 27 +++++++++++++ .../C2SEquipUpdateHideCharacterLanternReq.cs | 27 +++++++++++++ .../C2SEquipUpdateHidePawnHeadArmorReq.cs | 27 +++++++++++++ .../C2SEquipUpdateHidePawnLanternReq.cs | 27 +++++++++++++ .../S2CEquipUpdateEquipHideNtc.cs | 39 ++++++++++++++++++ ...S2CEquipUpdateHideCharacterHeadArmorRes.cs | 29 ++++++++++++++ .../S2CEquipUpdateHideCharacterLanternRes.cs | 29 ++++++++++++++ .../S2CEquipUpdateHidePawnHeadArmorRes.cs | 29 ++++++++++++++ .../S2CEquipUpdateHidePawnLanternRes.cs | 29 ++++++++++++++ Arrowgene.Ddon.Shared/Network/PacketId.cs | 4 +- 16 files changed, 439 insertions(+), 2 deletions(-) create mode 100644 Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterHeadArmorHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterLanternHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnHeadArmorHandler.cs create mode 100644 Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnLanternHandler.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterHeadArmorReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterLanternReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnHeadArmorReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnLanternReq.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateEquipHideNtc.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterHeadArmorRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterLanternRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnHeadArmorRes.cs create mode 100644 Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnLanternRes.cs diff --git a/Arrowgene.Ddon.GameServer/DdonGameServer.cs b/Arrowgene.Ddon.GameServer/DdonGameServer.cs index 0a7c42228..9715c991f 100644 --- a/Arrowgene.Ddon.GameServer/DdonGameServer.cs +++ b/Arrowgene.Ddon.GameServer/DdonGameServer.cs @@ -182,7 +182,12 @@ private void LoadPacketHandler() AddHandler(new ContextGetSetContextHandler(this)); AddHandler(new ContextSetContextHandler(this)); AddHandler(new DailyMissionListGetHandler(this)); + AddHandler(new EquipGetCharacterEquipListHandler(this)); + AddHandler(new EquipUpdateHideCharacterHeadArmorHandler(this)); + AddHandler(new EquipUpdateHideCharacterLanternHandler(this)); + AddHandler(new EquipUpdateHidePawnHeadArmorHandler(this)); + AddHandler(new EquipUpdateHidePawnLanternHandler(this)); AddHandler(new FriendGetFriendListHandler(this)); AddHandler(new FriendGetRecentCharacterListHandler(this)); diff --git a/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterHeadArmorHandler.cs b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterHeadArmorHandler.cs new file mode 100644 index 000000000..43765feca --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterHeadArmorHandler.cs @@ -0,0 +1,40 @@ +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class EquipUpdateHideCharacterHeadArmorHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(EquipUpdateHideCharacterHeadArmorHandler)); + + public EquipUpdateHideCharacterHeadArmorHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + client.Character.HideEquipHead = packet.Structure.Hide; + Database.UpdateCharacterBaseInfo(client.Character); + client.Send(new S2CEquipUpdateHideCharacterHeadArmorRes() + { + Hide = packet.Structure.Hide + }); + + S2CEquipUpdateEquipHideNtc ntc = new S2CEquipUpdateEquipHideNtc() + { + CharacterId = client.Character.Id, + HideHead = client.Character.HideEquipHead, + HideLantern = client.Character.HideEquipLantern, + HidePawnHead = client.Character.HideEquipHeadPawn, + HidePawnLantern = client.Character.HideEquipLanternPawn + }; + foreach(Client otherClient in Server.ClientLookup.GetAll()) + { + otherClient.Send(ntc); + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterLanternHandler.cs b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterLanternHandler.cs new file mode 100644 index 000000000..490d71f3a --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHideCharacterLanternHandler.cs @@ -0,0 +1,40 @@ +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class EquipUpdateHideCharacterLanternHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(EquipUpdateHideCharacterLanternHandler)); + + public EquipUpdateHideCharacterLanternHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + client.Character.HideEquipLantern = packet.Structure.Hide; + Database.UpdateCharacterBaseInfo(client.Character); + client.Send(new S2CEquipUpdateHideCharacterLanternRes() + { + Hide = packet.Structure.Hide + }); + + S2CEquipUpdateEquipHideNtc ntc = new S2CEquipUpdateEquipHideNtc() + { + CharacterId = client.Character.Id, + HideHead = client.Character.HideEquipHead, + HideLantern = client.Character.HideEquipLantern, + HidePawnHead = client.Character.HideEquipHeadPawn, + HidePawnLantern = client.Character.HideEquipLanternPawn + }; + foreach(Client otherClient in Server.ClientLookup.GetAll()) + { + otherClient.Send(ntc); + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnHeadArmorHandler.cs b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnHeadArmorHandler.cs new file mode 100644 index 000000000..d21df17c1 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnHeadArmorHandler.cs @@ -0,0 +1,40 @@ +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class EquipUpdateHidePawnHeadArmorHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(EquipUpdateHidePawnHeadArmorHandler)); + + public EquipUpdateHidePawnHeadArmorHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + client.Character.HideEquipHeadPawn = packet.Structure.Hide; + Database.UpdateCharacterBaseInfo(client.Character); + client.Send(new S2CEquipUpdateHidePawnHeadArmorRes() + { + Hide = packet.Structure.Hide + }); + + S2CEquipUpdateEquipHideNtc ntc = new S2CEquipUpdateEquipHideNtc() + { + CharacterId = client.Character.Id, + HideHead = client.Character.HideEquipHead, + HideLantern = client.Character.HideEquipLantern, + HidePawnHead = client.Character.HideEquipHeadPawn, + HidePawnLantern = client.Character.HideEquipLanternPawn + }; + foreach(Client otherClient in Server.ClientLookup.GetAll()) + { + otherClient.Send(ntc); + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnLanternHandler.cs b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnLanternHandler.cs new file mode 100644 index 000000000..d029acde1 --- /dev/null +++ b/Arrowgene.Ddon.GameServer/Handler/EquipUpdateHidePawnLanternHandler.cs @@ -0,0 +1,40 @@ +using Arrowgene.Ddon.Server; +using Arrowgene.Ddon.Server.Network; +using Arrowgene.Ddon.Shared.Entity.PacketStructure; +using Arrowgene.Ddon.Shared.Network; +using Arrowgene.Logging; + +namespace Arrowgene.Ddon.GameServer.Handler +{ + public class EquipUpdateHidePawnLanternHandler : StructurePacketHandler + { + private static readonly ServerLogger Logger = LogProvider.Logger(typeof(EquipUpdateHidePawnLanternHandler)); + + public EquipUpdateHidePawnLanternHandler(DdonGameServer server) : base(server) + { + } + + public override void Handle(GameClient client, StructurePacket packet) + { + client.Character.HideEquipLanternPawn= packet.Structure.Hide; + Database.UpdateCharacterBaseInfo(client.Character); + client.Send(new S2CEquipUpdateHidePawnLanternRes() + { + Hide = packet.Structure.Hide + }); + + S2CEquipUpdateEquipHideNtc ntc = new S2CEquipUpdateEquipHideNtc() + { + CharacterId = client.Character.Id, + HideHead = client.Character.HideEquipHead, + HideLantern = client.Character.HideEquipLantern, + HidePawnHead = client.Character.HideEquipHeadPawn, + HidePawnLantern = client.Character.HideEquipLanternPawn + }; + foreach(Client otherClient in Server.ClientLookup.GetAll()) + { + otherClient.Send(ntc); + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 94fcb7e50..64708c1a0 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -178,6 +178,10 @@ static EntitySerializer() Create(new C2SContextSetContextNtc.Serializer()); Create(new C2SEquipGetCharacterEquipListReq.Serializer()); + Create(new C2SEquipUpdateHideCharacterHeadArmorReq.Serializer()); + Create(new C2SEquipUpdateHideCharacterLanternReq.Serializer()); + Create(new C2SEquipUpdateHidePawnHeadArmorReq.Serializer()); + Create(new C2SEquipUpdateHidePawnLanternReq.Serializer()); Create(new C2SGpGetValidChatComGroupReq.Serializer()); Create(new C2SInnGetStayPriceReq.Serializer()); Create(new C2SInnStayInnReq.Serializer()); @@ -310,6 +314,11 @@ static EntitySerializer() Create(new S2CContextMasterInfoNtc.Serializer()); Create(new S2CContextSetContextBaseNtc.Serializer()); Create(new S2CEquipGetCharacterEquipListRes.Serializer()); + Create(new S2CEquipUpdateEquipHideNtc.Serializer()); + Create(new S2CEquipUpdateHideCharacterHeadArmorRes.Serializer()); + Create(new S2CEquipUpdateHideCharacterLanternRes.Serializer()); + Create(new S2CEquipUpdateHidePawnHeadArmorRes.Serializer()); + Create(new S2CEquipUpdateHidePawnLanternRes.Serializer()); Create(new S2CGpGetValidChatComGroupRes.Serializer()); Create(new S2CInnGetStayPriceRes.Serializer()); Create(new S2CInnStayInnRes.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterHeadArmorReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterHeadArmorReq.cs new file mode 100644 index 000000000..1ab1971be --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterHeadArmorReq.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SEquipUpdateHideCharacterHeadArmorReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_EQUIP_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_REQ; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SEquipUpdateHideCharacterHeadArmorReq obj) + { + WriteBool(buffer, obj.Hide); + } + + public override C2SEquipUpdateHideCharacterHeadArmorReq Read(IBuffer buffer) + { + C2SEquipUpdateHideCharacterHeadArmorReq obj = new C2SEquipUpdateHideCharacterHeadArmorReq(); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterLanternReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterLanternReq.cs new file mode 100644 index 000000000..2020f7644 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHideCharacterLanternReq.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SEquipUpdateHideCharacterLanternReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_EQUIP_UPDATE_HIDE_CHARACTER_LANTERN_REQ; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SEquipUpdateHideCharacterLanternReq obj) + { + WriteBool(buffer, obj.Hide); + } + + public override C2SEquipUpdateHideCharacterLanternReq Read(IBuffer buffer) + { + C2SEquipUpdateHideCharacterLanternReq obj = new C2SEquipUpdateHideCharacterLanternReq(); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnHeadArmorReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnHeadArmorReq.cs new file mode 100644 index 000000000..2cbe6269f --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnHeadArmorReq.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SEquipUpdateHidePawnHeadArmorReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_EQUIP_UPDATE_HIDE_PAWN_HEAD_ARMOR_REQ; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SEquipUpdateHidePawnHeadArmorReq obj) + { + WriteBool(buffer, obj.Hide); + } + + public override C2SEquipUpdateHidePawnHeadArmorReq Read(IBuffer buffer) + { + C2SEquipUpdateHidePawnHeadArmorReq obj = new C2SEquipUpdateHidePawnHeadArmorReq(); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnLanternReq.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnLanternReq.cs new file mode 100644 index 000000000..80f5ccb2f --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/C2SEquipUpdateHidePawnLanternReq.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class C2SEquipUpdateHidePawnLanternReq : IPacketStructure + { + public PacketId Id => PacketId.C2S_EQUIP_UPDATE_HIDE_PAWN_LANTERN_REQ; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, C2SEquipUpdateHidePawnLanternReq obj) + { + WriteBool(buffer, obj.Hide); + } + + public override C2SEquipUpdateHidePawnLanternReq Read(IBuffer buffer) + { + C2SEquipUpdateHidePawnLanternReq obj = new C2SEquipUpdateHidePawnLanternReq(); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateEquipHideNtc.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateEquipHideNtc.cs new file mode 100644 index 000000000..138aa8008 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateEquipHideNtc.cs @@ -0,0 +1,39 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CEquipUpdateEquipHideNtc : IPacketStructure + { + public PacketId Id => PacketId.S2C_EQUIP_UPDATE_EQUIP_HIDE_NTC; + + public uint CharacterId { get; set; } + public bool HideHead { get; set; } + public bool HideLantern { get; set; } + public bool HidePawnHead { get; set; } + public bool HidePawnLantern { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CEquipUpdateEquipHideNtc obj) + { + WriteUInt32(buffer, obj.CharacterId); + WriteBool(buffer, obj.HideHead); + WriteBool(buffer, obj.HideLantern); + WriteBool(buffer, obj.HidePawnHead); + WriteBool(buffer, obj.HidePawnLantern); + } + + public override S2CEquipUpdateEquipHideNtc Read(IBuffer buffer) + { + S2CEquipUpdateEquipHideNtc obj = new S2CEquipUpdateEquipHideNtc(); + obj.CharacterId = ReadUInt32(buffer); + obj.HideHead = ReadBool(buffer); + obj.HideLantern = ReadBool(buffer); + obj.HidePawnHead = ReadBool(buffer); + obj.HidePawnLantern = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterHeadArmorRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterHeadArmorRes.cs new file mode 100644 index 000000000..4343efd02 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterHeadArmorRes.cs @@ -0,0 +1,29 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CEquipUpdateHideCharacterHeadArmorRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_EQUIP_UPDATE_HIDE_CHARACTER_HEAD_ARMOR_RES; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CEquipUpdateHideCharacterHeadArmorRes obj) + { + WriteServerResponse(buffer, obj); + WriteBool(buffer, obj.Hide); + } + + public override S2CEquipUpdateHideCharacterHeadArmorRes Read(IBuffer buffer) + { + S2CEquipUpdateHideCharacterHeadArmorRes obj = new S2CEquipUpdateHideCharacterHeadArmorRes(); + ReadServerResponse(buffer, obj); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterLanternRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterLanternRes.cs new file mode 100644 index 000000000..02b7d2885 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHideCharacterLanternRes.cs @@ -0,0 +1,29 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CEquipUpdateHideCharacterLanternRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_EQUIP_UPDATE_HIDE_CHARACTER_LANTERN_RES; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CEquipUpdateHideCharacterLanternRes obj) + { + WriteServerResponse(buffer, obj); + WriteBool(buffer, obj.Hide); + } + + public override S2CEquipUpdateHideCharacterLanternRes Read(IBuffer buffer) + { + S2CEquipUpdateHideCharacterLanternRes obj = new S2CEquipUpdateHideCharacterLanternRes(); + ReadServerResponse(buffer, obj); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnHeadArmorRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnHeadArmorRes.cs new file mode 100644 index 000000000..59bb1ac27 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnHeadArmorRes.cs @@ -0,0 +1,29 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CEquipUpdateHidePawnHeadArmorRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_EQUIP_UPDATE_HIDE_PAWN_HEAD_ARMOR_RES; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CEquipUpdateHidePawnHeadArmorRes obj) + { + WriteServerResponse(buffer, obj); + WriteBool(buffer, obj.Hide); + } + + public override S2CEquipUpdateHidePawnHeadArmorRes Read(IBuffer buffer) + { + S2CEquipUpdateHidePawnHeadArmorRes obj = new S2CEquipUpdateHidePawnHeadArmorRes(); + ReadServerResponse(buffer, obj); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnLanternRes.cs b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnLanternRes.cs new file mode 100644 index 000000000..ce25f69e8 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/PacketStructure/S2CEquipUpdateHidePawnLanternRes.cs @@ -0,0 +1,29 @@ +using Arrowgene.Buffers; +using Arrowgene.Ddon.Shared.Network; + +namespace Arrowgene.Ddon.Shared.Entity.PacketStructure +{ + public class S2CEquipUpdateHidePawnLanternRes : ServerResponse + { + public override PacketId Id => PacketId.S2C_EQUIP_UPDATE_HIDE_PAWN_LANTERN_RES; + + public bool Hide { get; set; } + + public class Serializer : PacketEntitySerializer + { + public override void Write(IBuffer buffer, S2CEquipUpdateHidePawnLanternRes obj) + { + WriteServerResponse(buffer, obj); + WriteBool(buffer, obj.Hide); + } + + public override S2CEquipUpdateHidePawnLanternRes Read(IBuffer buffer) + { + S2CEquipUpdateHidePawnLanternRes obj = new S2CEquipUpdateHidePawnLanternRes(); + ReadServerResponse(buffer, obj); + obj.Hide = ReadBool(buffer); + return obj; + } + } + } +} \ No newline at end of file diff --git a/Arrowgene.Ddon.Shared/Network/PacketId.cs b/Arrowgene.Ddon.Shared/Network/PacketId.cs index 3bcc9f80b..4ed8ddb0d 100644 --- a/Arrowgene.Ddon.Shared/Network/PacketId.cs +++ b/Arrowgene.Ddon.Shared/Network/PacketId.cs @@ -1317,7 +1317,7 @@ private static Dictionary InitializeLoginPacketIds() public static readonly PacketId S2C_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_RES = new PacketId(29, 15, 2, "S2C_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_RES", ServerType.Game, PacketSource.Server); // ロックされているクレストリスト取得に public static readonly PacketId S2C_EQUIP_29_16_16_NTC = new PacketId(29, 16, 16, "S2C_EQUIP_29_16_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId S2C_EQUIP_29_17_16_NTC = new PacketId(29, 17, 16, "S2C_EQUIP_29_17_16_NTC", ServerType.Game, PacketSource.Server); - public static readonly PacketId S2C_EQUIP_29_18_16_NTC = new PacketId(29, 18, 16, "S2C_EQUIP_29_18_16_NTC", ServerType.Game, PacketSource.Server); + public static readonly PacketId S2C_EQUIP_UPDATE_EQUIP_HIDE_NTC = new PacketId(29, 18, 16, "S2C_EQUIP_29_18_16_NTC", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_EQUIP_29_19_1_REQ = new PacketId(29, 19, 1, "C2S_EQUIP_29_19_1_REQ", ServerType.Game, PacketSource.Client); public static readonly PacketId S2C_EQUIP_29_19_2_RES = new PacketId(29, 19, 2, "S2C_EQUIP_29_19_2_RES", ServerType.Game, PacketSource.Server); public static readonly PacketId C2S_EQUIP_29_20_1_REQ = new PacketId(29, 20, 1, "C2S_EQUIP_29_20_1_REQ", ServerType.Game, PacketSource.Client); @@ -3221,7 +3221,7 @@ private static Dictionary InitializeGamePacketIds() AddPacketIdEntry(packetIds, S2C_EQUIP_GET_CRAFT_LOCKED_ELEMENT_LIST_RES); AddPacketIdEntry(packetIds, S2C_EQUIP_29_16_16_NTC); AddPacketIdEntry(packetIds, S2C_EQUIP_29_17_16_NTC); - AddPacketIdEntry(packetIds, S2C_EQUIP_29_18_16_NTC); + AddPacketIdEntry(packetIds, S2C_EQUIP_UPDATE_EQUIP_HIDE_NTC); AddPacketIdEntry(packetIds, C2S_EQUIP_29_19_1_REQ); AddPacketIdEntry(packetIds, S2C_EQUIP_29_19_2_RES); AddPacketIdEntry(packetIds, C2S_EQUIP_29_20_1_REQ); From c43570a7fe91bd63ded49605288bc10dbb2efd3b Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 10 Oct 2022 19:45:32 +0200 Subject: [PATCH 70/72] Identified character info structures for storage and currencies --- .../CharacterDecideCharacterIdHandler.cs | 21 ++++++++++----- .../Entity/EntitySerializer.cs | 2 +- .../Entity/Structure/CDataCharacterInfo.cs | 22 +++++++-------- .../Entity/Structure/CDataWalletPoint.cs | 27 +++++++++++++++++++ .../Entity/Structure/UnknownCharacterData1.cs | 27 ------------------- Arrowgene.Ddon.Shared/Model/Character.cs | 10 +++---- 6 files changed, 58 insertions(+), 51 deletions(-) create mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/CDataWalletPoint.cs delete mode 100644 Arrowgene.Ddon.Shared/Entity/Structure/UnknownCharacterData1.cs diff --git a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs index 940dd7de9..d1d181047 100644 --- a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs @@ -23,11 +23,20 @@ public CharacterDecideCharacterIdHandler(DdonGameServer server) : base(server) public override PacketId Id => PacketId.C2S_CHARACTER_DECIDE_CHARACTER_ID_REQ; public override void Handle(GameClient client, IPacket packet) - { - S2CCharacterDecideCharacterIdRes res = EntitySerializer.Get().Read(GameDump.data_Dump_13); + { + //S2CCharacterDecideCharacterIdRes pcap = EntitySerializer.Get().Read(GameDump.data_Dump_13); + S2CCharacterDecideCharacterIdRes res = new S2CCharacterDecideCharacterIdRes(); res.CharacterId = client.Character.Id; res.CharacterInfo = new CDataCharacterInfo(client.Character); - res.CharacterInfo.UnkCharData1 = new List() + res.CharacterInfo.CharacterItemSlotInfoList = new List() + { + new CDataCharacterItemSlotInfo() + { + StorageType = 1, // Item Bag (Consumable) STORAGE_TYPE_BAG_USE + SlotMax = 20 + } + }; + res.CharacterInfo.WalletPointList = new List() { // TODO: Figure out what other currencies there are. // Pcap currencies: @@ -44,10 +53,10 @@ public override void Handle(GameClient client, IPacket packet) // 14 2 // 15 115 // 16 105 - new UnknownCharacterData1() + new CDataWalletPoint() { - u0 = 2, // RP - u1 = 42069 + Type = 2, // RP + Value = 42069 } }; client.Send(res); diff --git a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs index 64708c1a0..44ccee68f 100644 --- a/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs +++ b/Arrowgene.Ddon.Shared/Entity/EntitySerializer.cs @@ -141,12 +141,12 @@ static EntitySerializer() Create(new CDataUpdateMatchingProfileInfo.Serializer()); Create(new CDataUpdateWalletPoint.Serializer()); Create(new CDataURLInfoSerializer()); + Create(new CDataWalletPoint.Serializer()); Create(new CDataWarpPoint.Serializer()); Create(new CDataWeatherLoop.Serializer()); Create(new CDataWeatherSchedule.Serializer()); Create(new CDataStageLayoutId.Serializer()); Create(new UnkownCharacterData0Serializer()); - Create(new UnkownCharacterData1Serializer()); // Packet structure serializers Create(new C2LCreateCharacterDataReq.Serializer()); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs index fb9b40398..fea37c101 100644 --- a/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataCharacterInfo.cs @@ -23,9 +23,9 @@ public CDataCharacterInfo(Character character) CharacterEquipViewDataList = character.CharacterEquipViewDataListDictionary[character.Job]; CharacterEquipJobItemList = character.CharacterEquipJobItemListDictionary[character.Job]; JewelrySlotNum = character.JewelrySlotNum; + Unk0 = character.Unk0; CharacterItemSlotInfoList = character.CharacterItemSlotInfoList; - UnkCharData0 = character.UnkCharData0; - UnkCharData1 = character.UnkCharData1; + WalletPointList = character.WalletPointList; MyPawnSlotNum = character.MyPawnSlotNum; RentalPawnSlotNum = character.RentalPawnSlotNum; OrbStatusList = character.OrbStatusList; @@ -58,9 +58,9 @@ public CDataCharacterInfo() CharacterEquipViewDataList = new List(); CharacterEquipJobItemList = new List(); JewelrySlotNum = 0; - CharacterItemSlotInfoList = new List(); - UnkCharData0 = new List(); - UnkCharData1 = new List(); // Currencies? 1 is G, 2 is RP... + Unk0 = new List(); + CharacterItemSlotInfoList = new List(); // Slots in each Item Bag and Storage + WalletPointList = new List(); // Currencies? 1 is G, 2 is RP... MyPawnSlotNum = 0; RentalPawnSlotNum = 0; OrbStatusList = new List(); @@ -91,9 +91,9 @@ public CDataCharacterInfo() public List CharacterEquipViewDataList; public List CharacterEquipJobItemList; public byte JewelrySlotNum; + public List Unk0; public List CharacterItemSlotInfoList; - public List UnkCharData0; - public List UnkCharData1; + public List WalletPointList; public byte MyPawnSlotNum; public byte RentalPawnSlotNum; public List OrbStatusList; @@ -127,9 +127,9 @@ public override void Write(IBuffer buffer, CDataCharacterInfo obj) WriteEntityList(buffer, obj.CharacterEquipViewDataList); WriteEntityList(buffer, obj.CharacterEquipJobItemList); WriteByte(buffer, obj.JewelrySlotNum); + WriteEntityList(buffer, obj.Unk0); WriteEntityList(buffer, obj.CharacterItemSlotInfoList); - WriteEntityList(buffer, obj.UnkCharData0); - WriteEntityList(buffer, obj.UnkCharData1); + WriteEntityList(buffer, obj.WalletPointList); WriteByte(buffer, obj.MyPawnSlotNum); WriteByte(buffer, obj.RentalPawnSlotNum); WriteEntityList(buffer, obj.OrbStatusList); @@ -163,9 +163,9 @@ public override CDataCharacterInfo Read(IBuffer buffer) obj.CharacterEquipViewDataList = ReadEntityList(buffer); obj.CharacterEquipJobItemList = ReadEntityList(buffer); obj.JewelrySlotNum = ReadByte(buffer); + obj.Unk0 = ReadEntityList(buffer); obj.CharacterItemSlotInfoList = ReadEntityList(buffer); - obj.UnkCharData0 = ReadEntityList(buffer); - obj.UnkCharData1 = ReadEntityList(buffer); + obj.WalletPointList = ReadEntityList(buffer); obj.MyPawnSlotNum = ReadByte(buffer); obj.RentalPawnSlotNum = ReadByte(buffer); obj.OrbStatusList = ReadEntityList(buffer); diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/CDataWalletPoint.cs b/Arrowgene.Ddon.Shared/Entity/Structure/CDataWalletPoint.cs new file mode 100644 index 000000000..984199ec6 --- /dev/null +++ b/Arrowgene.Ddon.Shared/Entity/Structure/CDataWalletPoint.cs @@ -0,0 +1,27 @@ +using Arrowgene.Buffers; + +namespace Arrowgene.Ddon.Shared.Entity.Structure +{ + public class CDataWalletPoint + { + public byte Type; + public uint Value; + + public class Serializer : EntitySerializer + { + public override void Write(IBuffer buffer, CDataWalletPoint obj) + { + WriteByte(buffer, obj.Type); + WriteUInt32(buffer, obj.Value); + } + + public override CDataWalletPoint Read(IBuffer buffer) + { + CDataWalletPoint obj = new CDataWalletPoint(); + obj.Type = ReadByte(buffer); + obj.Value = ReadUInt32(buffer); + return obj; + } + } + } +} diff --git a/Arrowgene.Ddon.Shared/Entity/Structure/UnknownCharacterData1.cs b/Arrowgene.Ddon.Shared/Entity/Structure/UnknownCharacterData1.cs deleted file mode 100644 index 33d35fcf4..000000000 --- a/Arrowgene.Ddon.Shared/Entity/Structure/UnknownCharacterData1.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Arrowgene.Buffers; - -namespace Arrowgene.Ddon.Shared.Entity.Structure -{ - public class UnknownCharacterData1 - { - public byte u0; - public uint u1; - } - - public class UnkownCharacterData1Serializer : EntitySerializer - { - public override void Write(IBuffer buffer, UnknownCharacterData1 obj) - { - WriteByte(buffer, obj.u0); - WriteUInt32(buffer, obj.u1); - } - - public override UnknownCharacterData1 Read(IBuffer buffer) - { - UnknownCharacterData1 obj = new UnknownCharacterData1(); - obj.u0 = ReadByte(buffer); - obj.u1 = ReadUInt32(buffer); - return obj; - } - } -} diff --git a/Arrowgene.Ddon.Shared/Model/Character.cs b/Arrowgene.Ddon.Shared/Model/Character.cs index 9451c8866..aa99fb0ed 100644 --- a/Arrowgene.Ddon.Shared/Model/Character.cs +++ b/Arrowgene.Ddon.Shared/Model/Character.cs @@ -19,9 +19,9 @@ public Character() CharacterEquipDataListDictionary = new Dictionary>(); CharacterEquipViewDataListDictionary = new Dictionary>(); CharacterEquipJobItemListDictionary = new Dictionary>(); + Unk0 = new List(); CharacterItemSlotInfoList = new List(); - UnkCharData0 = new List(); - UnkCharData1 = new List(); // Currencies? 1 is G, 2 is RP... + WalletPointList = new List(); OrbStatusList = new List(); MsgSetList = new List(); ShortCutList = new List(); @@ -54,11 +54,9 @@ public CDataCharacterJobData ActiveCharacterJobData public Dictionary> CharacterEquipViewDataListDictionary; public Dictionary> CharacterEquipJobItemListDictionary; public byte JewelrySlotNum; + public List Unk0; public List CharacterItemSlotInfoList; - - // One of these is CDataWalletPoint, can't determine which. - public List UnkCharData0; - public List UnkCharData1; + public List WalletPointList; public byte MyPawnSlotNum; public byte RentalPawnSlotNum; public List OrbStatusList; From dbcfa78815d1a3d36603ebf5846ba94319fdfc7f Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 10 Oct 2022 19:51:11 +0200 Subject: [PATCH 71/72] Corrected learned abilities levels --- .../SkillGetLearnedAbilityListHandler.cs | 515 +++++++++++++++++- 1 file changed, 506 insertions(+), 9 deletions(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs index 2109acd7c..3297e9de7 100644 --- a/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/SkillGetLearnedAbilityListHandler.cs @@ -1,9 +1,9 @@ -using System; -using System.Linq; +using System.Collections.Generic; using Arrowgene.Ddon.Server; using Arrowgene.Ddon.Server.Network; using Arrowgene.Ddon.Shared.Entity.PacketStructure; using Arrowgene.Ddon.Shared.Entity.Structure; +using Arrowgene.Ddon.Shared.Model; using Arrowgene.Ddon.Shared.Network; using Arrowgene.Logging; @@ -13,6 +13,509 @@ public class SkillGetLearnedAbilityListHandler : StructurePacketHandler(typeof(SkillGetLearnedAbilityListHandler)); + public static readonly List AllAbilities = new List() { + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0xF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x10, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x19, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x17, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x18, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x16, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0xA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0xC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x11, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x13, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0xD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x15, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0xB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0xE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x14, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x128, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x129, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x12F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x131, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x130, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x132, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Fighter, AcquirementNo=0x133, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x6F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x74, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x6D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x65, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x7B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x7C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x6A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x66, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x7D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x78, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x79, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x75, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x68, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x70, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x77, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x7A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x69, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x67, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x71, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x6E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x73, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x76, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x6B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x6C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x72, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x158, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x159, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x15C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x15A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x15B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x15D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x15E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x15F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x162, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x160, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x161, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Seeker, AcquirementNo=0x163, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x1B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x22, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x2A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x1A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x1E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x24, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x21, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x32, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x30, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x31, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x2F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x1F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x1D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x23, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x27, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x2D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x29, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x20, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x2B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x1C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x2E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x26, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x25, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x28, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x2C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x134, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x135, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x137, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x136, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x138, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x139, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x13A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x13B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x13D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x13C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x13E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Hunter, AcquirementNo=0x13F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x3E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x43, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x39, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x34, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x3F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x44, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x3A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x40, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x45, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x4B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x49, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x4A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x48, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x33, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x3D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x41, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x42, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x37, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x38, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x46, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x47, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x35, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x3C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x36, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x3B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x140, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x141, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x143, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x142, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x144, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x145, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x146, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x147, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x149, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x148, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x14A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Priest, AcquirementNo=0x14B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x52, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x55, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x4F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x51, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x59, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x5D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x63, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x54, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x57, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x56, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x58, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x4D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x50, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x5F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x60, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x61, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x5C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x4C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x53, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x5A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x5E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x62, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x5B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x4E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x64, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x14C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x14D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x150, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x14E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x14F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x151, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x152, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x153, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x156, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x154, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x155, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ShieldSage, AcquirementNo=0x157, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x7E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x8E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x89, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x81, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x82, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x83, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x84, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x92, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x94, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x91, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x93, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x7F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x80, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x86, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x8A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x8F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x95, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x85, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x88, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x8C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x90, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x8D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x87, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x8B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x96, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x164, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x165, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x16B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x166, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x168, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x169, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x167, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x16A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x16E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x16C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x16D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Sorcerer, AcquirementNo=0x16F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xBF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xBC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xBD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xBB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xBA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC5, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xBE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xB3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0xC6, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x17C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x17D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x180, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x17E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x17F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x181, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x182, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x183, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x186, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x184, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x185, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Warrior, AcquirementNo=0x187, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x9F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x9A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xAD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xAF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xAC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xAE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x9C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xAA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xAB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x97, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x99, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x9D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x98, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0xA2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x9B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x9E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x170, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x171, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x173, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x172, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x174, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x175, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x176, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x177, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x179, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x178, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x17A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.ElementArcher, AcquirementNo=0x17B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xCD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xCE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xDA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xCB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xDB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xCC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xDE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xCF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xDF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xCA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xDC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xC9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xE0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xD7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xDD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0xE1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x188, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x189, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x18C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x18A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x18B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x18D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x18E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x18F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x192, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x190, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x191, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.Alchemist, AcquirementNo=0x193, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x195, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x19F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x196, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x194, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x19B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x19D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x198, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x199, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x19E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x19A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1AB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x19C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1AA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x197, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1AC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1AD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1AE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1AF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1A3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.SpiritLancer, AcquirementNo=0x1B8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1DE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1DF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1D7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1EA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1DD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1DB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1E7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1DA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1ED, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1EE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1EF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=JobId.HighScepter, AcquirementNo=0x1F7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xEC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE4, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xEB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xED, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF1, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF4, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF2, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE2, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xE3, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xEE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xEF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xEA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF8, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xF9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xFA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xFB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xFC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xFD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xFE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0xFF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x100, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x0101, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x0102, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x0103, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x0104, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x15, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x16, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x0107, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x18, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x19, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x110, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x111, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x112, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x113, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x114, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x115, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x116, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x117, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x118, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x119, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x11A, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x11B, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x11C, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x11D, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x11E, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x11F, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x120, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x121, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x122, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x123, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x124, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x125, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x126, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x127, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1B9, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1BA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1BB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1BC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1BD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1BE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1BF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C0, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C1, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C2, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C3, AcquirementLv=2}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C4, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C5, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C6, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C7, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C8, AcquirementLv=2}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1C9, AcquirementLv=1}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1CA, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1CB, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1CC, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1CD, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1CE, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1CF, AcquirementLv=6}, + new CDataLearnedSetAcquirementParam() {Type=1, Job=0, AcquirementNo=0x1D0, AcquirementLv=6}, + }; + public SkillGetLearnedAbilityListHandler(DdonGameServer server) : base(server) { } @@ -21,13 +524,7 @@ public override void Handle(GameClient client, StructurePacket new CDataLearnedSetAcquirementParam() { - Job = ability.Job, - Type = ability.Type, - AcquirementNo = ability.AbilityNo, - AcquirementLv = 6 - }).ToList() + SetAcquierementParam = AllAbilities }); } } From fd473a9efa652e42012a300ac23277382a5f6861 Mon Sep 17 00:00:00 2001 From: alborrajo Date: Mon, 10 Oct 2022 19:52:32 +0200 Subject: [PATCH 72/72] Added back tutorial completion data from pcaps --- .../Handler/CharacterDecideCharacterIdHandler.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs index d1d181047..01b82c536 100644 --- a/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs +++ b/Arrowgene.Ddon.GameServer/Handler/CharacterDecideCharacterIdHandler.cs @@ -24,7 +24,7 @@ public CharacterDecideCharacterIdHandler(DdonGameServer server) : base(server) public override void Handle(GameClient client, IPacket packet) { - //S2CCharacterDecideCharacterIdRes pcap = EntitySerializer.Get().Read(GameDump.data_Dump_13); + S2CCharacterDecideCharacterIdRes pcap = EntitySerializer.Get().Read(GameDump.data_Dump_13); S2CCharacterDecideCharacterIdRes res = new S2CCharacterDecideCharacterIdRes(); res.CharacterId = client.Character.Id; res.CharacterInfo = new CDataCharacterInfo(client.Character); @@ -59,6 +59,8 @@ public override void Handle(GameClient client, IPacket packet) Value = 42069 } }; + res.Unk0 = pcap.Unk0; // Commenting this makes tons of tutorials pop up + client.Send(res); // Unlocks menu options such as inventory, warping, etc.